Hardware Locality (hwloc) 1.11.9

Functions
Looking at Cache Objects

## Functions
static int | hwloc_get_cache_type_depth (hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
static hwloc_obj_t | hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
static hwloc_obj_t | hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology, hwloc_obj_t obj)

## Detailed Description

## Function Documentation

## ◆ hwloc_get_cache_covering_cpuset()

static hwloc_obj_t hwloc_get_cache_covering_cpuset | ( | hwloc_topology_t | topology,
|  | hwloc_const_cpuset_t | set
| ) |  |
| inline static

Get the first cache covering a cpuset `set`.

Returns
  `NULL` if no cache matches.

Note
  This function cannot work if the root object does not have a CPU set, e.g. if the topology is made of different machines.

## ◆ hwloc_get_cache_type_depth()

static int hwloc_get_cache_type_depth | ( | hwloc_topology_t | topology,
|  | unsigned | cachelevel,
|  | hwloc_obj_cache_type_t | cachetype
| ) |  |
| inline static

Find the depth of cache objects matching cache depth and type.

Return the depth of the topology level that contains cache objects whose attributes match `cachedepth` and `cachetype`. This function intends to disambiguate the case where hwloc_get_type_depth() returns HWLOC_TYPE_DEPTH_MULTIPLE.

If no cache level matches, HWLOC_TYPE_DEPTH_UNKNOWN is returned.

If `cachetype` is HWLOC_OBJ_CACHE_UNIFIED, the depth of the unique matching unified cache level is returned.

If `cachetype` is HWLOC_OBJ_CACHE_DATA or HWLOC_OBJ_CACHE_INSTRUCTION, either a matching cache, or a unified cache is returned.

If `cachetype` is `-1`, it is ignored and multiple levels may match. The function returns either the depth of a uniquely matching level or HWLOC_TYPE_DEPTH_MULTIPLE.

## ◆ hwloc_get_shared_cache_covering_obj()

static hwloc_obj_t hwloc_get_shared_cache_covering_obj | ( | hwloc_topology_t | topology,
|  | hwloc_obj_t | obj
| ) |  |
| inline static

Get the first cache shared between an object and somebody else.

Returns
  `NULL` if no cache matches or if an invalid object is given.