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... | |
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.