我正在建立基于MPI的C++库。我想知道如何在单个进程中出现错误后正确终止应用程序(即所有进程)。假设我们有一个类似的功能:
void SomeFunction()
{
{do stuff here...}
if (error)
{
{MPI_Calls?}
}
}
实际上,所有进程将在大约同一时间调用此函数,但是
if
-branch通常将称为单个进程。应该进行什么MPI调用才能与其他进程进行通信,以使其中一个进程出现错误并且应终止应用程序?可以将其封装在独立的Error
类中吗? 最佳答案
您应该为此使用 MPI_Abort
。它告诉所有进程停止运行;它等效于C中MPI的exit
命令。