hwlocality\_helper\_types(3) Library Functions Manual hwlocality\_helper\_types(3)

# [NAME](#NAME)

hwlocality\_helper\_types - Kinds of object Type

# [SYNOPSIS](#SYNOPSIS)

## [Functions](#Functions)

int **hwloc\_obj\_type\_is\_normal** (**hwloc\_obj\_type\_t** type)  
int **hwloc\_obj\_type\_is\_io** (**hwloc\_obj\_type\_t** type)  
int **hwloc\_obj\_type\_is\_memory** (**hwloc\_obj\_type\_t** type)  
int **hwloc\_obj\_type\_is\_cache** (**hwloc\_obj\_type\_t** type)  
int **hwloc\_obj\_type\_is\_dcache** (**hwloc\_obj\_type\_t** type)  
int **hwloc\_obj\_type\_is\_icache** (**hwloc\_obj\_type\_t** type)

# [Detailed Description](#Detailed_Description)

Each object type is either Normal (i.e. **hwloc\_obj\_type\_is\_normal()** returns 1), or Memory (i.e. **hwloc\_obj\_type\_is\_memory()** returns 1) or I/O (i.e. **hwloc\_obj\_type\_is\_io()** returns 1) or Misc (i.e. equal to **HWLOC\_OBJ\_MISC**). It cannot be of more than one of these kinds.

See also Object Kind in **Terms and Definitions**.

# [Function Documentation](#Function_Documentation)

## [int hwloc\_obj\_type\_is\_cache (**hwloc\_obj\_type\_t** type)](#int_hwloc_obj_type_is_cache_%28)

Check whether an object type is a CPU Cache (Data, Unified or Instruction). Memory-side caches are not CPU caches.

**Returns**

1 if an object of type type is a Cache, 0 otherwise.

## [int hwloc\_obj\_type\_is\_dcache (**hwloc\_obj\_type\_t** type)](#int_hwloc_obj_type_is_dcache_%28)

Check whether an object type is a CPU Data or Unified Cache. Memory-side caches are not CPU caches.

**Returns**

1 if an object of type type is a CPU Data or Unified Cache, 0 otherwise.

## [int hwloc\_obj\_type\_is\_icache (**hwloc\_obj\_type\_t** type)](#int_hwloc_obj_type_is_icache_%28)

Check whether an object type is a CPU Instruction Cache,. Memory-side caches are not CPU caches.

**Returns**

1 if an object of type type is a CPU Instruction Cache, 0 otherwise.

## [int hwloc\_obj\_type\_is\_io (**hwloc\_obj\_type\_t** type)](#int_hwloc_obj_type_is_io_%28)

Check whether an object type is I/O. I/O objects are objects attached to their parents in the I/O children list. This current includes Bridges, PCI and OS devices.

**Returns**

1 if an object of type type is a I/O object, 0 otherwise.

## [int hwloc\_obj\_type\_is\_memory (**hwloc\_obj\_type\_t** type)](#int_hwloc_obj_type_is_memory_%28)

Check whether an object type is Memory. Memory objects are objects attached to their parents in the Memory children list. This current includes NUMA nodes and Memory-side caches.

**Returns**

1 if an object of type type is a Memory object, 0 otherwise.

## [int hwloc\_obj\_type\_is\_normal (**hwloc\_obj\_type\_t** type)](#int_hwloc_obj_type_is_normal_%28)

Check whether an object type is Normal. Normal objects are objects of the main CPU hierarchy (Machine, Package, Core, PU, CPU caches, etc.), but they are not NUMA nodes, I/O devices or Misc objects.

They are attached to parent as Normal children, not as Memory, I/O or Misc children.

**Returns**

1 if an object of type type is a Normal object, 0 otherwise.

# [Author](#Author)

Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code.

Version 2.15.0 Hardware Locality (hwloc)

---

Document: hwlocality_helper_types(3) from hwloc-cuda-12.6 2.15.0-r0 (Chainguard OS)
Source: https://github.com/open-mpi/hwloc
