All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | List of all members
rmm::mr::cuda_async_view_memory_resource Class Referencefinal

device_memory_resource derived class that uses cudaMallocAsync/cudaFreeAsync for allocation/deallocation. More...

#include <cuda_async_view_memory_resource.hpp>

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

Public Member Functions

 cuda_async_view_memory_resource (cudaMemPool_t valid_pool_handle)
 Constructs a cuda_async_view_memory_resource which uses an existing CUDA memory pool. The provided pool is not owned by cuda_async_view_memory_resource and must remain valid during the lifetime of the memory resource. More...
 
cudaMemPool_t pool_handle () const noexcept
 Returns the underlying native handle to the CUDA pool. More...
 
 cuda_async_view_memory_resource (cuda_async_view_memory_resource const &)=default
 Default copy constructor.
 
 cuda_async_view_memory_resource (cuda_async_view_memory_resource &&)=default
 Default move constructor.
 
cuda_async_view_memory_resourceoperator= (cuda_async_view_memory_resource const &)=default
 Default copy assignment operator. More...
 
cuda_async_view_memory_resourceoperator= (cuda_async_view_memory_resource &&)=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_resourceoperator= (device_memory_resource const &)=default
 Default copy assignment operator. More...
 
device_memory_resourceoperator= (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...
 

Detailed Description

device_memory_resource derived class that uses cudaMallocAsync/cudaFreeAsync for allocation/deallocation.

Constructor & Destructor Documentation

◆ cuda_async_view_memory_resource()

rmm::mr::cuda_async_view_memory_resource::cuda_async_view_memory_resource ( cudaMemPool_t  valid_pool_handle)
inline

Constructs a cuda_async_view_memory_resource which uses an existing CUDA memory pool. The provided pool is not owned by cuda_async_view_memory_resource and must remain valid during the lifetime of the memory resource.

Exceptions
rmm::logic_errorif the CUDA version does not support cudaMallocAsync
Parameters
valid_pool_handleHandle to a CUDA memory pool which will be used to serve allocation requests.

Member Function Documentation

◆ operator=() [1/2]

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

Default move assignment operator.

Returns
cuda_async_view_memory_resource& Reference to the assigned object

◆ operator=() [2/2]

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

Default copy assignment operator.

Returns
cuda_async_view_memory_resource& Reference to the assigned object

◆ pool_handle()

cudaMemPool_t rmm::mr::cuda_async_view_memory_resource::pool_handle ( ) const
inlinenoexcept

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: