Hardware Locality (hwloc): Looking at Cache Objects

Hardware Locality (hwloc) 1.9

- Main Page
- Related Pages
- Modules
- Data Structures

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

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

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.

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

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`.

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

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

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