超线程:没有足够的可用插槽

时间:2018-04-26 13:25:03

标签: mpi openmpi hyperthreading

我尝试将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个处理器。图形,

enter image description here

我根据Hristo制作了一个等级文件:

Rankfile:

rank 0=localhost slot=p0
rank 1=localhost slot=p2
rank 2=localhost slot=p1
rank 3=localhost slot=p3

并根据Gilles添加了-use-hwthread-cpus选项,从而产生以下命令:

mpirun -use-hwthread-cpus -n 4 -H localhost -rf rankfile ./a.out

但是,我收到了错误消息:

  

系统中没有足够的插槽可满足2   应用程序请求的插槽。

我一直在尝试使用不同的等级文件Hamy,希望问题与引用处理器的方式有关,但我仍然得到每个组合的错误消息。我的OpenMPI版本是3.0.1。

0 个答案:

没有答案