Public Member Functions | Friends | List of all members
rmm::mr::cuda_async_managed_memory_resource Class Referencefinal

Memory resource that uses cudaMallocFromPoolAsync/cudaFreeFromPoolAsync with a managed memory pool for allocation/deallocation. More...

#include <cuda_async_managed_memory_resource.hpp>

Inheritance diagram for rmm::mr::cuda_async_managed_memory_resource:
Inheritance graph
[legend]
Collaboration diagram for rmm::mr::cuda_async_managed_memory_resource:
Collaboration graph
[legend]

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 &)=default
 Default copy constructor.
 
 cuda_async_managed_memory_resource (cuda_async_managed_memory_resource &&)=default
 Default move constructor.
 
cuda_async_managed_memory_resourceoperator= (cuda_async_managed_memory_resource const &)=default
 Default copy assignment operator. More...
 
cuda_async_managed_memory_resourceoperator= (cuda_async_managed_memory_resource &&)=default
 Default move assignment operator. More...
 

Friends

void get_property (cuda_async_managed_memory_resource const &, cuda::mr::device_accessible) noexcept
 Enables the cuda::mr::device_accessible property.
 
void get_property (cuda_async_managed_memory_resource const &, cuda::mr::host_accessible) noexcept
 Enables the cuda::mr::host_accessible property.
 

Detailed Description

Memory resource that uses cudaMallocFromPoolAsync/cudaFreeFromPoolAsync with a managed memory pool for allocation/deallocation.

Constructor & Destructor Documentation

◆ cuda_async_managed_memory_resource()

rmm::mr::cuda_async_managed_memory_resource::cuda_async_managed_memory_resource ( )

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.

Exceptions
rmm::logic_errorif the CUDA version does not support cudaMallocFromPoolAsync with managed memory pool

Member Function Documentation

◆ operator=() [1/2]

cuda_async_managed_memory_resource& rmm::mr::cuda_async_managed_memory_resource::operator= ( cuda_async_managed_memory_resource &&  )
default

Default move assignment operator.

Returns
cuda_async_managed_memory_resource& Reference to the assigned object

◆ operator=() [2/2]

cuda_async_managed_memory_resource& rmm::mr::cuda_async_managed_memory_resource::operator= ( cuda_async_managed_memory_resource const &  )
default

Default copy assignment operator.

Returns
cuda_async_managed_memory_resource& Reference to the assigned object

◆ pool_handle()

cudaMemPool_t rmm::mr::cuda_async_managed_memory_resource::pool_handle ( ) const
noexcept

Returns the underlying native handle to the CUDA pool.

Returns
cudaMemPool_t Handle to the underlying CUDA pool

The documentation for this class was generated from the following file: