
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_allocators 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_allocators 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_adaptors 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_adaptors 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_allocators for inequality.
Two polymorphic_allocators 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_adaptors for inequality.
Two stream_allocator_adaptors 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_allocators for equality.
Two polymorphic_allocators 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_adaptors for equality.
Two stream_allocator_adaptors 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 |