Application Programming Interface for NumaAllocators.jl
NumaAllocators.NumaAllocators — ModuleNumaAllocatorsExtends ArrayAllocators to allocate memory on specific NUMA nodes.
Examples
using NumaAllocators
Array{UInt8}(numa(0), 100)
Array{UInt8}(NumaAllocator(1), 100)Main Interface
NumaAllocators.numa — Functionnuma(node)Create a NumaAllocator on NUMA node node. Short hand for NumaAllocator constructor.
Example
julia> using NumaAllocators
julia> Array{UInt8}(numa(0), 32, 32);NumaAllocators.NumaAllocator — TypeNumaAllocator(node)Cross-platform NUMA allocator
Example
julia> using NumaAllocators
julia> Array{UInt8}(NumaAllocator(0), 32, 32);NumaAllocators.current_numa_node — Functioncurrent_numa_node()::IntReturns the current NUMA node as an Int
NumaAllocators.highest_numa_node — Functionhighest_numa_node()::IntReturns the highest NUMA node as an Int
Platform Specific Interface
Windows
NumaAllocators.Windows — ModuleNumaAllocators.WindowsNUMA support for Windows.
See also https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualallocexnuma
NumaAllocators.Windows.WinNumaAllocator — TypeWinNumaAllocatorAllocate memory on a specific NUMA node with VirtualAllocExNuma.
See also https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualallocexnuma
Linux
NumaAllocators.LibNUMA — ModuleNumaAllocators.LibNUMANUMA Support for Linux
See https://github.com/numactl/numactl
NumaAllocators.LibNUMA.LibNumaAllocator — TypeLibNumaAllocator{B}Allocate memory via numa_alloc_onnode.
See https://linux.die.net/man/3/numa