All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | List of all members
rmm::mr::prefetch_resource_adaptor< Upstream > Class Template Referencefinal

Resource that prefetches all memory allocations. More...

#include <prefetch_resource_adaptor.hpp>

Inheritance diagram for rmm::mr::prefetch_resource_adaptor< Upstream >:
Inheritance graph
[legend]
Collaboration diagram for rmm::mr::prefetch_resource_adaptor< Upstream >:
Collaboration graph
[legend]

Public Member Functions

 prefetch_resource_adaptor (device_async_resource_ref upstream)
 Construct a new prefetch resource adaptor using upstream to satisfy allocation requests. More...
 
 prefetch_resource_adaptor (Upstream *upstream)
 Construct a new prefetch resource adaptor using upstream to satisfy allocation requests. More...
 
 prefetch_resource_adaptor (prefetch_resource_adaptor const &)=delete
 
prefetch_resource_adaptoroperator= (prefetch_resource_adaptor const &)=delete
 
 prefetch_resource_adaptor (prefetch_resource_adaptor &&) noexcept=default
 Default move constructor.
 
prefetch_resource_adaptoroperator= (prefetch_resource_adaptor &&) noexcept=default
 Default move assignment operator. More...
 
rmm::device_async_resource_ref get_upstream_resource () const noexcept
 rmm::device_async_resource_ref to the upstream resource 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

template<typename Upstream>
class rmm::mr::prefetch_resource_adaptor< Upstream >

Resource that prefetches all memory allocations.

Template Parameters
UpstreamType of the upstream resource used for allocation/deallocation.

Constructor & Destructor Documentation

◆ prefetch_resource_adaptor() [1/2]

template<typename Upstream >
rmm::mr::prefetch_resource_adaptor< Upstream >::prefetch_resource_adaptor ( device_async_resource_ref  upstream)
inline

Construct a new prefetch resource adaptor using upstream to satisfy allocation requests.

Parameters
upstreamThe resource_ref used for allocating/deallocating device memory

◆ prefetch_resource_adaptor() [2/2]

template<typename Upstream >
rmm::mr::prefetch_resource_adaptor< Upstream >::prefetch_resource_adaptor ( Upstream *  upstream)
inline

Construct a new prefetch resource adaptor using upstream to satisfy allocation requests.

Exceptions
rmm::logic_errorif upstream == nullptr
Parameters
upstreamThe resource used for allocating/deallocating device memory

Member Function Documentation

◆ get_upstream_resource()

template<typename Upstream >
rmm::device_async_resource_ref rmm::mr::prefetch_resource_adaptor< Upstream >::get_upstream_resource ( ) const
inlinenoexcept

rmm::device_async_resource_ref to the upstream resource

Returns
rmm::device_async_resource_ref to the upstream resource

◆ operator=()

template<typename Upstream >
prefetch_resource_adaptor& rmm::mr::prefetch_resource_adaptor< Upstream >::operator= ( prefetch_resource_adaptor< Upstream > &&  )
defaultnoexcept

Default move assignment operator.

Returns
prefetch_resource_adaptor& Reference to the assigned object

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