用MPI停止的正确方法

问题描述:

我正在使用MPI,并且在某些时候想要使用STOP(或另一种方法)来退出带有错误消息的程序。用MPI停止的正确方法

现在,我在做这样的事情:

STOP 'Error' 

但我有一种感觉,我做错了什么。我是否需要先调用MPI_FINALIZE?还有什么可以做的吗?

在灾难性的错误情况下,通常退出的方式是call MPI_Abort(MPI_COMM_WORLD, errcode, ierr)。在大多数实现中,这会杀死所有任务。在不那么激烈的情况下,你可以确保所有的任务都知道这种情况,然后让他们全都用MPI_Finalize更优雅地激动。

+0

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

MPI_Abort看看:

MPI_ABORT (COMM,ERRORCODE)的行为,通讯等则MPI_COMM_WORLD, 是实现相关的。另一方面,调用 MPI_ABORT(MPI_COMM_WORLD,errorcode)应始终导致MPI_COMM_WORLD组中的所有 进程中止