Hello Ralph,
Indeed, adding something before the cache size might be good.
But if I was picky, I would say "size=32kB linesize=64". The word
"Cache" is already written above (in the object type), why would we
duplicate it in "Cachesize" and "Cacheline" ?
Right now, lstopo shows:
L3Cache L#3 (4096KB line=64)
With your patch, it would say:
L3Cache L#3 (Cachesize=4096KB Cacheline=64)
With my variant, it would say:
L3Cache L#3 (size=4096KB linesize=64)
Brice
Le 22/09/2011 21:27, Jeff Squyres a écrit :
Ralph noticed the following when working on integrating hwloc deeply into OMPI, and suggests the attached patch. Does it look good to you guys?
-----
Something isn't right with hwloc_obj_attr_snprintf() when the object is a cache. I get this when printing the topology of my Mac:
Detected Resources: Type: Machine Number of child objects: 1
Name=NULL
total=3145728KB
Backend=Darwin
OSName=Darwin
OSRelease=10.8.0
OSVersion="Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386"
Architecture=i386
Cpuset: 0x00000003
Online: 0x00000003
Allowed: 0x00000003
Type: NUMANode Number of child objects: 1
Name=NULL
local=3145728KB
total=3145728KB
Cpuset: 0x00000003
Online: 0x00000003
Allowed: 0x00000003
Type: Socket Number of child objects: 1
Name=NULL
Cpuset: 0x00000003
Online: 0x00000003
Allowed: 0x00000003
Type: L2Cache Number of child objects: 2
Name=NULL
4096KB
line=64
Cpuset: 0x00000003
Online: 0x00000003
Allowed: 0x00000003
Type: L1Cache Number of child objects: 1
Name=NULL
32KB
line=64
Cpuset: 0x00000001
Online: 0x00000001
Allowed: 0x00000001
Type: Core Number of child objects: 1
Name=NULL
Cpuset: 0x00000001
Online: 0x00000001
Allowed: 0x00000001
Type: PU Number of child objects: 0
Name=NULL
Cpuset: 0x00000001
Online: 0x00000001
Allowed: 0x00000001
Type: L1Cache Number of child objects: 1
Name=NULL
32KB
line=64
Cpuset: 0x00000002
Online: 0x00000002
Allowed: 0x00000002
Type: Core Number of child objects: 1
Name=NULL
Cpuset: 0x00000002
Online: 0x00000002
Allowed: 0x00000002
Type: PU Number of child objects: 0
Name=NULL
Cpuset: 0x00000002
Online: 0x00000002
Allowed: 0x00000002
Note that I get an empty line (it is non-NULL and has length > 0) when there are no attrs at all, but attrs is non-NULL (see the output for the cores). The output for the caches shows "32KB", but no title explaining what that value means. Likewise, I get a "line=64" output, which makes no sense.
The attached patch clarifies the output.
_______________________________________________
hwloc-devel mailing list
hwloc-devel@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel