Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想获取从 mpirun/mpiexec 工具开始的 mpi 应用程序的进程 ID。
例如,我使用假设 8 个进程运行我的代码,并希望在执行开始时获取所有这 8 个进程的进程 ID,以提供给另一个工具作为输入。
这样做的正确方法是什么?
我不相信有任何 MPI 库例程会返回运行 MPI 进程的 o/s 进程的 pid。绝对准确地说,我不认为 MPI 标准要求 MPI 进程和 o/s 进程之间存在一对一的映射,也不需要任何其他映射基数,尽管我认为我从未使用过流程的不同视图之间没有一对一映射的 MPI 实现。
getpid除此之外,如果你在 Linux 机器上,为什么不简单地使用呢?每个 MPI 进程都应该有自己的 pid。我想有一个 Windows 系统调用可以做同样的事情,但我对 Windows 不太了解。
getpid