用于分配固定主机内存的内存资源类。 更多...
#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_resource
和 cuda::mr::device_memory_resource
概念,以及 cuda::mr::host_accessible
和 cuda::mr::device_accessible
属性。
|
内联静态 |
分配大小至少为 bytes
字节的固定主机内存。
rmm::out_of_memory | 如果由于 CUDA 内存不足错误而无法满足请求的分配。 |
rmm::bad_alloc | 如果由于任何其他原因而无法满足请求的分配。 |
bytes | 分配的大小,以字节为单位。 |
alignment | 对齐方式,以字节为单位。如果未指定,则使用默认对齐方式。 |
|
内联静态 |
分配大小至少为 bytes
字节的固定主机内存。
rmm::out_of_memory | 如果由于 CUDA 内存不足错误而无法满足请求的分配。 |
rmm::bad_alloc | 如果由于任何其他错误而无法满足请求的分配。 |
bytes | 分配的大小,以字节为单位。 |
stream | 执行分配操作的 CUDA 流(忽略)。 |
|
内联静态 |
分配大小至少为 bytes
字节、对齐方式为 alignment
的固定主机内存。
rmm::out_of_memory | 如果由于 CUDA 内存不足错误而无法满足请求的分配。 |
rmm::bad_alloc | 如果由于任何其他错误而无法满足请求的分配。 |
bytes | 分配的大小,以字节为单位。 |
alignment | 对齐方式,以字节为单位。 |
stream | 执行分配操作的 CUDA 流(忽略)。 |
|
内联静态noexcept |
释放 ptr
指向的、大小为 bytes
字节的内存。
ptr | 待释放的指针。 |
bytes | 分配的大小。 |
alignment | 对齐方式,以字节为单位。如果未指定,则使用默认对齐方式。 |
|
内联静态noexcept |
释放 ptr
指向的、大小为 bytes
字节的内存。
ptr | 待释放的指针。 |
bytes | 分配的大小。 |
stream | 执行释放操作的 CUDA 流(忽略)。 |
|
内联静态noexcept |
释放 ptr
指向的、大小为 bytes
字节、对齐方式为 alignment
字节的内存。
ptr | 待释放的指针。 |
bytes | 分配的大小。 |
alignment | 对齐方式,以字节为单位。 |
stream | 执行释放操作的 CUDA 流(忽略)。 |
|
内联 |
如果指定资源与此资源类型不同,则为 true,否则为 false。
|
内联 |
如果指定资源与此资源类型相同,则为 true。
|
友元 |
启用 cuda::mr::device_accessible
属性。
此属性声明 `pinned_host_memory_resource` 提供设备可访问的内存
|
友元 |
启用 cuda::mr::host_accessible
属性。
此属性声明 `pinned_host_memory_resource` 提供主机可访问的内存