-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
Display the topology in the header and re-order CPUs columns accordingly.
Allow to group either by memory, numa, package, die...
We would need to :
- Select what topology we want to be used: Memory Node, Package, NUMA Node, Socket, Core (SMT)
- Allow to display accordingly a separator between the columns
- Filter process and columns by topology
Ex: OpenMPI --report-bindings
option:
[clxap2:464044] MCW rank 0 bound to socket 0[core 0[hwt 0]]: [B/././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.]
[clxap2:464044] MCW rank 1 bound to socket 0[core 1[hwt 0]]: [./B/./././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.]
But seems to be very verbose / unreadable when lot of numa/cores is on the system:
mpirun --report-bindings uname -n
``` [clxap2:463958] MCW rank 0 bound to socket 0[core 0[hwt 0]], socket 0[core 1[hwt 0]], socket 0[core 2[hwt 0]], socket 0[core 3[hwt 0]], socket 0[core 4[hwt 0]], socket 0[core 5[hwt 0]], socket 0[core 6[hwt 0]], socket 0[core 7[hwt 0]], socket 0[core 8[hwt 0]], socket 0[core 9[hwt 0]], socket 0[core 10[hwt 0]], socket 0[core 11[hwt 0]], socket 0[core 12[hwt 0]], socket 0[core 13[hwt 0]], socket 0[core 14[hwt 0]], socket 0[core 15[hwt 0]], socket 0[core 16[hwt 0]], socket 0[core 17[hwt 0]], socket 0[core 18[hwt 0]], socket 0[core 19[hwt 0]], socket 0[core 20[hwt 0]], socket 0[core 21[hwt 0]], socket 0[core 22[hwt 0]], socket 0[core 23[hwt 0]]: [B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.] [clxap2:463958] MCW rank 1 bound to socket 1[core 24[hwt 0]], socket 1[core 25[hwt 0]], socket 1[core 26[hwt 0]], socket 1[core 27[hwt 0]], socket 1[core 28[hwt 0]], socket 1[core 29[hwt 0]], socket 1[core 30[hwt 0]], socket 1[core 31[hwt 0]], socket 1[core 32[hwt 0]], socket 1[core 33[hwt 0]], socket 1[core 34[hwt 0]], socket 1[core 35[hwt 0]], socket 1[core 36[hwt 0]], socket 1[core 37[hwt 0]], socket 1[core 38[hwt 0]], socket 1[core 39[hwt 0]], socket 1[core 40[hwt 0]], socket 1[core 41[hwt 0]], socket 1[core 42[hwt 0]], socket 1[core 43[hwt 0]], socket 1[core 44[hwt 0]], socket 1[core 45[hwt 0]], socket 1[core 46[hwt 0]], socket 1[core 47[hwt 0]]: [./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.][./././././././././././././././././././././././.] [clxap2:463958] MCW rank 2 bound to socket 2[core 48[hwt 0]], socket 2[core 49[hwt 0]], socket 2[core 50[hwt 0]], socket 2[core 51[hwt 0]], socket 2[core 52[hwt 0]], socket 2[core 53[hwt 0]], socket 2[core 54[hwt 0]], socket 2[core 55[hwt 0]], socket 2[core 56[hwt 0]], socket 2[core 57[hwt 0]], socket 2[core 58[hwt 0]], socket 2[core 59[hwt 0]], socket 2[core 60[hwt 0]], socket 2[core 61[hwt 0]], socket 2[core 62[hwt 0]], socket 2[core 63[hwt 0]], socket 2[core 64[hwt 0]], socket 2[core 65[hwt 0]], socket 2[core 66[hwt 0]], socket 2[core 67[hwt 0]], socket 2[core 68[hwt 0]], socket 2[core 69[hwt 0]], socket 2[core 70[hwt 0]], socket 2[core 71[hwt 0]]: [./././././././././././././././././././././././.][./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.] [clxap2:463958] MCW rank 3 bound to socket 3[core 72[hwt 0]], socket 3[core 73[hwt 0]], socket 3[core 74[hwt 0]], socket 3[core 75[hwt 0]], socket 3[core 76[hwt 0]], socket 3[core 77[hwt 0]], socket 3[core 78[hwt 0]], socket 3[core 79[hwt 0]], socket 3[core 80[hwt 0]], socket 3[core 81[hwt 0]], socket 3[core 82[hwt 0]], socket 3[core 83[hwt 0]], socket 3[core 84[hwt 0]], socket 3[core 85[hwt 0]], socket 3[core 86[hwt 0]], socket 3[core 87[hwt 0]], socket 3[core 88[hwt 0]], socket 3[core 89[hwt 0]], socket 3[core 90[hwt 0]], socket 3[core 91[hwt 0]], socket 3[core 92[hwt 0]], socket 3[core 93[hwt 0]], socket 3[core 94[hwt 0]], socket 3[core 95[hwt 0]]: [./././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B] [clxap2:463958] MCW rank 4 bound to socket 0[core 0[hwt 0]], socket 0[core 1[hwt 0]], socket 0[core 2[hwt 0]], socket 0[core 3[hwt 0]], socket 0[core 4[hwt 0]], socket 0[core 5[hwt 0]], socket 0[core 6[hwt 0]], socket 0[core 7[hwt 0]], socket 0[core 8[hwt 0]], socket 0[core 9[hwt 0]], socket 0[core 10[hwt 0]], socket 0[core 11[hwt 0]], socket 0[core 12[hwt 0]], socket 0[core 13[hwt 0]], socket 0[core 14[hwt 0]], socket 0[core 15[hwt 0]], socket 0[core 16[hwt 0]], socket 0[core 17[hwt 0]], socket 0[core 18[hwt 0]], socket 0[core 19[hwt 0]], socket 0[core 20[hwt 0]], socket 0[core 21[hwt 0]], socket 0[core 22[hwt 0]], socket 0[core 23[hwt 0]]: [B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.] [clxap2:463958] MCW rank 5 bound to socket 1[core 24[hwt 0]], socket 1[core 25[hwt 0]], socket 1[core 26[hwt 0]], socket 1[core 27[hwt 0]], socket 1[core 28[hwt 0]], socket 1[core 29[hwt 0]], socket 1[core 30[hwt 0]], socket 1[core 31[hwt 0]], socket 1[core 32[hwt 0]], socket 1[core 33[hwt 0]], socket 1[core 34[hwt 0]], socket 1[core 35[hwt 0]], socket 1[core 36[hwt 0]], socket 1[core 37[hwt 0]], socket 1[core 38[hwt 0]], socket 1[core 39[hwt 0]], socket 1[core 40[hwt 0]], socket 1[core 41[hwt 0]], socket 1[core 42[hwt 0]], socket 1[core 43[hwt 0]], socket 1[core 44[hwt 0]], socket 1[core 45[hwt 0]], socket 1[core 46[hwt 0]], socket 1[core 47[hwt 0]]: [./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.][./././././././././././././././././././././././.] [clxap2:463958] MCW rank 6 bound to socket 2[core 48[hwt 0]], socket 2[core 49[hwt 0]], socket 2[core 50[hwt 0]], socket 2[core 51[hwt 0]], socket 2[core 52[hwt 0]], socket 2[core 53[hwt 0]], socket 2[core 54[hwt 0]], socket 2[core 55[hwt 0]], socket 2[core 56[hwt 0]], socket 2[core 57[hwt 0]], socket 2[core 58[hwt 0]], socket 2[core 59[hwt 0]], socket 2[core 60[hwt 0]], socket 2[core 61[hwt 0]], socket 2[core 62[hwt 0]], socket 2[core 63[hwt 0]], socket 2[core 64[hwt 0]], socket 2[core 65[hwt 0]], socket 2[core 66[hwt 0]], socket 2[core 67[hwt 0]], socket 2[core 68[hwt 0]], socket 2[core 69[hwt 0]], socket 2[core 70[hwt 0]], socket 2[core 71[hwt 0]]: [./././././././././././././././././././././././.][./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.] [clxap2:463958] MCW rank 7 bound to socket 3[core 72[hwt 0]], socket 3[core 73[hwt 0]], socket 3[core 74[hwt 0]], socket 3[core 75[hwt 0]], socket 3[core 76[hwt 0]], socket 3[core 77[hwt 0]], socket 3[core 78[hwt 0]], socket 3[core 79[hwt 0]], socket 3[core 80[hwt 0]], socket 3[core 81[hwt 0]], socket 3[core 82[hwt 0]], socket 3[core 83[hwt 0]], socket 3[core 84[hwt 0]], socket 3[core 85[hwt 0]], socket 3[core 86[hwt 0]], socket 3[core 87[hwt 0]], socket 3[core 88[hwt 0]], socket 3[core 89[hwt 0]], socket 3[core 90[hwt 0]], socket 3[core 91[hwt 0]], socket 3[core 92[hwt 0]], socket 3[core 93[hwt 0]], socket 3[core 94[hwt 0]], socket 3[core 95[hwt 0]]: [./././././././././././././././././././././././.][./././././././././././././././././././././././.][./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B]</details>