2010-12-16 226 views
3

我正在使用MPI,並且在某些時候想要使用STOP(或另一種方法)來退出帶有錯誤消息的程序。用MPI停止的正確方法

現在,我在做這樣的事情:

STOP 'Error' 

但我有一種感覺,我做錯了什麼。我是否需要先調用MPI_FINALIZE?還有什麼可以做的嗎?

回答

7

在災難性的錯誤情況下,通常退出的方式是call MPI_Abort(MPI_COMM_WORLD, errcode, ierr)。在大多數實現中,這會殺死所有任務。在不那麼激烈的情況下,你可以確保所有的任務都知道這種情況,然後讓他們全都用MPI_Finalize更優雅地激動。

+0

謝謝,正是我所需要的 – 2010-12-17 10:56:19

4

MPI_Abort看看:

MPI_ABORT (COMM,ERRORCODE)的行爲,通訊等則MPI_COMM_WORLD, 是實現相關的。另一方面,調用 MPI_ABORT(MPI_COMM_WORLD,errorcode)應始終導致MPI_COMM_WORLD組中的所有 進程中止