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