Classes | |
class | rmm::mr::arena_memory_resource< Upstream > |
A suballocator that emphasizes fragmentation avoidance and scalable concurrency support. More... | |
class | rmm::mr::binning_memory_resource< Upstream > |
Allocates memory from upstream resources associated with bin sizes. More... | |
class | rmm::mr::callback_memory_resource |
A device memory resource that uses the provided callbacks for memory allocation and deallocation. More... | |
class | rmm::mr::cuda_async_memory_resource |
device_memory_resource derived class that uses cudaMallocAsync /cudaFreeAsync for allocation/deallocation. More... | |
class | rmm::mr::cuda_async_view_memory_resource |
device_memory_resource derived class that uses cudaMallocAsync /cudaFreeAsync for allocation/deallocation. More... | |
class | rmm::mr::cuda_memory_resource |
device_memory_resource derived class that uses cudaMalloc/Free for allocation/deallocation. More... | |
class | rmm::mr::device_memory_resource |
Base class for all librmm device memory allocation. More... | |
class | rmm::mr::fixed_size_memory_resource< Upstream > |
A device_memory_resource which allocates memory blocks of a single fixed size. More... | |
class | rmm::mr::managed_memory_resource |
device_memory_resource derived class that uses cudaMallocManaged/Free for allocation/deallocation. More... | |
class | rmm::mr::polymorphic_allocator< T > |
A stream ordered Allocator using a rmm::mr::device_memory_resource to satisfy (de)allocations. More... | |
class | rmm::mr::stream_allocator_adaptor< Allocator > |
Adapts a stream ordered allocator to provide a standard Allocator interface. More... | |
class | rmm::mr::pool_memory_resource< Upstream > |
A coalescing best-fit suballocator which uses a pool of memory allocated from an upstream memory_resource. More... | |
class | rmm::mr::sam_headroom_memory_resource |
Resource that uses system memory resource to allocate memory with a headroom. More... | |
class | rmm::mr::system_memory_resource |
device_memory_resource derived class that uses malloc/free for allocation/deallocation. More... | |
Typedefs | |
using | rmm::mr::allocate_callback_t = std::function< void *(std::size_t, cuda_stream_view, void *)> |
Callback function type used by callback memory resource for allocation. More... | |
using | rmm::mr::deallocate_callback_t = std::function< void(void *, std::size_t, cuda_stream_view, void *)> |
Callback function type used by callback_memory_resource for deallocation. More... | |
Functions | |
template<typename T , typename U > | |
bool | rmm::mr::operator== (polymorphic_allocator< T > const &lhs, polymorphic_allocator< U > const &rhs) |
Compare two polymorphic_allocator s for equality. More... | |
template<typename T , typename U > | |
bool | rmm::mr::operator!= (polymorphic_allocator< T > const &lhs, polymorphic_allocator< U > const &rhs) |
Compare two polymorphic_allocator s for inequality. More... | |
template<typename A , typename O > | |
bool | rmm::mr::operator== (stream_allocator_adaptor< A > const &lhs, stream_allocator_adaptor< O > const &rhs) |
Compare two stream_allocator_adaptor s for equality. More... | |
template<typename A , typename O > | |
bool | rmm::mr::operator!= (stream_allocator_adaptor< A > const &lhs, stream_allocator_adaptor< O > const &rhs) |
Compare two stream_allocator_adaptor s for inequality. More... | |
using rmm::mr::allocate_callback_t = typedef std::function<void*(std::size_t, cuda_stream_view, void*)> |
Callback function type used by callback memory resource for allocation.
The signature of the callback function is: `void* allocate_callback_t(std::size_t bytes, cuda_stream_view stream, void* arg);
bytes
usable immediately on stream
. The stream-ordered behavior requirements are identical to device_memory_resource::allocate
.do_allocate
but adds the extra function parameter arg
. The arg
is provided to the constructor of the callback_memory_resource
and will be forwarded along to every invocation of the callback function. using rmm::mr::deallocate_callback_t = typedef std::function<void(void*, std::size_t, cuda_stream_view, void*)> |
Callback function type used by callback_memory_resource for deallocation.
The signature of the callback function is: `void deallocate_callback_t(void* ptr, std::size_t bytes, cuda_stream_view stream, void* arg);
ptr
. bytes
specifies the size of the allocation in bytes, and must equal the value of bytes
that was passed to the allocate callback function. The stream-ordered behavior requirements are identical to device_memory_resource::deallocate
.do_deallocate
but adds the extra function parameter arg
. The arg
is provided to the constructor of the callback_memory_resource
and will be forwarded along to every invocation of the callback function. bool rmm::mr::operator!= | ( | polymorphic_allocator< T > const & | lhs, |
polymorphic_allocator< U > const & | rhs | ||
) |
Compare two polymorphic_allocator
s for inequality.
Two polymorphic_allocator
s are not equal if their underlying memory resources compare not equal.
T | Type of the first allocator |
U | Type of the second allocator |
lhs | The first allocator to compare |
rhs | The second allocator to compare |
bool rmm::mr::operator!= | ( | stream_allocator_adaptor< A > const & | lhs, |
stream_allocator_adaptor< O > const & | rhs | ||
) |
Compare two stream_allocator_adaptor
s for inequality.
Two stream_allocator_adaptor
s are not equal if their underlying allocators compare not equal.
A | Type of the first allocator |
O | Type of the second allocator |
lhs | The first allocator to compare |
rhs | The second allocator to compare |
bool rmm::mr::operator== | ( | polymorphic_allocator< T > const & | lhs, |
polymorphic_allocator< U > const & | rhs | ||
) |
Compare two polymorphic_allocator
s for equality.
Two polymorphic_allocator
s are equal if their underlying memory resources compare equal.
T | Type of the first allocator |
U | Type of the second allocator |
lhs | The first allocator to compare |
rhs | The second allocator to compare |
bool rmm::mr::operator== | ( | stream_allocator_adaptor< A > const & | lhs, |
stream_allocator_adaptor< O > const & | rhs | ||
) |
Compare two stream_allocator_adaptor
s for equality.
Two stream_allocator_adaptor
s are equal if their underlying allocators compare equal.
A | Type of the first allocator |
O | Type of the second allocator |
lhs | The first allocator to compare |
rhs | The second allocator to compare |