我正在构建一个基于 MPI 的 C++ 库。我想知道如何在单个进程中出现错误后正确终止应用程序(即所有进程)。假设我们有一个类似的函数:
void SomeFunction()
{
{do stuff here...}
if (error)
{
{MPI_Calls?}
}
}
实际上,所有进程将大约在同一时间调用此函数,但 if
分支通常被称为单个进程。应进行哪些 MPI 调用才能与其他进程通信,其中一个进程出现错误并且应终止应用程序?可以将其封装在独立的 Error
类中吗?
最佳答案
您应该使用MPI_Abort
为了那个原因。它告诉所有进程停止运行;它相当于 C 语言中 MPI 的 exit
命令。
关于c++ - 单个进程出错后如何正确退出 MPI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973248/