c++ - 单个进程出错后如何正确退出 MPI 应用程序

标签 c++ error-handling mpi

我正在构建一个基于 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/

相关文章:

c++ - 如何有效应对需要所有权的临时 helper ?

error-handling - AS400- MOVEA无法编译,无法将十进制数据结构移动到十进制数组

c - 如何运行这个编译好的开放MPI程序(C)?

Python:并行 numpy memmap

使用非类型模板参数的 C++ 优化

c++ - 使用 sc create 启动时 Windows 程序不运行

c++ - opencv中的跳跃视频处理

haskell - GHC 可以警告使用危险的非全功能吗?

python - Python多个问题限制为int

c - ld : undefined reference to symbol 'log2@@GLIBC_2.2.5'