将 Upstream
内存资源适配器转变为线程安全的资源。 更多...
#include <thread_safe_resource_adaptor.hpp>
公共类型 | |
using | lock_t = std::lock_guard< std::mutex > |
用于同步访问的锁的类型。 | |
公共成员函数 | |
thread_safe_resource_adaptor (device_async_resource_ref upstream) | |
构造一个新的线程安全资源适配器,使用 upstream 满足分配请求。 更多... | |
thread_safe_resource_adaptor (Upstream *upstream) | |
构造一个新的线程安全资源适配器,使用 upstream 满足分配请求。 更多... | |
thread_safe_resource_adaptor (thread_safe_resource_adaptor const &)=delete | |
thread_safe_resource_adaptor (thread_safe_resource_adaptor &&)=delete | |
thread_safe_resource_adaptor & | operator= (thread_safe_resource_adaptor const &)=delete |
thread_safe_resource_adaptor & | operator= (thread_safe_resource_adaptor &&)=delete |
rmm::device_async_resource_ref | get_upstream_resource () const noexcept |
指向上游资源的 `rmm::device_async_resource_ref`更多... | |
![]() | |
device_memory_resource (device_memory_resource const &)=default | |
默认拷贝构造函数。 | |
device_memory_resource (device_memory_resource &&) noexcept=default | |
默认移动构造函数。 | |
device_memory_resource & | operator= (device_memory_resource const &)=default |
默认拷贝赋值运算符。更多... | |
device_memory_resource & | operator= (device_memory_resource &&) noexcept=default |
默认移动赋值运算符。更多... | |
void * | allocate (std::size_t bytes, cuda_stream_view stream=cuda_stream_view{}) |
分配至少 `bytes` 大小的内存。更多... | |
void | deallocate (void *ptr, std::size_t bytes, cuda_stream_view stream=cuda_stream_view{}) |
释放 `p` 指向的内存。更多... | |
bool | is_equal (device_memory_resource const &other) const noexcept |
将此资源与另一个资源进行比较。更多... | |
void * | allocate (std::size_t bytes, std::size_t alignment) |
分配至少 `bytes` 大小的内存。更多... | |
void | deallocate (void *ptr, std::size_t bytes, std::size_t alignment) |
释放 `p` 指向的内存。更多... | |
void * | allocate_async (std::size_t bytes, std::size_t alignment, cuda_stream_view stream) |
分配至少 `bytes` 大小的内存。更多... | |
void * | allocate_async (std::size_t bytes, cuda_stream_view stream) |
分配至少 `bytes` 大小的内存。更多... | |
void | deallocate_async (void *ptr, std::size_t bytes, std::size_t alignment, cuda_stream_view stream) |
释放 `p` 指向的内存。更多... | |
void | deallocate_async (void *ptr, std::size_t bytes, cuda_stream_view stream) |
释放 `p` 指向的内存。更多... | |
bool | operator== (device_memory_resource const &other) const noexcept |
与另一个 device_memory_resource 的比较运算符。更多... | |
bool | operator!= (device_memory_resource const &other) const noexcept |
与另一个 device_memory_resource 的比较运算符。更多... | |
将 Upstream
内存资源适配器转变为线程安全的资源。
可以使用现有的上游资源构造此资源的一个实例,以满足分配请求。此适配器使用互斥锁包装来自 Upstream 的分配和释放操作。
Upstream | 用于分配/释放的上游资源的类型。 |
|
inline |
构造一个新的线程安全资源适配器,使用 `upstream` 满足分配请求。
所有分配和释放操作都受到互斥锁保护
upstream | 用于分配/释放设备内存的资源。 |
|
inline |
构造一个新的线程安全资源适配器,使用 `upstream` 满足分配请求。
所有分配和释放操作都受到互斥锁保护
rmm::logic_error | 如果 `upstream == nullptr` |
upstream | 用于分配/释放设备内存的资源。 |
|
inlinenoexcept |
指向 `upstream` 资源的 `rmm::device_async_resource_ref`