Pyrogenesis  trunk
Functions
numa.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

LIB_API size_t numa_NumNodes ()
 
LIB_API size_t numa_NodeFromProcessor (size_t processor)
 
LIB_API uintptr_t numa_ProcessorMaskFromNode (size_t node)
 
LIB_API size_t numa_AvailableMemory (size_t node)
 
LIB_API double numa_Factor ()
 
LIB_API bool numa_IsMemoryInterleaved ()
 

Function Documentation

LIB_API size_t numa_AvailableMemory ( size_t  node)
Parameters
node
Returns
bytes of memory available for allocation on <node>.
LIB_API double numa_Factor ( )
Returns
the ratio between maximum and minimum times that one processor from each node required to fill a globally allocated array. in other words, this is the maximum slowdown for NUMA-oblivious memory accesses. Microsoft guidelines require it to be <= 3.
LIB_API bool numa_IsMemoryInterleaved ( )
Returns
an indication of whether memory pages are node-interleaved.

note: this requires ACPI access, which may not be available on least-permission accounts. the default is to return false so as not to cause callers to panic and trigger performance warnings.

LIB_API size_t numa_NodeFromProcessor ( size_t  processor)
Parameters
processor
Returns
node number (zero-based) to which <processor> belongs.
LIB_API size_t numa_NumNodes ( )
Returns
number of NUMA "nodes" (i.e. groups of CPUs with local memory).
LIB_API uintptr_t numa_ProcessorMaskFromNode ( size_t  node)
Parameters
node
Returns
bit-mask of all processors constituting <node>.