hwloc_obj_type_thwloc_get_depth_type(hwloc_topology_ttopology,intdepth)
Returns the type of objects at depth depth. depth should between 0 and hwloc_topology_get_depth()-1, or a
virtual depth such as HWLOC_TYPE_DEPTH_NUMANODE.
Returns
The type of objects at depth depth.
(hwloc_obj_type_t)-1 if depth depth does not exist.
inthwloc_get_memory_parents_depth(hwloc_topology_ttopology)
Return the depth of parents where memory objects are attached. Memory objects have virtual negative
depths because they are not part of the main CPU-side hierarchy of objects. This depth should not be
compared with other level depths.
If all Memory objects are attached to Normal parents at the same depth, this parent depth may be compared
to other as usual, for instance for knowing whether NUMA nodes is attached above or below Packages.
Returns
The depth of Normal parents of all memory children if all these parents have the same depth. For
instance the depth of the Package level if all NUMA nodes are attached to Package objects.
HWLOC_TYPE_DEPTH_MULTIPLE if Normal parents of all memory children do not have the same depth. For
instance if some NUMA nodes are attached to Packages while others are attached to Groups.
unsignedhwloc_get_nbobjs_by_depth(hwloc_topology_ttopology,intdepth)
Returns the width of level at depth depth.
Returns
The number of objects at topology depth depth.
0 if there are no objects at depth depth.
inthwloc_get_nbobjs_by_type(hwloc_topology_ttopology,hwloc_obj_type_ttype)[inline]
Returns the width of level type type.
Returns
The number of objects of type type.
-1 if there are multiple levels with objects of that type, e.g. HWLOC_OBJ_GROUP.
0 if there are no objects at depth depth.
hwloc_obj_thwloc_get_next_obj_by_depth(hwloc_topology_ttopology,intdepth,hwloc_obj_tprev)[inline]
Returns the next object at depth depth.
Returns
The first object at depth depth if prev is NULL.
The object after prev at depth depth if prev is not NULL.
NULL if there is no such object.
hwloc_obj_thwloc_get_next_obj_by_type(hwloc_topology_ttopology,hwloc_obj_type_ttype,hwloc_obj_tprev)[inline]
Returns the next object of type type.
Returns
The first object of type type if prev is NULL.
The object after prev of type type if prev is not NULL.
NULL if there is no such object.
NULL if there are multiple levels with objects of that type (e.g. HWLOC_OBJ_GROUP), the caller may
fallback to hwloc_get_obj_by_depth().
hwloc_obj_thwloc_get_obj_by_depth(hwloc_topology_ttopology,intdepth,unsignedidx)
Returns the topology object at logical index idx from depth depth.
Returns
The object if it exists.
NULL if there is no object with this index and depth.
hwloc_obj_thwloc_get_obj_by_type(hwloc_topology_ttopology,hwloc_obj_type_ttype,unsignedidx)[inline]
Returns the topology object at logical index idx with type type.
Returns
The object if it exists.
NULL if there is no object with this index and type.
NULL if there are multiple levels with objects of that type (e.g. HWLOC_OBJ_GROUP), the caller may
fallback to hwloc_get_obj_by_depth().
hwloc_obj_thwloc_get_root_obj(hwloc_topology_ttopology)[inline]
Returns the top-object of the topology-tree. Its type is HWLOC_OBJ_MACHINE.
This function cannot return NULL.
inthwloc_get_type_depth(hwloc_topology_ttopology,hwloc_obj_type_ttype)
Returns the depth of objects of type type.
Returns
The depth of objects of type type.
A negative virtual depth if a NUMA node, I/O or Misc object type is given. These objects are stored
in special levels that are not CPU-related. This virtual depth may be passed to other hwloc functions
such as hwloc_get_obj_by_depth() but it should not be considered as an actual depth by the
application. In particular, it should not be compared with any other object depth or with the entire
topology depth.
HWLOC_TYPE_DEPTH_UNKNOWN if no object of this type is present on the underlying architecture, or if
the OS doesn't provide this kind of information.
HWLOC_TYPE_DEPTH_MULTIPLE if type HWLOC_OBJ_GROUP is given and multiple levels of Groups exist.
Note
If the type is absent but a similar type is acceptable, see also hwloc_get_type_or_below_depth() and
hwloc_get_type_or_above_depth().
Seealsohwloc_get_memory_parents_depth() for managing the depth of memory objects.
hwloc_type_sscanf_as_depth() for returning the depth of objects whose type is given as a string.
inthwloc_get_type_or_above_depth(hwloc_topology_ttopology,hwloc_obj_type_ttype)[inline]
Returns the depth of objects of type type or above. If no object of this type is present on the
underlying architecture, the function returns the depth of the first 'present' object typically
containing type.
This function is only meaningful for normal object types. If a memory, I/O or Misc object type is given,
the corresponding virtual depth is always returned (see hwloc_get_type_depth()).
May return HWLOC_TYPE_DEPTH_MULTIPLE for HWLOC_OBJ_GROUP just like hwloc_get_type_depth().
inthwloc_get_type_or_below_depth(hwloc_topology_ttopology,hwloc_obj_type_ttype)[inline]
Returns the depth of objects of type type or below. If no object of this type is present on the
underlying architecture, the function returns the depth of the first 'present' object typically found
inside type.
This function is only meaningful for normal object types. If a memory, I/O or Misc object type is given,
the corresponding virtual depth is always returned (see hwloc_get_type_depth()).
May return HWLOC_TYPE_DEPTH_MULTIPLE for HWLOC_OBJ_GROUP just like hwloc_get_type_depth().
inthwloc_topology_get_depth(hwloc_topology_trestricttopology)
Get the depth of the hierarchical tree of objects. This is the depth of HWLOC_OBJ_PU objects plus one.
Returns
the depth of the object tree.
Note
NUMA nodes, I/O and Misc objects are ignored when computing the depth of the tree (they are placed on
special levels).