hwlocality_helper_ancestors(3)

NAME
hwlocality_helper_ancestors - 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 is NULL.

    the next child if prev is not NULL.

    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 and subtree_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.