But, isn't the returned matrix merely and adjacency matrix? Distance in
steps? This doesn't encode a weight, such as latency does it?
[mailto:hwloc-users-bounces_at_[hidden]] On Behalf Of Brice Goglin
Sent: Monday, August 06, 2012 4:47 PM
To: Wheeler, Kyle Bruce
Subject: Re: [hwloc-users] [EXTERNAL] Re: hwloc_get_latency() failures and
Le 07/08/2012 00:36, Wheeler, Kyle Bruce a écrit :
> Ahhhh, that's key! The documentation currently says "Look at ancestor
> objects from the bottom to the top until one of them contains a
> distance matrix that matches the objects exactly", which suggests to
> me that it will traverse the object hierarchy looking for the
> NUMANodes *for* me.
Ahh, this one is exactly what's really confusing. There are two things here:
1) the object that contains the distance matrix
2) the object that are covered by the matrix
When the matrix covers the entire machine (usual case), (1) is the root
object and (2) are NUMA nodes.
If you ever have a distance matrix between all cores of the first socket
(and not any other core in the machine), the first socket object would
contain a matrix with distance->relative_depth = depth(socket)-depth(core)
So when you're looking for Core latencies, you check whether the ancestor
immediately above Core contain a matrix for Core distances, then its parent,
... up to the root object. So it's about (1) moving up but (2) remains the
same type (but (2) gets wider when (1) goes up).
hwloc-users mailing list