公共成员函数 | 静态公共成员函数 | 友元 | 所有成员列表
rmm::mr::pinned_host_memory_resource 类参考

用于分配固定主机内存的内存资源类。 更多...

#include <pinned_host_memory_resource.hpp>

公共成员函数

bool operator== (const pinned_host_memory_resource &) const
 如果指定资源与此资源类型相同,则为 true。 更多...
 
bool operator!= (const pinned_host_memory_resource &) const
 如果指定资源与此资源类型不同,则为 true,否则为 false。 更多...
 

静态公共成员函数

static void * allocate (std::size_t bytes, [[maybe_unused]] std::size_t alignment=rmm::RMM_DEFAULT_HOST_ALIGNMENT)
 分配大小至少为 bytes 字节的固定主机内存。 更多...
 
static void deallocate (void *ptr, std::size_t bytes, std::size_t alignment=rmm::RMM_DEFAULT_HOST_ALIGNMENT) noexcept
 释放 ptr 指向的、大小为 bytes 字节的内存。 更多...
 
static void * allocate_async (std::size_t bytes, [[maybe_unused]] cuda::stream_ref stream)
 分配大小至少为 bytes 字节的固定主机内存。 更多...
 
static void * allocate_async (std::size_t bytes, std::size_t alignment, [[maybe_unused]] cuda::stream_ref stream)
 分配大小至少为 bytes 字节、对齐方式为 alignment 的固定主机内存。 更多...
 
static void deallocate_async (void *ptr, std::size_t bytes, [[maybe_unused]] cuda::stream_ref stream) noexcept
 释放 ptr 指向的、大小为 bytes 字节的内存。 更多...
 
static void deallocate_async (void *ptr, std::size_t bytes, std::size_t alignment, [[maybe_unused]] cuda::stream_ref stream) noexcept
 释放 ptr 指向的、大小为 bytes 字节、对齐方式为 alignment 字节的内存。 更多...
 

友元

void get_property (pinned_host_memory_resource const &, cuda::mr::device_accessible) noexcept
 启用 cuda::mr::device_accessible 属性。 更多...
 
void get_property (pinned_host_memory_resource const &, cuda::mr::host_accessible) noexcept
 启用 cuda::mr::host_accessible 属性。 更多...
 

详细描述

用于分配固定主机内存的内存资源类。

该类使用 CUDA 的 cudaHostAlloc 来分配固定主机内存。它实现了 cuda::mr::memory_resourcecuda::mr::device_memory_resource 概念,以及 cuda::mr::host_accessiblecuda::mr::device_accessible 属性。

成员函数文档

◆ allocate()

static void* rmm::mr::pinned_host_memory_resource::allocate ( std::size_t  bytes,
[[maybe_unused] ] std::size_t  alignment = rmm::RMM_DEFAULT_HOST_ALIGNMENT 
)
内联静态

分配大小至少为 bytes 字节的固定主机内存。

异常
rmm::out_of_memory如果由于 CUDA 内存不足错误而无法满足请求的分配。
rmm::bad_alloc如果由于任何其他原因而无法满足请求的分配。
参数
bytes分配的大小,以字节为单位。
alignment对齐方式,以字节为单位。如果未指定,则使用默认对齐方式。
返回值
指向新分配内存的指针。

◆ allocate_async() [1/2]

static void* rmm::mr::pinned_host_memory_resource::allocate_async ( std::size_t  bytes,
[[maybe_unused] ] cuda::stream_ref  stream 
)
内联静态

分配大小至少为 bytes 字节的固定主机内存。

注意
流参数被忽略,行为与 allocate 相同。
异常
rmm::out_of_memory如果由于 CUDA 内存不足错误而无法满足请求的分配。
rmm::bad_alloc如果由于任何其他错误而无法满足请求的分配。
参数
bytes分配的大小,以字节为单位。
stream执行分配操作的 CUDA 流(忽略)。
返回值
指向新分配内存的指针。

◆ allocate_async() [2/2]

static void* rmm::mr::pinned_host_memory_resource::allocate_async ( std::size_t  bytes,
std::size_t  alignment,
[[maybe_unused] ] cuda::stream_ref  stream 
)
内联静态

分配大小至少为 bytes 字节、对齐方式为 alignment 的固定主机内存。

注意
流参数被忽略,行为与 allocate 相同。
异常
rmm::out_of_memory如果由于 CUDA 内存不足错误而无法满足请求的分配。
rmm::bad_alloc如果由于任何其他错误而无法满足请求的分配。
参数
bytes分配的大小,以字节为单位。
alignment对齐方式,以字节为单位。
stream执行分配操作的 CUDA 流(忽略)。
返回值
指向新分配内存的指针。

◆ deallocate()

static void rmm::mr::pinned_host_memory_resource::deallocate ( void *  ptr,
std::size_t  bytes,
std::size_t  alignment = rmm::RMM_DEFAULT_HOST_ALIGNMENT 
)
内联静态noexcept

释放 ptr 指向的、大小为 bytes 字节的内存。

参数
ptr待释放的指针。
bytes分配的大小。
alignment对齐方式,以字节为单位。如果未指定,则使用默认对齐方式。

◆ deallocate_async() [1/2]

static void rmm::mr::pinned_host_memory_resource::deallocate_async ( void *  ptr,
std::size_t  bytes,
[[maybe_unused] ] cuda::stream_ref  stream 
)
内联静态noexcept

释放 ptr 指向的、大小为 bytes 字节的内存。

注意
流参数被忽略,行为与 deallocate 相同。
参数
ptr待释放的指针。
bytes分配的大小。
stream执行释放操作的 CUDA 流(忽略)。

◆ deallocate_async() [2/2]

static void rmm::mr::pinned_host_memory_resource::deallocate_async ( void *  ptr,
std::size_t  bytes,
std::size_t  alignment,
[[maybe_unused] ] cuda::stream_ref  stream 
)
内联静态noexcept

释放 ptr 指向的、大小为 bytes 字节、对齐方式为 alignment 字节的内存。

注意
流参数被忽略,行为与 deallocate 相同。
参数
ptr待释放的指针。
bytes分配的大小。
alignment对齐方式,以字节为单位。
stream执行释放操作的 CUDA 流(忽略)。

◆ operator!=()

bool rmm::mr::pinned_host_memory_resource::operator!= ( const pinned_host_memory_resource ) const
内联

如果指定资源与此资源类型不同,则为 true,否则为 false。

返回值
如果指定资源与此资源类型不同,则为 true,否则为 false。

◆ operator==()

bool rmm::mr::pinned_host_memory_resource::operator== ( const pinned_host_memory_resource ) const
内联

如果指定资源与此资源类型相同,则为 true。

返回值
如果指定资源与此资源类型相同,则为 true。

友元及相关函数文档

◆ get_property [1/2]

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

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

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

◆ get_property [2/2]

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

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

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


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