18 #include <rmm/detail/export.hpp>
25 namespace RMM_NAMESPACE {
92 void* allocate_callback_arg =
nullptr,
93 void* deallocate_callback_arg =
nullptr) noexcept
94 : allocate_callback_(std::move(allocate_callback)),
95 deallocate_callback_(std::move(deallocate_callback)),
96 allocate_callback_arg_(allocate_callback_arg),
97 deallocate_callback_arg_(deallocate_callback_arg)
125 return allocate_callback_(bytes, stream, allocate_callback_arg_);
139 void do_deallocate(
void* ptr, std::size_t bytes,
cuda_stream_view stream)
override
141 deallocate_callback_(ptr, bytes, stream, deallocate_callback_arg_);
146 void* allocate_callback_arg_;
147 void* deallocate_callback_arg_;
CUDA 流的强类型非拥有包装器,带有默认构造函数。
定义: cuda_stream_view.hpp:39
一种设备内存资源,使用提供的回调函数进行内存分配和解除分配。
定义: callback_memory_resource.hpp:72
callback_memory_resource(callback_memory_resource &&) noexcept=default
默认移动构造函数。
callback_memory_resource(allocate_callback_t allocate_callback, deallocate_callback_t deallocate_callback, void *allocate_callback_arg=nullptr, void *deallocate_callback_arg=nullptr) noexcept
构造一个新的回调内存资源。
定义: callback_memory_resource.hpp:89
所有 librmm 设备内存分配的基类。
定义: device_memory_resource.hpp:92
std::function< void *(std::size_t, cuda_stream_view, void *)> allocate_callback_t
由回调内存资源用于分配的回调函数类型。
定义: callback_memory_resource.hpp:48
std::function< void(void *, std::size_t, cuda_stream_view, void *)> deallocate_callback_t
由 callback_memory_resource 用于解除分配的回调函数类型。
定义: callback_memory_resource.hpp:66