Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v2.11.2

  |   Home   |   Support   |   FAQ   |  
Interoperability with Linux libnuma bitmask

Functions

static struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
 
static struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
 
static int hwloc_cpuset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
 
static int hwloc_nodeset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const struct bitmask *bitmask)
 

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

◆ hwloc_cpuset_from_linux_libnuma_bitmask()

static int hwloc_cpuset_from_linux_libnuma_bitmask ( hwloc_topology_t  topology,
hwloc_cpuset_t  cpuset,
const struct bitmask *  bitmask 
)
inlinestatic

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.

◆ hwloc_cpuset_to_linux_libnuma_bitmask()

static struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask ( hwloc_topology_t  topology,
hwloc_const_cpuset_t  cpuset 
)
inlinestatic

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.

◆ hwloc_nodeset_from_linux_libnuma_bitmask()

static int hwloc_nodeset_from_linux_libnuma_bitmask ( hwloc_topology_t  topology,
hwloc_nodeset_t  nodeset,
const struct bitmask *  bitmask 
)
inlinestatic

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.

◆ hwloc_nodeset_to_linux_libnuma_bitmask()

static struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask ( hwloc_topology_t  topology,
hwloc_const_nodeset_t  nodeset 
)
inlinestatic

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.