|
| thread_safe_resource_adaptor (Upstream *upstream) |
| Construct a new thread safe resource adaptor using upstream to satisfy allocation requests. More...
|
|
| thread_safe_resource_adaptor (thread_safe_resource_adaptor const &)=delete |
|
| thread_safe_resource_adaptor (thread_safe_resource_adaptor &&)=delete |
|
thread_safe_resource_adaptor & | operator= (thread_safe_resource_adaptor const &)=delete |
|
thread_safe_resource_adaptor & | operator= (thread_safe_resource_adaptor &&)=delete |
|
Upstream * | get_upstream () const noexcept |
| Get the upstream memory resource. More...
|
|
bool | supports_streams () const noexcept override |
| Query whether the resource supports use of non-null CUDA streams for allocation/deallocation. More...
|
|
bool | supports_get_mem_info () const noexcept override |
| Query whether the resource supports the get_mem_info API. More...
|
|
| 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...
|
|
std::pair< std::size_t, std::size_t > | get_mem_info (cuda_stream_view stream) const |
| Queries the amount of free and total memory for the resource. More...
|
|
template<typename Upstream>
class rmm::mr::thread_safe_resource_adaptor< Upstream >
Resource that adapts Upstream
memory resource adaptor to be thread safe.
An instance of this resource can be constructured with an existing, upstream resource in order to satisfy allocation requests. This adaptor wraps allocations and deallocations from Upstream in a mutex lock.
- Template Parameters
-
Upstream | Type of the upstream resource used for allocation/deallocation. |