hwlocality_helper_ancestors - Man Page
Looking at Ancestor and Child Objects
Synopsis
Functions
static hwloc_obj_t hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t obj)
static hwloc_obj_t hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj)
static hwloc_obj_t hwloc_get_common_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2)
static int hwloc_obj_is_in_subtree (hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root)
static hwloc_obj_t hwloc_get_next_child (hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev)
Detailed Description
Be sure to see the figure in Terms and Definitions that shows a complete topology tree, including depths, child/sibling/cousin relationships, and an example of an asymmetric topology where one package has fewer caches than its peers.
Function Documentation
static hwloc_obj_t hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t obj) [inline], [static]
Returns the ancestor object of obj
at depth depth
.
- Returns
the ancestor if any.
NULL
if no such ancestor exists.- Note
depth
should not be the depth of PU or NUMA objects since they are ancestors of no objects (except Misc or I/O). This function rather expects an intermediate level depth, such as the depth of Packages, Cores, or Caches.
static hwloc_obj_t hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj) [inline], [static]
Returns the ancestor object of obj
with type type
.
- Returns
the ancestor if any.
NULL
if no such ancestor exists.- Note
if multiple matching ancestors exist (e.g. multiple levels of HWLOC_OBJ_GROUP) the lowest one is returned.
type
should not be HWLOC_OBJ_PU or HWLOC_OBJ_NUMANODE since these objects are ancestors of no objects (except Misc or I/O). This function rather expects an intermediate object type, such as HWLOC_OBJ_PACKAGE, HWLOC_OBJ_CORE, etc.
static hwloc_obj_t hwloc_get_common_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2) [inline], [static]
Returns the common parent object to objects obj1
and obj2
.
- Returns
the common ancestor.
- Note
This function cannot return
NULL
.
static hwloc_obj_t hwloc_get_next_child (hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev) [inline], [static]
Return the next child. Return the next child among the normal children list, then among the memory children list, then among the I/O children list, then among the Misc children list.
- Returns
the first child if
prev
isNULL
.the next child if
prev
is notNULL
.NULL
when there is no next child.
static int hwloc_obj_is_in_subtree (hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root) [inline], [static]
Returns true if obj
is inside the subtree beginning with ancestor object subtree_root
.
Returns
1 is the object is in the subtree, 0 otherwise.
- Note
This function cannot work if
obj
andsubtree_root
objects do not have CPU sets (I/O or Misc objects).
Author
Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code.
Referenced By
The man pages hwloc_get_ancestor_obj_by_depth(3), hwloc_get_ancestor_obj_by_type(3), hwloc_get_common_ancestor_obj(3), hwloc_get_next_child(3) and hwloc_obj_is_in_subtree(3) are aliases of hwlocality_helper_ancestors(3).