charmplusplus / charm

The Charm++ parallel programming system. Visit https://charmplusplus.org/ for more information.
Apache License 2.0
207 stars 50 forks source link

+setcpuaffinity places replicas on same host on same cores #1000

Open jcphill opened 8 years ago

jcphill commented 8 years ago

Original issue: https://charm.cs.illinois.edu/redmine/issues/1000


According to top, the following: ./charmrun ++local ++ppn 6 ./namd2 +p12 +replicas 2 +setcpuaffinity ... places both processes on cores 0-5, while: ./charmrun ++local ++ppn 6 ./namd2 +p12 +replicas 2 +pemap 0-11 ... spreads them across cores 0-11 appropriately.

Also, +setcpuaffinity +showcpuaffinity doesn't actually print the affinity settings, which makes it hard to diagnose.

PhilMiller commented 5 years ago

Original date: 2016-03-10 20:28:24


Jim, could you please open a separate bug for the trailing remark about +showcpuaffinity?

jcphill commented 5 years ago

Hi, I just wanted to confirm that this is still an issue. Jim

/Projects/namd2/bin/latest/Linux64-netlrts/charmrun ++local /Projects/namd2/bin/latest/Linux64-netlrts/namd2 +giga +idlepoll +p8 +replicas 4 +setcpuaffinity +showcpuaffinity +pemap 0-7 Charm++> cpu affinity enabled. Charm++> cpuaffinity PE-core map : 0-7 Charm++> set PE 0 on node 0 to core #0 Charm++> set PE 1 on node 1 to core #1 Charm++> set PE 1 on node 1 to core #3 Charm++> cpu affinity enabled. Charm++> cpuaffinity PE-core map : 0-7 Charm++> set PE 0 on node 0 to core #4 Charm++> set PE 1 on node 1 to core #5 Charm++> cpu affinity enabled. Charm++> cpuaffinity PE-core map : 0-7 Charm++> set PE 0 on node 0 to core #6 Charm++> set PE 1 on node 1 to core #7 Charm++> cpu affinity enabled. Charm++> cpuaffinity PE-core map : 0-7 Charm++> set PE 0 on node 0 to core #2 Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP) Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP) Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP) Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP)

/Projects/namd2/bin/latest/Linux64-netlrts/charmrun ++local /Projects/namd2/bin/latest/Linux64-netlrts/namd2 +giga +idlepoll +p8 +replicas 4 +setcpuaffinity +showcpuaffinity Charm++> cpu affinity enabled. Charm++> cpu affinity enabled. Charm++> cpu affinity enabled. Charm++> cpu affinity enabled. [0] CPU affinity mask is 0x00000001 [1] CPU affinity mask is 0x00000002 [0] CPU affinity mask is 0x00000001 [0] CPU affinity mask is 0x00000001 Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP) [0] CPU affinity mask is 0x00000001 [1] CPU affinity mask is 0x00000002 [1] CPU affinity mask is 0x00000002 Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP) [1] CPU affinity mask is 0x00000002 Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP) Charm++> Running on 1 hosts (2 sockets x 4 cores x 2 PUs = 16-way SMP)