生成一段时间后,mpi4py出错,如何调试

时间:2015-09-16 07:46:22

标签: python mpi spawn mpi4py

这类似于互联网上的一些问题,但这段代码似乎工作了一段时间而不是立即返回错误,这对我来说可能不仅仅是主机文件错误?

我正在运行一个代码,该代码产生多个MPI进程,然后每个进程创建一个循环,在循环中,他们通过bcast和scatter发送一些数据,然后从这些进程收集数据。这将运行算法并保存数据。然后它与生成的comm断开连接,并在下一个循环中创建另一组spawns。这可以工作几分钟,然后在大约300个文件后,它会吐出来:

[T7810:10898] [[50329,0],0] ORTE_ERROR_LOG: Not found in file ../../../../../orte/mca/plm/base/plm_base_launch_support.c at line 758
--------------------------------------------------------------------------
mpirun was unable to start the specified application as it encountered an error.
More information may be available above.

我在本地计算机(单个节点)上测试它,因此最终部署将有多个节点,每个节点在该节点内产生自己的mpi进程。我试图弄清楚这是否是在本地计算机上测试多个节点的问题,并且在HPC上工作正常或者是一个更严重的错误。

我该如何调试?有没有办法打印出MPI尝试做什么,或者监控MPI,比如详细模式?

1 个答案:

答案 0 :(得分:0)

由于MPI4PY非常接近MPI(逻辑上,如果不是代码行),调试它的一种方法是编写程序的C版本并查看问题是否仍然存在。当您向OpenMPI报告此错误时,他们无论如何都会想要一个小的测试用例。