mpi4py 查明分段错误期间的错误排名
mpi4py pinpointing the erroneous rank during segmentation fault
我的问题与任何具体代码无关。相反,它是通用的。我目前 运行 在 Python 中使用 MPI 并行化代码,我偶尔会遇到分段错误。每当发生段错误时,我都会收到一条错误消息(如下所示)并且代码退出 -
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 173577 RUNNING AT whatever_node
= EXIT CODE: 139
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
我的问题是 - 如何查明导致此错误的等级?退出消息仅提及 PID。我可以用它来找出错误的排名吗?
PS : 上述代码不是我自己的 - 我只是 运行 它并报告错误。
或许您可以在您的代码中添加一个像这样的简单打印:
import os
print("Rank %d on %s, Process PID for worker = %d" %(MPI.COMM_WORLD.Get_rank(),MPI.Get_processor_name(),os.getpid()))
我的问题与任何具体代码无关。相反,它是通用的。我目前 运行 在 Python 中使用 MPI 并行化代码,我偶尔会遇到分段错误。每当发生段错误时,我都会收到一条错误消息(如下所示)并且代码退出 -
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 173577 RUNNING AT whatever_node
= EXIT CODE: 139
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
我的问题是 - 如何查明导致此错误的等级?退出消息仅提及 PID。我可以用它来找出错误的排名吗?
PS : 上述代码不是我自己的 - 我只是 运行 它并报告错误。
或许您可以在您的代码中添加一个像这样的简单打印:
import os
print("Rank %d on %s, Process PID for worker = %d" %(MPI.COMM_WORLD.Get_rank(),MPI.Get_processor_name(),os.getpid()))