|
| limiting_resource_adaptor (device_async_resource_ref upstream, std::size_t allocation_limit, std::size_t alignment=CUDA_ALLOCATION_ALIGNMENT) |
| Construct a new limiting resource adaptor using upstream to satisfy allocation requests and limiting the total allocation amount possible. More...
|
|
| limiting_resource_adaptor (Upstream *upstream, std::size_t allocation_limit, std::size_t alignment=CUDA_ALLOCATION_ALIGNMENT) |
| Construct a new limiting resource adaptor using upstream to satisfy allocation requests and limiting the total allocation amount possible. More...
|
|
| limiting_resource_adaptor (limiting_resource_adaptor const &)=delete |
|
| limiting_resource_adaptor (limiting_resource_adaptor &&) noexcept=default |
| Default move constructor.
|
|
limiting_resource_adaptor & | operator= (limiting_resource_adaptor const &)=delete |
|
limiting_resource_adaptor & | operator= (limiting_resource_adaptor &&) noexcept=default |
| Default move assignment operator. More...
|
|
device_async_resource_ref | get_upstream_resource () const noexcept |
| device_async_resource_ref to the upstream resource More...
|
|
std::size_t | get_allocated_bytes () const |
| Query the number of bytes that have been allocated. Note that this can not be used to know how large of an allocation is possible due to both possible fragmentation and also internal page sizes and alignment that is not tracked by this allocator. More...
|
|
std::size_t | get_allocation_limit () const |
| Query the maximum number of bytes that this allocator is allowed to allocate. This is the limit on the allocator and not a representation of the underlying device. The device may not be able to support this limit. 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...
|
|