|
|
int | hwloc_topology_get_depth (hwloc_topology_t restrict topology) |
|
int | hwloc_get_type_depth (hwloc_topology_t topology, hwloc_obj_type_t type) |
|
int | hwloc_get_memory_parents_depth (hwloc_topology_t topology) |
|
static int | hwloc_get_type_or_below_depth (hwloc_topology_t topology, hwloc_obj_type_t type) |
|
static int | hwloc_get_type_or_above_depth (hwloc_topology_t topology, hwloc_obj_type_t type) |
|
hwloc_obj_type_t | hwloc_get_depth_type (hwloc_topology_t topology, int depth) |
|
unsigned | hwloc_get_nbobjs_by_depth (hwloc_topology_t topology, int depth) |
|
static int | hwloc_get_nbobjs_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) |
|
static hwloc_obj_t | hwloc_get_root_obj (hwloc_topology_t topology) |
|
hwloc_obj_t | hwloc_get_obj_by_depth (hwloc_topology_t topology, int depth, unsigned idx) |
|
static hwloc_obj_t | hwloc_get_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx) |
|
static hwloc_obj_t | hwloc_get_next_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t prev) |
|
static hwloc_obj_t | hwloc_get_next_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev) |
|
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.
◆ hwloc_get_type_depth_e
Enumerator |
---|
HWLOC_TYPE_DEPTH_UNKNOWN | No object of given type exists in the topology.
|
HWLOC_TYPE_DEPTH_MULTIPLE | Objects of given type exist at different depth in the topology (only for Groups).
|
HWLOC_TYPE_DEPTH_NUMANODE | Virtual depth for NUMA nodes.
|
HWLOC_TYPE_DEPTH_BRIDGE | Virtual depth for bridge object level.
|
HWLOC_TYPE_DEPTH_PCI_DEVICE | Virtual depth for PCI device object level.
|
HWLOC_TYPE_DEPTH_OS_DEVICE | Virtual depth for software device object level.
|
HWLOC_TYPE_DEPTH_MISC | Virtual depth for Misc object.
|
HWLOC_TYPE_DEPTH_MEMCACHE | Virtual depth for MemCache object.
|
◆ hwloc_get_depth_type()
◆ hwloc_get_memory_parents_depth()
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.
◆ hwloc_get_nbobjs_by_depth()
Returns the width of level at depth depth .
◆ hwloc_get_nbobjs_by_type()
Returns the width of level type type .
If no object for that type exists, 0 is returned. If there are several levels with objects of that type, -1 is returned.
◆ hwloc_get_next_obj_by_depth()
Returns the next object at depth depth .
If prev is NULL , return the first object at depth depth .
◆ hwloc_get_next_obj_by_type()
Returns the next object of type type .
If prev is NULL , return the first object at type type . If there are multiple or no depth for given type, return NULL and let the caller fallback to hwloc_get_next_obj_by_depth().
◆ hwloc_get_obj_by_depth()
Returns the topology object at logical index idx from depth depth .
◆ hwloc_get_obj_by_type()
Returns the topology object at logical index idx with type type .
If no object for that type exists, NULL is returned. If there are several levels with objects of that type (HWLOC_OBJ_GROUP), NULL is returned and the caller may fallback to hwloc_get_obj_by_depth().
◆ hwloc_get_root_obj()
◆ hwloc_get_type_depth()
◆ hwloc_get_type_or_above_depth()
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().
◆ hwloc_get_type_or_below_depth()
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().
◆ hwloc_topology_get_depth()
Get the depth of the hierarchical tree of objects.
This is the depth of HWLOC_OBJ_PU objects plus one.
- Note
- NUMA nodes, I/O and Misc objects are ignored when computing the depth of the tree (they are placed on special levels).
|
|
|