无法发送超过一定长度的MPI消息

时间:2015-11-11 05:33:20

标签: python python-2.7 mpi openmpi mpi4py

我正在使用Python .7.10在Ubuntu 14.04.3系统上运行针对OpenMPI 1.10.1构建的mpi4py 2.0.0。出于某种原因,尝试发送大于64 Kb的消息会导致send / recv挂起;但是,我能够使用完全相同的软件和OpenMPI / mpi4py软件包在其他Ubuntu 14系统上成功发送大量消息。我也能够在使用OpenMPI的C程序中成功发送大量消息。这表明环境中的某些东西会对mpi4py执行的MPI通信产生负面影响。关于什么可能干扰mpi4py的任何想法?

以下是在一个系统上工作的代码示例,当N设置为65537或更高时,该代码会挂起另一个系统。

one

我还尝试使用明确指定的固定长度缓冲区替换带有非pickle Send / Recv的pickle send / recv,但这对问题没有任何影响。

奇怪的是,这个问题似乎并没有影响使用相同通信器的对等进程之间的传输。

1 个答案:

答案 0 :(得分:1)

问题解决了:OpenMPI因为Docker创建的虚拟网络接口的存在而感到困惑。删除界面使得古怪消失了,尽管人们也可以将OpenMPI告诉ignore the interface