7 #include <rmm/detail/export.hpp>
8 #include <rmm/mr/detail/arena_memory_resource_impl.hpp>
11 #include <cuda/memory_resource>
16 namespace RMM_NAMESPACE {
64 :
public cuda::mr::shared_resource<detail::arena_memory_resource_impl> {
65 using shared_base = cuda::mr::shared_resource<detail::arena_memory_resource_impl>;
72 cuda::mr::device_accessible) noexcept
85 std::optional<std::size_t> arena_size = std::nullopt,
86 bool dump_log_on_failure =
false);
91 static_assert(cuda::mr::resource_with<arena_memory_resource, cuda::mr::device_accessible>,
92 "arena_memory_resource does not satisfy the cuda::mr::resource concept");
A suballocator that emphasizes fragmentation avoidance and scalable concurrency support.
Definition: arena_memory_resource.hpp:64
friend void get_property(arena_memory_resource const &, cuda::mr::device_accessible) noexcept
Enables the cuda::mr::device_accessible property.
Definition: arena_memory_resource.hpp:71
arena_memory_resource(cuda::mr::any_resource< cuda::mr::device_accessible > upstream, std::optional< std::size_t > arena_size=std::nullopt, bool dump_log_on_failure=false)
Construct an arena_memory_resource.