如何从 MPI 生成进程获取状态?

发布于 2024-12-10 13:20:02 字数 206 浏览 0 评论 0原文

在 MPI 程序中,使用 MPI_COMM_SPAWN,可以向其他主机生成 mpi 进程或非 Mpi 进程。这些产生的子进程将在完成后返回到父进程。

对于 Mpi 进程,我假设可以简单地使用内部通信来发送状态,但是,非 mpi 进程怎么样?我假设我可以使用传统的 linux IPC 来进行通信,这听起来有点像黑客……有人对在这里做什么有一些绝妙的想法吗?

非常感谢

In an MPI program, using MPI_COMM_SPAWN, one can spawn an mpi process or nonMpi process to other hosts. These children processes spawned will have artifacts to return to the parent upon completion.

For Mpi Processes, I assume one can simply use inter comm to send status, yet, how about the non mpi processes ? I assume I can use tradictional linux IPC to communicate back, which sounds kind of like a hack... Anyone has some brilliant idea about what to do here ?

Many Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

趴在窗边数星星i 2024-12-17 13:20:02

恕我直言,使用 mpi_comm_spawn 的唯一原因是当您无法在启动之前确定大小时动态创建新的 MPI 工作线程,因此使用 mpi_comm_spawn 生成非 mpi 应用程序是没有意义的...

更新:根据 http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf,第 10 章,“父级中的 MPI_COMM_SPAWN 和子级中的 MPI_INIT 形成一个集体对父进程和子进程的联合进行操作”,因此看起来您无法生成非 mpi 进程。

Imho, the only reason to use mpi_comm_spawn is to create new MPI workers dinamically when you can't determine the size before it starts, so there is no meaning to spawn a non-mpi application using mpi_comm_spawn...

Update: According to http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf, chapter 10, "MPI_COMM_SPAWN in the parents and MPI_INIT in the children form a collective operation over the union of parent and child processes", so it looks like you can not spawn a non-mpi process.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文