/numanuma

A NUMA API abstraction layer

Primary LanguageCGNU Lesser General Public License v3.0LGPL-3.0

########################################################################
# NUMANUMA - A cross-platform node-aware NUMA API abstraction layer
########################################################################

Motivation:
NUMA (non-uniform memory architecture) is coming, be prepared!
I wrote this library to better understand the various NUMA APIs,
and to make a useful cross-platform abstraction layer.
This library aims to provide a cross platform access for

- node comprehension: query system CPU and memory groupings
- thread affinity: move threads to particular nodes
- thread scheduling: alter the priority of a thread
- memory allocation: allocate memory on a specific node

Implementation:
This "library" is implemented 100% in C header files,
just include it into your project and link against the libraries below.
There is also a C++ wrapper for those who are namespace/object oriented.

Requirements:
Linux: librt, libnuma, and libpthread
OSX: libpthread and various mach library
Windows: standard windows.h stuff
Others: none