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

2024-05-20 00:38:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我正在运行一个代码,生成多个MPI进程,然后每个进程创建一个循环,在这个循环中,它们使用bcast和scatter发送一些数据,然后从这些进程收集数据。这将运行算法并保存数据。然后它断开与派生命令的连接,并在下一个循环中创建另一组派生。这可以工作几分钟,然后在大约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,例如详细模式?你知道吗


Tags: 文件数据代码命令算法机器base节点
1条回答
网友
1楼 · 发布于 2024-05-20 00:38:07

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

相关问题 更多 >