0

我正在尝试在 boost.mpi 中为 python 使用 mpi.gather,如下所示。

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

当我使用以下命令运行程序时,

mpiexec -n 3 python mpi_test.py

输出是

2
1
0

(数字的顺序可能会改变。)

但是,当我将valuempi.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

4

0 回答 0