python - 杀死所有机器中的 MPI 进程
问题描述
假设我在 25 台不同的机器上运行一个涉及 25 个进程的 MPI 程序。该程序在其中一个称为“master”的地方启动,命令如下
mpirun -n 25 --hostfile myhostfile.txt python helloworld.py
这是在 Linux 上使用一些 bash 脚本执行的,它使用 mpi4py。有时,在执行过程中,我想停止所有机器上的程序。我不在乎这是否做得很好,因为我可能需要的数据已经保存了。
通常,我在“master”的终端上按Ctrl+ C,我认为它的工作原理如上所述。这是真的?换句话说,它会在所有机器上停止这个特定的 MPI 程序吗?
我尝试的另一种方法是在“master”中获取进程的 PID 并将其杀死。我也不确定。
上述方法是否按描述工作?如果没有,你还有什么建议?请注意,我想避免为此目的使用 MPI 调用,就像此处和此处MPI_Abort
的一些其他讨论所建议的那样。
解决方案
推荐阅读
- python - 如何使用 python 3 连接到 WIFI 网络
- r - 如何导入需要从外部 R 包加载外部数据的外部函数来构建我自己的包?
- dataweave - 如何使用 dataweave 在 mule 4 中组合 2 个 json 有效负载
- python - 尝试使用 ForeignKey 链接两个模型,但收到错误“IntegrityError NOT NULL”
- flutter - Flutter - 将展开箭头放在文本最后一行的末尾
- javascript - 我如何获取我的不和谐机器人所在频道的频道 ID 以及消息作者的频道 ID
- react-native - 无法编译反应本机项目 - 无法解析所需文件
- kubernetes - 有没有办法在 Kubernetes 中为 Pod 分配内核时强制使用相同的物理 CPU?
- javascript - MultipleObjectsReturned at / get() 返回了多个 Order -- 它返回了 2
- reactjs - 使用 Typescript 和 React 在 Private Route 中传递组件道具