mpi - 超线程:没有足够的可用插槽
问题描述
我试图将 4 个任务分配给 4 个处理器。的输出hwloc-ls --of console
是:
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#2)
L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
PU L#2 (P#1)
PU L#3 (P#3)
从中我推断有 2 个内核和总共 4 个处理器。从图形上看,
我根据Hristo制作了一个等级文件:
排名文件:
rank 0=localhost slot=p0
rank 1=localhost slot=p2
rank 2=localhost slot=p1
rank 3=localhost slot=p3
并且还-use-hwthread-cpus
根据Gilles添加了选项,导致以下命令:
mpirun -use-hwthread-cpus -n 4 -H localhost -rf rankfile ./a.out
但是,我收到错误消息:
系统中没有足够的可用插槽来满足应用程序请求的 2 个插槽。
我一直在尝试不同的排名文件,因为Hamy希望问题与引用处理器的方式有关,但我仍然收到每个组合的错误消息。我的 OpenMPI 版本是 3.0.1。
解决方案
推荐阅读
- python - 使用 python API 在线/云存储和检索文本
- ios - 如何检查是否在iOS中选择了文本并按下了十字按钮?
- angularjs - 通过 abp.nav.menus.MainMenu 在客户端生成菜单
- azure - 测试发送有效吗?
- python - 多少私有变量太多了?
- python - 熊猫 - 每个日期的总和
- scala - Scala 类型不匹配:发现 Future[MyType] required Future[Option[MyType]]
- java - Dropwizard Rest API 的 JSON 正文开头的无效字符
- java - Android Dateformatter 问题
- sql-server - 从单个表中拆分列并作为多个列连接到另一个表中