1

我想获取从 mpirun/mpiexec 工具开始的 mpi 应用程序的进程 ID。

例如,我使用假设 8 个进程运行我的代码,并希望在执行开始时获取所有这 8 个进程的进程 ID,以提供给另一个工具作为输入。

这样做的正确方法是什么?

4

1 回答 1

4

我不相信有任何 MPI 库例程会返回运行 MPI 进程的 o/s 进程的 pid。绝对准确地说,我不认为 MPI 标准要求 MPI 进程和 o/s 进程之间存在一对一的映射,也不需要任何其他映射基数,尽管我认为我从未使用过流程的不同视图之间没有一对一映射的 MPI 实现。

getpid除此之外,如果你在 Linux 机器上,为什么不简单地使用呢?每个 MPI 进程都应该有自己的 pid。我想有一个 Windows 系统调用可以做同样的事情,但我对 Windows 不太了解。

于 2013-01-28T22:26:26.980 回答