Kinds of object Type

## 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

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

## hwloc_obj_type_is_cache()

int hwloc_obj_type_is_cache | ( | hwloc_obj_type_t | type | ) |

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.

## hwloc_obj_type_is_dcache()

int hwloc_obj_type_is_dcache | ( | hwloc_obj_type_t | type | ) |

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.

## hwloc_obj_type_is_icache()

int hwloc_obj_type_is_icache | ( | hwloc_obj_type_t | type | ) |

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.

## hwloc_obj_type_is_io()

int hwloc_obj_type_is_io | ( | hwloc_obj_type_t | type | ) |

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.

## hwloc_obj_type_is_memory()

int hwloc_obj_type_is_memory | ( | hwloc_obj_type_t | type | ) |

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.

## hwloc_obj_type_is_normal()

int hwloc_obj_type_is_normal | ( | hwloc_obj_type_t | type | ) |

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.