Got it. Thanks! On Apr 21, 2012, at 8:05 AM, Brice Goglin wrote:
> On 21/04/2012 13:15, Jeffrey Squyres wrote: >> On Apr 21, 2012, at 7:09 AM, Brice Goglin wrote: >> >>> I assume you have the entire distance (latency) matrix between all NUMA >>> nodes as usually reported by the BIOS. >>> >>> const struct hwloc_distance_s *distances = >>> hwloc_get_whole_distance_matrix_by_type(topology, HWLOC_OBJ_NODE); >>> assert(distances); >>> assert(distances->latency); >> Is this stored on the topology object? > > No it's stored in the object that covers all objects connected by the > distance matrix. So usually in the root object. > >> Hence, if this distance data is already covered by the XML export/import, >> then I should have this data. > > Yes it should be there. > >>> Now distances->latency[a+b*distances->nbobjs] contains the latency between >>> NUMA nodes whose *logical* indexes are a and b (it may be asymmetrical). >>> >>> Now get the NUMA node object close to your PUs and the NUMA objects close >>> to each OFED device, take their ->logical_index and you'll get the >>> latencies. >> Ah, ok. This is what I didn't understand from the docs -- is there no >> distance to actual PCI devices? I.e., distance is only measured between >> NUMA nodes? >> >> I ask because the functions allow measuring distance by depth and type -- >> are those effectively ignored, and really all you can check is the distance >> between NUMA nodes? > > You can have distance matrices between any object sets of any type/depth. > Depends what the BIOS reports or what the user adds. The BIOS usually only > reports NUMA node distances. > > We could extend them by saying that the distance between any child of NUMA > node X and any child of NUMA node Y is equal to the distance between NUMA > nodes X and Y, but we don't do that. > > One reason is that the current distance stuff lets the user add a distance > matrix between NUMA nodes and another one between sockets, even if they are > incompatible. When this happens, which one do you use to generate the > distance between two cores? > > There are some tickets in trac they will help clarifying all this mess. > > Brice > > > _______________________________________________ > hwloc-users mailing list > hwloc-us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/