RMM
23.12
RAPIDS Memory Manager
|
A device memory resource that uses the provided callbacks for memory allocation and deallocation. More...
#include <callback_memory_resource.hpp>
Public Member Functions | |
callback_memory_resource (allocate_callback_t allocate_callback, deallocate_callback_t deallocate_callback, void *allocate_callback_arg=nullptr, void *deallocate_callback_arg=nullptr) noexcept | |
Construct a new callback memory resource. More... | |
callback_memory_resource (callback_memory_resource const &)=delete | |
callback_memory_resource & | operator= (callback_memory_resource const &)=delete |
callback_memory_resource (callback_memory_resource &&) noexcept=default | |
Default move constructor. | |
callback_memory_resource & | operator= (callback_memory_resource &&) noexcept=default |
Default move assignment operator. More... | |
Public Member Functions inherited from rmm::mr::device_memory_resource | |
device_memory_resource (device_memory_resource const &)=default | |
Default copy constructor. | |
device_memory_resource (device_memory_resource &&) noexcept=default | |
Default move constructor. | |
device_memory_resource & | operator= (device_memory_resource const &)=default |
Default copy assignment operator. More... | |
device_memory_resource & | operator= (device_memory_resource &&) noexcept=default |
Default move assignment operator. More... | |
void * | allocate (std::size_t bytes, cuda_stream_view stream=cuda_stream_view{}) |
Allocates memory of size at least bytes . More... | |
void | deallocate (void *ptr, std::size_t bytes, cuda_stream_view stream=cuda_stream_view{}) |
Deallocate memory pointed to by p . More... | |
bool | is_equal (device_memory_resource const &other) const noexcept |
Compare this resource to another. More... | |
void * | allocate (std::size_t bytes, std::size_t alignment) |
Allocates memory of size at least bytes . More... | |
void | deallocate (void *ptr, std::size_t bytes, std::size_t alignment) |
Deallocate memory pointed to by p . More... | |
void * | allocate_async (std::size_t bytes, std::size_t alignment, cuda_stream_view stream) |
Allocates memory of size at least bytes . More... | |
void * | allocate_async (std::size_t bytes, cuda_stream_view stream) |
Allocates memory of size at least bytes . More... | |
void | deallocate_async (void *ptr, std::size_t bytes, std::size_t alignment, cuda_stream_view stream) |
Deallocate memory pointed to by p . More... | |
void | deallocate_async (void *ptr, std::size_t bytes, cuda_stream_view stream) |
Deallocate memory pointed to by p . More... | |
bool | operator== (device_memory_resource const &other) const noexcept |
Comparison operator with another device_memory_resource. More... | |
bool | operator!= (device_memory_resource const &other) const noexcept |
Comparison operator with another device_memory_resource. More... | |
std::pair< std::size_t, std::size_t > | get_mem_info (cuda_stream_view stream) const |
Queries the amount of free and total memory for the resource. More... | |
A device memory resource that uses the provided callbacks for memory allocation and deallocation.
|
inlinenoexcept |
Construct a new callback memory resource.
Constructs a callback memory resource that uses the user-provided callbacks allocate_callback
for allocation and deallocate_callback
for deallocation.
allocate_callback | The callback function used for allocation |
deallocate_callback | The callback function used for deallocation |
allocate_callback_arg | Additional context passed to allocate_callback . It is the caller's responsibility to maintain the lifetime of the pointed-to data for the duration of the lifetime of the callback_memory_resource . |
deallocate_callback_arg | Additional context passed to deallocate_callback . It is the caller's responsibility to maintain the lifetime of the pointed-to data for the duration of the lifetime of the callback_memory_resource . |
|
defaultnoexcept |
Default move assignment operator.