Тупик 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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