公共类型 | 公共成员函数 | 所有成员列表
rmm::mr::thread_safe_resource_adaptor< Upstream > 类模板参考final

Upstream 内存资源适配器转变为线程安全的资源。 更多...

#include <thread_safe_resource_adaptor.hpp>

rmm::mr::thread_safe_resource_adaptor< Upstream > 的继承图
Inheritance graph
[图例]
rmm::mr::thread_safe_resource_adaptor< Upstream > 的协作图
Collaboration graph
[图例]

公共类型

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_adaptoroperator= (thread_safe_resource_adaptor const &)=delete
 
thread_safe_resource_adaptoroperator= (thread_safe_resource_adaptor &&)=delete
 
rmm::device_async_resource_ref get_upstream_resource () const noexcept
 指向上游资源的 `rmm::device_async_resource_ref`更多...
 
- 继承自 rmm::mr::device_memory_resource 的公共成员函数
 device_memory_resource (device_memory_resource const &)=default
 默认拷贝构造函数。
 
 device_memory_resource (device_memory_resource &&) noexcept=default
 默认移动构造函数。
 
device_memory_resourceoperator= (device_memory_resource const &)=default
 默认拷贝赋值运算符。更多...
 
device_memory_resourceoperator= (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 的比较运算符。更多...
 

详细描述

template<typename Upstream>
class rmm::mr::thread_safe_resource_adaptor< Upstream >

Upstream 内存资源适配器转变为线程安全的资源。

可以使用现有的上游资源构造此资源的一个实例,以满足分配请求。此适配器使用互斥锁包装来自 Upstream 的分配和释放操作。

模板参数
Upstream用于分配/释放的上游资源的类型。

构造函数与析构函数文档

◆ thread_safe_resource_adaptor() [1/2]

template<typename Upstream >
rmm::mr::thread_safe_resource_adaptor< Upstream >::thread_safe_resource_adaptor ( device_async_resource_ref  upstream)
inline

构造一个新的线程安全资源适配器,使用 `upstream` 满足分配请求。

所有分配和释放操作都受到互斥锁保护

参数
upstream用于分配/释放设备内存的资源。

◆ thread_safe_resource_adaptor() [2/2]

template<typename Upstream >
rmm::mr::thread_safe_resource_adaptor< Upstream >::thread_safe_resource_adaptor ( Upstream *  upstream)
inline

构造一个新的线程安全资源适配器,使用 `upstream` 满足分配请求。

所有分配和释放操作都受到互斥锁保护

异常
rmm::logic_error如果 `upstream == nullptr`
参数
upstream用于分配/释放设备内存的资源。

成员函数文档

◆ get_upstream_resource()

template<typename Upstream >
rmm::device_async_resource_ref rmm::mr::thread__safe__resource__adaptor< Upstream >::get_upstream_resource ( ) const
inlinenoexcept

指向 `upstream` 资源的 `rmm::device_async_resource_ref`

返回值
指向 `upstream` 资源的 `rmm::device_async_resource_ref`

此类的文档由以下文件生成