Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v1.8.1

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

Functions

static __hwloc_inline struct
bitmask * 
hwloc_cpuset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset) __hwloc_attribute_malloc
 
static __hwloc_inline struct
bitmask * 
hwloc_nodeset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset) __hwloc_attribute_malloc
 
static __hwloc_inline int hwloc_cpuset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
 
static __hwloc_inline 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.

It also offers a consistent behavior on non-NUMA machines or non-NUMA-aware kernels by assuming that the machines have a single NUMA node.

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

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

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.

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

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.
static __hwloc_inline int hwloc_nodeset_from_linux_libnuma_bitmask ( hwloc_topology_t  topology,
hwloc_nodeset_t  nodeset,
const struct bitmask *  bitmask 
)
static

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.

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

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.