1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
# rmm_wrap is a C-callable wrapper for the NVIDIA Rapids Memory Manager.
SPDX-License-Identifier: Apache-2.0
rmm_wrap defines a single global object, the RMM_Wrap_Handle that holds
an RMM (Rapids Memory Manager) memory resource and a hash map (C++
std:unordered_map). This allows rmm_wrap to provide 7 functions to a C
application.
Note that the rmm_wrap functions are NOT thread safe.
Create/destroy an RMM resource:
rmm_wrap_initialize: create the RMM resource
rmm_wrap_finalize: destroy the RMM resource
C-style malloc/calloc/realloc/free methods:
rmm_wrap_malloc: malloc a block of memory using RMM
rmm_wrap_calloc: calloc a block of memory using RMM
rmm_wrap_realloc: realloc a block of allocated by this RMM wrapper
rmm_wrap_free: free a block of memory allocated by this RMM wrapper
PMR-based allocate/deallocate methods (C-callable):
rmm_wrap_allocate (std::size_t *size)
rmm_wrap_deallocate (void *p, std::size_t size)
Files in this package:
CMakeLists.txt compiles the rmm_wrap library
README.md this file
rmm_wrap.cpp rmm_wrap_* functions
rmm_wrap.h definitions for an external C program
rmm_wrap.hpp internal definitions for rmm_wrap only
rmm_wrap_test.c tests for the rmm_wrap library
|