Тупик MPI с коллективными функциямиC++

Программы на C++. Форум разработчиков
Anonymous
Тупик MPI с коллективными функциями

Сообщение Anonymous »

Я пишу программу на C++ с использованием библиотеки MPI. Возникает взаимоблокировка, работает только один узел! Я не использую коллективные операции отправки или получения, а только две коллективные функции(MPI_Allreduce и MPI_Bcast).
Если какой-то узел ожидает от другого узла отправки или получения чего-либо, я на самом деле не понимаю, в чем причина этой тупиковой ситуации.

void ParaStochSimulator::first_reacsimulator() {
SimulateSingleRun();
}

double ParaStochSimulator::deterMinTau() {
//calcualte minimum tau for this process
l_nLocalMinTau = calc_tau(); //min tau for each node
MPI_Allreduce(&l_nLocalMinTau, &l_nGlobalMinTau, 1, MPI_DOUBLE, MPI_MIN, MPI_COMM_WORLD);
//min tau for all nodes
//check if I have the min value
if (l_nLocalMinTau

Подробнее здесь: https://stackoverflow.com/questions/438 ... -functions

Вернуться в «C++»