c - MPI 启动这么多进程有多准确
问题描述
在获得了在集群上使用 MPI 的一些经验之后,我最近开始在我的计算机上运行 MPI 进行一些练习。我有一个双核处理器,但很好奇如果我指定大量进程会发生什么,令我惊讶的是它起作用了。
mpirun -np 40 ./wha
这究竟是如何发生的。即使考虑到单个处理器可能产生的线程数,这似乎也是不可能的。
解决方案
在 OpenMPI 的情况下,如果运行的进程数大于处理器数(即发生超额订阅时),OpenMPI 开始以降级模式运行 MPI 进程。以降级模式运行意味着将其处理器让给其他 MPI 进程以取得进展(即发生时间共享)。mpi_yield_when_idle
可以设置为 0 以显式地使模式积极,在这种情况下,MPI 进程不会自愿将处理器交给其他进程。
看这里
推荐阅读
- python - 返回熊猫数据框中的单元格差异
- wordpress - 重定向出错 htaccess
- jpa - 事务结束期间的 SQLException 未按预期回滚
- javascript - 检查是否针对 2 个提交按钮选择单选按钮
- java - 没有错误,但应用程序仍然在 android studio 中关闭
- java - 如何让 Eclipse 代码格式化程序开始包装赋值语句 = 运算符
- python - 将字符串拆分并在python中有序保存到列表中
- javascript - Is Redux.js a sufficient way to separate data from view in a React.js/Node.js hybrid application?
- java - MVP中的Android NFC阅读器-onNewIntent未触发
- algorithm - Algorithms to find difference/similarity in a sequence of images/frames