I would add that the hwloc_distances_s returned by 
hwloc_get_whole_distance_matrix_by_depth(topology, 0) is: { 0, 0, 0x0, 0, 0 }

On Aug 6, 2012, at 3:47 PM, Wheeler, Kyle Bruce wrote:

> Hello,
> 
> I'm failing to understand what hwloc (v1.5) is doing. I'm trying to use 
> hwloc_get_latency() to determine the distance between two cores.
> 
> The two cores are on different sockets. According to libnuma's numactl, the 
> latency between the two sockets is 20, whereas between cores on the same 
> socket is 10. According to hwloc-ls -v, the latency is 2.0, whereas between 
> cores on the same socket is 1.0. Thus, I know that hwloc is getting topology 
> information.
> 
> However, programmatically, hwloc_get_latency() just returns -1. I tried using 
> hwloc_get_whole_distance_matrix_by_depth(), and found that the distance 
> matrix is only defined for depth 0, which, according to 
> hwloc_obj_type_string(hwloc_get_depth_type(topology, 0)) is "Machine". Now, 
> the documentation for hwloc_get_whole_distance_matrix_by_depth() says it 
> returns "a distances structure containing a matrix with all distances between 
> all objects at the given depth". Given that I only have one object that depth 
> 0 (just the one machine), what does this mean? If I try with depth 1 (aka 
> "NUMANode" or HWLOC_OBJ_NODE), I get NULL back, suggesting that there is no 
> matrix of distances between NUMANodes. Of course, that's not true; hwloc-ls 
> reports that matrix! So what's going on here?
> 
> And why is hwloc_get_latency() failing?
> -- 
> Kyle B. Wheeler
> Dept. 1423: Scalable System Software
> Sandia National Laboratories
> 505-844-0394
> 
> 
> 
> _______________________________________________
> hwloc-users mailing list
> hwloc-us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
> 

-- 
Kyle B. Wheeler
Dept. 1423: Scalable System Software
Sandia National Laboratories
505-844-0394



Reply via email to