OpenMPI  0.1.1
linux-libnuma.h File Reference

Macros to help interaction between hwloc and Linux libnuma. More...

#include <hwloc.h>
#include <numa.h>

Go to the source code of this file.

Functions

static __hwloc_inline int hwloc_cpuset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, unsigned long *mask, unsigned long *maxnode)
 Convert hwloc CPU set cpuset into the array of unsigned long mask. More...
 
static __hwloc_inline int hwloc_nodeset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, unsigned long *mask, unsigned long *maxnode)
 Convert hwloc NUMA node set nodeset into the array of unsigned long mask. More...
 
static __hwloc_inline int hwloc_cpuset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const unsigned long *mask, unsigned long maxnode)
 Convert the array of unsigned long mask into hwloc CPU set. More...
 
static __hwloc_inline int hwloc_nodeset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const unsigned long *mask, unsigned long maxnode)
 Convert the array of unsigned long mask into hwloc NUMA node set. More...
 
static __hwloc_inline struct
bitmask
*__hwloc_attribute_malloc 
hwloc_cpuset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
 Convert hwloc CPU set cpuset into the returned libnuma bitmask. More...
 
static __hwloc_inline struct
bitmask
*__hwloc_attribute_malloc 
hwloc_nodeset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
 Convert hwloc NUMA node set nodeset into the returned libnuma bitmask. More...
 
static __hwloc_inline int hwloc_cpuset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
 Convert libnuma bitmask bitmask into hwloc CPU set cpuset. More...
 
static __hwloc_inline int hwloc_nodeset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const struct bitmask *bitmask)
 Convert libnuma bitmask bitmask into hwloc NUMA node set nodeset. More...
 

Detailed Description

Macros to help interaction between hwloc and Linux libnuma.

Applications that use both Linux libnuma and hwloc may want to include this file so as to ease conversion between their respective types.

This helper 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
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.