On Tue, Nov 27, 2018 at 12:10:27AM +0100, Brice Goglin via cfarm-users wrote:
> Instead of hardwiring Linux-specific things, many projects now just use
> hwloc [1] to get such kind of topology information in a portable way
> (that's what I use cfarm for). On the command-line, you'd just do
> "hwloc-calc -N core all" to get the number of cores, but there's also a
> C API to do that.

Cool stuff :-)

gcc110 (a power7, 2 packages, 16 cores, 64 threads):
$ hwloc-ls -s --no-io
depth 0:        1 Machine (type #1)
 depth 1:       2 NUMANode (type #2)
  depth 2:      16 Package (type #3)
   depth 3:     16 L3Cache (type #4)
    depth 4:    16 L2Cache (type #4)
     depth 5:   16 L1dCache (type #4)
      depth 6:  16 L1iCache (type #4)
       depth 7: 16 Core (type #5)
        depth 8:        64 PU (type #6)

gcc112 (a power8, 2 DCMs (i.e. 2 packages, 4 dies), 20 cores, 160 threads):
$ hwloc-ls -s --no-io
depth 0:        1 Machine (type #1)
 depth 1:       2 Group0 (type #7)
  depth 2:      4 NUMANode (type #2)
   depth 3:     4 Package (type #3)
    depth 4:    20 L3Cache (type #4)
     depth 5:   20 L2Cache (type #4)
      depth 6:  20 L1dCache (type #4)
       depth 7: 20 L1iCache (type #4)
        depth 8:        20 Core (type #5)
         depth 9:       160 PU (type #6)

gcc135 (a power9, 2 packages, 32 cores, 128 threads):
$ hwloc-ls -s --no-io
depth 0:        1 Machine (type #1)
 depth 1:       2 NUMANode (type #2)
  depth 2:      2 Package (type #3)
   depth 3:     16 L3Cache (type #4)
    depth 4:    16 L2Cache (type #4)
     depth 5:   32 L1dCache (type #4)
      depth 6:  32 L1iCache (type #4)
       depth 7: 32 Core (type #5)
        depth 8:        128 PU (type #6)

so it gets p7 packages wrong, and it doesn't understand p8 DCMs.  The rest
is fine, and pretty etc. :-)


Segher
_______________________________________________
cfarm-users mailing list
cfarm-users@lists.tetaneutral.net
https://lists.tetaneutral.net/listinfo/cfarm-users

Reply via email to