Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v1.7.2

  |   Home   |   Support   |   FAQ   |  
Cache-specific Finding Helpers


static __hwloc_inline int hwloc_get_cache_type_depth (hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
static __hwloc_inline hwloc_obj_t hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) __hwloc_attribute_pure
static __hwloc_inline hwloc_obj_t hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj) __hwloc_attribute_pure

Detailed Description

Function Documentation

static __hwloc_inline hwloc_obj_t hwloc_get_cache_covering_cpuset ( hwloc_topology_t  topology,
hwloc_const_cpuset_t  set 

Get the first cache covering a cpuset set.

NULL if no cache matches.
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 __hwloc_inline int hwloc_get_cache_type_depth ( hwloc_topology_t  topology,
unsigned  cachelevel,
hwloc_obj_cache_type_t  cachetype 

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_inline hwloc_obj_t hwloc_get_shared_cache_covering_obj ( hwloc_topology_t topology  __hwloc_attribute_unused,
hwloc_obj_t  obj 

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

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