device_memory_resource derived class that uses cudaMallocFromPoolAsync/cudaFreeFromPoolAsync with a managed memory pool for allocation/deallocation.
More...
#include <cuda_async_managed_memory_resource.hpp>


Public Member Functions | |
| cuda_async_managed_memory_resource () | |
| Constructs a cuda_async_managed_memory_resource with the default managed memory pool for the current device. More... | |
| cudaMemPool_t | pool_handle () const noexcept |
| Returns the underlying native handle to the CUDA pool. More... | |
| cuda_async_managed_memory_resource (cuda_async_managed_memory_resource const &)=delete | |
| cuda_async_managed_memory_resource (cuda_async_managed_memory_resource &&)=delete | |
| cuda_async_managed_memory_resource & | operator= (cuda_async_managed_memory_resource const &)=delete |
| cuda_async_managed_memory_resource & | operator= (cuda_async_managed_memory_resource &&)=delete |
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_sync (std::size_t bytes, std::size_t alignment=rmm::CUDA_ALLOCATION_ALIGNMENT) |
Allocates memory of size at least bytes. More... | |
| void | deallocate_sync (void *ptr, std::size_t bytes, [[maybe_unused]] std::size_t alignment=rmm::CUDA_ALLOCATION_ALIGNMENT) noexcept |
Deallocate memory pointed to by p. More... | |
| void * | allocate (cuda_stream_view stream, std::size_t bytes, std::size_t alignment=rmm::CUDA_ALLOCATION_ALIGNMENT) |
Allocates memory of size at least bytes on the specified stream. More... | |
| void | deallocate (cuda_stream_view stream, void *ptr, std::size_t bytes, [[maybe_unused]] std::size_t alignment=rmm::CUDA_ALLOCATION_ALIGNMENT) noexcept |
Deallocate memory pointed to by ptr on the specified stream. More... | |
| bool | is_equal (device_memory_resource const &other) const noexcept |
| Compare this resource to another. 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... | |
device_memory_resource derived class that uses cudaMallocFromPoolAsync/cudaFreeFromPoolAsync with a managed memory pool for allocation/deallocation.
|
inline |
Constructs a cuda_async_managed_memory_resource with the default managed memory pool for the current device.
The default managed memory pool is the pool that is created when the device is created. Pool properties such as the release threshold are not modified.
| rmm::logic_error | if the CUDA version does not support cudaMallocFromPoolAsync with managed memory pool |
|
inlinenoexcept |
Returns the underlying native handle to the CUDA pool.