Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v2.9.2

  |   Home   |   Support   |   FAQ   |  
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 
)
inlinestatic

Get the first data (or unified) cache covering a cpuset set.

Returns
a covering cache, or NULL if no cache matches.

◆ hwloc_get_cache_type_depth()

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 level and type.

Return the depth of the topology level that contains cache objects whose attributes match cachelevel and cachetype.

This function is identical to calling hwloc_get_type_depth() with the corresponding type such as HWLOC_OBJ_L1ICACHE, except that it may also return a Unified cache when looking for an instruction cache.

Returns
the depth of the unique matching unified cache level is returned if cachetype is HWLOC_OBJ_CACHE_UNIFIED.
the depth of either a matching cache level or a unified cache level if cachetype is HWLOC_OBJ_CACHE_DATA or HWLOC_OBJ_CACHE_INSTRUCTION.
the depth of the matching level if cachetype is -1 but only one level matches.
HWLOC_TYPE_DEPTH_MULTIPLE if cachetype is -1 but multiple levels match.
HWLOC_TYPE_DEPTH_UNKNOWN if no cache level matches.

◆ hwloc_get_shared_cache_covering_obj()

static hwloc_obj_t hwloc_get_shared_cache_covering_obj ( hwloc_topology_t  topology,
hwloc_obj_t  obj 
)
inlinestatic

Get the first data (or unified) cache shared between an object and somebody else.

Returns
a shared cache.
NULL if no cache matches or if an invalid object is given (e.g. I/O object).