OpenMPI
0.1.1
|
Functions | |
static __hwloc_inline const struct hwloc_distances_s * | hwloc_get_whole_distance_matrix_by_depth (hwloc_topology_t topology, unsigned depth) |
Get the distances between all objects at the given depth. More... | |
static __hwloc_inline const struct hwloc_distances_s * | hwloc_get_whole_distance_matrix_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) |
Get the distances between all objects of a given type. More... | |
static __hwloc_inline const struct hwloc_distances_s * | hwloc_get_distance_matrix_covering_obj_by_depth (hwloc_topology_t topology, hwloc_obj_t obj, unsigned depth, unsigned *firstp) |
Get distances for the given depth and covering some objects. More... | |
static __hwloc_inline int | hwloc_get_latency (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2, float *latency, float *reverse_latency) |
Get the latency in both directions between two objects. More... | |
|
static |
Get distances for the given depth and covering some objects.
Return a distance matrix that describes depth depth
and covers at least object obj
and all its children.
When looking for the distance between some objects, a common ancestor should be passed in obj
.
firstp
is set to logical index of the first object described by the matrix.
The returned structure belongs to the hwloc library. The caller should not modify or free it.
References hwloc_obj::cpuset, hwloc_obj::depth, hwloc_obj::distances, hwloc_get_next_obj_inside_cpuset_by_depth(), hwloc_obj::logical_index, hwloc_distances_s::nbobjs, hwloc_obj::parent, and hwloc_distances_s::relative_depth.
Referenced by hwloc_get_latency().
|
static |
Get the latency in both directions between two objects.
Look at ancestor objects from the bottom to the top until one of them contains a distance matrix that matches the objects exactly.
latency
gets the value from object obj1
to obj2
, while reverse_latency
gets the reverse-direction value, which may be different on some architectures.
References hwloc_obj::depth, hwloc_get_common_ancestor_obj(), hwloc_get_distance_matrix_covering_obj_by_depth(), hwloc_distances_s::latency, hwloc_obj::logical_index, and hwloc_distances_s::nbobjs.
|
static |
Get the distances between all objects at the given depth.
Slot i+nbobjs*j contains the distance from the object of logical index i the object of logical index j.
The returned structure belongs to the hwloc library. The caller should not modify or free it.
NULL
if no such distance matrix exists. References hwloc_obj::distances, hwloc_get_root_obj(), and hwloc_distances_s::relative_depth.
Referenced by hwloc_get_whole_distance_matrix_by_type().
|
static |
Get the distances between all objects of a given type.
Slot i+nbobjs*j contains the distance from the object of logical index i the object of logical index j.
The returned structure belongs to the hwloc library. The caller should not modify or free it.
NULL
if no such distance matrix exists. References hwloc_get_type_depth(), and hwloc_get_whole_distance_matrix_by_depth().