用于分配固定主机内存的内存资源类。 更多...
#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` 提供主机可访问的内存