MPI_Abort() 与 exit()

apa*_*ana 3 c mpi abort

有什么充分的理由选择

MPI_Abort(MPI_COMM_WORLD, MY_ERROR_CODE);
Run Code Online (Sandbox Code Playgroud)

exit(MY_ERROR_CODE);
Run Code Online (Sandbox Code Playgroud)

在用 C 编写的基于 MPI 的并行代码中?到目前为止我从未使用过前者。

R..*_*R.. 5

阅读该函数的文档MPI_Aborthttps://www.open-mpi.org/doc/v2.0/man3/MPI_Abort.3.php。该exit函数只是终止调用进程。MPI_Abort另一方面

尽最大努力中止通讯组中的所有任务

不仅仅是调用过程。

  • @Arham:我的猜测是,这取决于特定的 MPI 架构/拓扑,而不是 API 可以保证发生的事情 - 它需要一种方法来查看一个进程的死亡。 (4认同)