0

I tried to assign 4 tasks to 4 processors. Output of hwloc-ls --of console is:

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)

from which I deduce that there are 2 cores and totally 4 processors. Graphically,

enter image description here

I made a rankfile according to Hristo:

Rankfile:

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

and also added -use-hwthread-cpus option according to Gilles resulting in the following command:

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

However, I got error message:

There are not enough slots available in the system to satisfy the 2 slots that were requested by the application.

I kept trying different rankfiles as Hamy hoping that the problem is related to way of referencing processors but still I got the error message for each combination. My OpenMPI version is 3.0.1.

Shibli
  • 5,879
  • 13
  • 62
  • 126

0 Answers0