hwlocality\_linux\_libnuma\_bitmask(3) Library Functions Manual hwlocality\_linux\_libnuma\_bitmask(3)

# [NAME](#NAME)

hwlocality\_linux\_libnuma\_bitmask - Interoperability with Linux libnuma bitmask

# [SYNOPSIS](#SYNOPSIS)

## [Functions](#Functions)

struct bitmask * **hwloc\_cpuset\_to\_linux\_libnuma\_bitmask** (**hwloc\_topology\_t** topology, **hwloc\_const\_cpuset\_t** cpuset)  
struct bitmask * **hwloc\_nodeset\_to\_linux\_libnuma\_bitmask** (**hwloc\_topology\_t** topology, **hwloc\_const\_nodeset\_t** nodeset)  
int **hwloc\_cpuset\_from\_linux\_libnuma\_bitmask** (**hwloc\_topology\_t** topology, **hwloc\_cpuset\_t** cpuset, const struct bitmask \*bitmask)  
int **hwloc\_nodeset\_from\_linux\_libnuma\_bitmask** (**hwloc\_topology\_t** topology, **hwloc\_nodeset\_t** nodeset, const struct bitmask \*bitmask)

# [Detailed Description](#Detailed_Description)

This interface helps converting between Linux libnuma bitmasks and hwloc cpusets and nodesets.

**Note**

Topology topology must match the current machine.

The behavior of libnuma is undefined if the kernel is not NUMA-aware. (when CONFIG\_NUMA is not set in the kernel configuration). This helper and libnuma may thus not be strictly compatible in this case, which may be detected by checking whether numa\_available() returns -1.

# [Function Documentation](#Function_Documentation)

## [int hwloc\_cpuset\_from\_linux\_libnuma\_bitmask (**hwloc\_topology\_t** topology, **hwloc\_cpuset\_t** cpuset, const struct bitmask * bitmask) \[inline\]](#int_hwloc_cpuset_from_linux_libnuma_bitmask_%28)

Convert libnuma bitmask bitmask into hwloc CPU set cpuset. This function may be used after calling many numa_ functions that use a struct bitmask as an output parameter.

**Returns**

0 on success.

-1 with errno set to ENOMEM if some internal reallocation failed.

## [struct bitmask * hwloc\_cpuset\_to\_linux\_libnuma\_bitmask (**hwloc\_topology\_t** topology, **hwloc\_const\_cpuset\_t** cpuset) \[inline\]](#struct_bitmask_*_hwloc_cpuset_to_linux_libnuma_bitmask_%28)

Convert hwloc CPU set cpuset into the returned libnuma bitmask. The returned bitmask should later be freed with numa\_bitmask\_free.

This function may be used before calling many numa_ functions that use a struct bitmask as an input parameter.

**Returns**

newly allocated struct bitmask, or NULL on error.

**Note**

On heterogeneous memory platforms, we may return multiple local NUMA nodes even if libnuma reports only one (usually the first one).

## [int hwloc\_nodeset\_from\_linux\_libnuma\_bitmask (**hwloc\_topology\_t** topology, **hwloc\_nodeset\_t** nodeset, const struct bitmask * bitmask) \[inline\]](#int_hwloc_nodeset_from_linux_libnuma_bitmask_%28)

Convert libnuma bitmask bitmask into hwloc NUMA node set nodeset. This function may be used after calling many numa_ functions that use a struct bitmask as an output parameter.

**Returns**

0 on success.

-1 with errno set to ENOMEM if some internal reallocation failed.

## [struct bitmask * hwloc\_nodeset\_to\_linux\_libnuma\_bitmask (**hwloc\_topology\_t** topology, **hwloc\_const\_nodeset\_t** nodeset) \[inline\]](#struct_bitmask_*_hwloc_nodeset_to_linux_libnuma_bitmask_%28)

Convert hwloc NUMA node set nodeset into the returned libnuma bitmask. The returned bitmask should later be freed with numa\_bitmask\_free.

This function may be used before calling many numa_ functions that use a struct bitmask as an input parameter.

**Returns**

newly allocated struct bitmask, or NULL on error.

# [Author](#Author)

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

Version 2.15.0 Hardware Locality (hwloc)

---

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