mpi4py: abort() 和 raise RuntimeError()

mpi4py: abort() and raise RuntimeError()

有没有办法同时使用mpi4py.abort()和pythonraise RuntimeError()(或任何其他类型的错误)?也许

errstr = 'ARRRGH!!!'
raise RuntimeError(errstr)
mpicomm.abort()

mpicomm.abort()
errstr = 'ARRRGH!!!'
raise RuntimeError(errstr)

或其他变体?

鉴于 MPI_Abort 基本上终止了应用程序中的所有进程,因此无法将其与 python 中的常规异常处理相结合。请注意,允许 MPI 实现中止所有进程,而不仅仅是 mpicomm.

中的进程

唯一的想法是在某些本地 python 代码中引发 RuntimeError,并在异常处理程序中调用 mpicomm.abort()