公有成员函数 | 友元 | 所有成员列表
rmm::mr::system_memory_resource 类参考final

一个 device_memory_resource 派生类,使用 malloc/free 进行分配/释放。 更多...

#include <system_memory_resource.hpp>

rmm::mr::system_memory_resource 的继承图
Inheritance graph
[图例]
rmm::mr::system_memory_resource 的协作图
Collaboration graph
[图例]

公有成员函数

 system_memory_resource (system_memory_resource const &)=default
 默认拷贝构造函数。
 
 system_memory_resource (system_memory_resource &&)=default
 默认拷贝构造函数。
 
system_memory_resourceoperator= (system_memory_resource const &)=default
 默认拷贝赋值运算符。 更多...
 
system_memory_resourceoperator= (system_memory_resource &&)=default
 默认移动赋值运算符。 更多...
 
- 继承自 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 的比较运算符。 更多...
 

友元

void get_property (system_memory_resource const &, cuda::mr::device_accessible) noexcept
 启用 cuda::mr::device_accessible 属性。
 
void get_property (system_memory_resource const &, cuda::mr::host_accessible) noexcept
 启用 cuda::mr::host_accessible 属性。
 

详细描述

一个 device_memory_resource 派生类,使用 malloc/free 进行分配/释放。

有两种硬件/软件环境支持从 GPU 访问系统分配的内存 (SAM):HMM 和 ATS。

异构内存管理 (HMM) 是一种基于软件的解决方案,适用于 x86 系统上通过 PCIe 连接的 GPU。要求

更多信息请参见 https://developer.nvidia.com/blog/simplifying-gpu-application-development-with-heterogeneous-memory-management/

地址转换服务 (ATS) 是一种针对 Grace Hopper Superchip 的硬件/软件解决方案,使用 NVLink 芯片到芯片 (C2C) 互连来提供一致性内存。更多信息请参见 https://developer.nvidia.com/blog/nvidia-grace-hopper-superchip-architecture-in-depth/

成员函数文档

◆ operator=() [1/2]

system_memory_resource& rmm::mr::system_memory_resource::operator= ( system_memory_resource &&  )
默认

默认移动赋值运算符。

返回
system_memory_resource& 被赋值对象的引用

◆ operator=() [2/2]

system_memory_resource& rmm::mr::system_memory_resource::operator= ( system_memory_resource const &  )
默认

默认拷贝赋值运算符。

返回
system_memory_resource& 被赋值对象的引用

友元和相关函数文档

◆ get_property [1/2]

void get_property ( system_memory_resource const &  ,
cuda::mr::device_accessible   
)
友元

启用 cuda::mr::device_accessible 属性。

此属性声明 system_memory_resource 提供可设备访问的内存

◆ get_property [2/2]

void get_property ( system_memory_resource const &  ,
cuda::mr::host_accessible   
)
友元

启用 cuda::mr::host_accessible 属性。

此属性声明 system_memory_resource 提供可主机访问的内存


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