Hi,
I’m just trying to make sure that the output of hwloc-ps is consistent with openmpi’s binding report.
For starters here is the output of hwloc-ps:
Machine (48GB)
NUMANode L#0 (P#0 24GB) + Socket L#0 + L3 L#0 (12MB)
L2 L#0 (256KB) + L1 L#0 (32KB) + Core L#0 + PU L#0 (P#0)
L2 L#1 (256KB) + L1 L#1 (32KB) + Core L#1 + PU L#1 (P#2)
L2 L#2 (256KB) + L1 L#2 (32KB) + Core L#2 + PU L#2 (P#4)
L2 L#3 (256KB) + L1 L#3 (32KB) + Core L#3 + PU L#3 (P#6)
L2 L#4 (256KB) + L1 L#4 (32KB) + Core L#4 + PU L#4 (P#8)
L2 L#5 (256KB) + L1 L#5 (32KB) + Core L#5 + PU L#5 (P#10)
NUMANode L#1 (P#1 24GB) + Socket L#1 + L3 L#1 (12MB)
L2 L#6 (256KB) + L1 L#6 (32KB) + Core L#6 + PU L#6 (P#1)
L2 L#7 (256KB) + L1 L#7 (32KB) + Core L#7 + PU L#7 (P#3)
L2 L#8 (256KB) + L1 L#8 (32KB) + Core L#8 + PU L#8 (P#5)
L2 L#9 (256KB) + L1 L#9 (32KB) + Core L#9 + PU L#9 (P#7)
L2 L#10 (256KB) + L1 L#10 (32KB) + Core L#10 + PU L#10 (P#9)
L2 L#11 (256KB) + L1 L#11 (32KB) + Core L#11 + PU L#11 (P#11)
When using openmpi 1.4.4 with --np 2 --bind-to-core --bycore” it reports the following:
[hostname:03339] [[17125,0],0] odls:default:fork binding child [[17125,1],0] to cpus 0001
[hostname:03339] [[17125,0],0] odls:default:fork binding child [[17125,1],1] to cpus 0002
However hwloc-ps returns:
3340 L2Cache:0 ./binary
3341 L2Cache:6 ./binary
Somehow this seems contradictory since bycore should assign processes following adjacent cores.
Am I misunderstanding something?
Kind regards,
Youri