mpi.gather не работает для boost.mpi для python

Я пытаюсь использовать mpi.gather в boost.mpi для Python, как показано ниже.

import mpi
print(mpi.rank)
mpi.gather(value=True, root=0)

Когда я запускаю программу с помощью следующей команды,

mpiexec -n 3 python mpi_test.py

выход

2
1
0

(Порядок номеров может измениться.)

Тем не менее, когда я установил value аргумент в mpi.gather к чему-то кроме логического типа, он застревает. У вас есть представление о том, почему это происходит?

Я использую mpich2(версия 3.0.4), boost 1.61.0 и python 3.5.1. Заранее спасибо.

ОБНОВЛЕНИЕ: код, который не работает, как показано ниже:

import mpi
print(mpi.rank)
mpi.gather(value='!', root=0)

Я запустил вышеуказанную программу с mpirun -n 3 python mpi_test.pyи получил следующий результат (и снова, порядок номеров может быть другим),

2
1

Программа также должна вывести 0, но она застряла. Я пробовал использовать несколько процессов, но он всегда застревает, а корневой ранг остается без печати.

Кажется, что программа заканчивается только тогда, когда value установлен в False или же True,

0 ответов

Другие вопросы по тегам