# 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