Distances between objects.
One object may contain a distance structure describing distances between all its descendants at a given relative depth. If the containing object is the root object of the topology, then the distances are available for all objects in the machine.
If the latency
pointer is not NULL
, the pointed array contains memory latencies (non-zero values), see below.
In the future, some other types of distances may be considered. In these cases, latency
may be NULL
.
float* hwloc_distances_s::latency |
Matrix of latencies between objects, stored as a one-dimension array. May be NULL
if the distances considered here are not latencies.
Unless defined by the user, this currently contains latencies between NUMA nodes (as reported in the System Locality Distance Information Table (SLIT) in the ACPI specification), which may or may not be accurate. It corresponds to the latency for accessing the memory of one node from a core in another node.
Values are normalized to get 1.0 as the minimal value in the matrix. Latency from i-th to j-th object is stored in slot i*nbobjs+j.