有没有办法一起使用mpi4py.abort()
和python raise RuntimeError()
(或任何其他类型的错误)?也许
errstr = 'ARRRGH!!!'
raise RuntimeError(errstr)
mpicomm.abort()
或
mpicomm.abort()
errstr = 'ARRRGH!!!'
raise RuntimeError(errstr)
或其他一些变种?
答案 0 :(得分:1)
鉴于MPI_Abort
基本上终止了应用程序中的所有进程,因此无法将其与python中的常规异常处理相结合。请注意,允许MPI实现中止所有进程,而不仅仅是mpicomm
中的进程。
唯一有用的想法是,在某些本地python代码中引发RuntimeError
,并在异常处理程序中调用mpicomm.abort()
。