2017-05-15 54 views
0

有沒有辦法將mpi4py.abort()和python raise RuntimeError()(或任何其他類型的錯誤)一起使用?也許mpi4py:abort()並引發RuntimeError()

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

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

或一些其他的變種?

回答

1

鑑於MPI_Abort基本上終止了應用程序中的所有進程,因此無法將此與Python中的常規異常處理結合使用。請注意,MPI實現可以中止所有進程,而不僅僅是mpicomm中的進程。

唯一能想到的是,它在某些本地python代碼中引發RuntimeError,並在異常處理程序中調用mpicomm.abort()