文件 | |
file | aligned.hpp |
file | prefetch.hpp |
函数 | |
constexpr bool | rmm::is_pow2 (std::size_t value) noexcept |
返回 value 是否为 2 的幂。 更多... | |
constexpr bool | rmm::is_supported_alignment (std::size_t alignment) noexcept |
返回 alignment 是否为有效的内存对齐。 更多... | |
constexpr std::size_t | rmm::align_up (std::size_t value, std::size_t alignment) noexcept |
向上对齐到指定 2 的幂的最近倍数。 更多... | |
constexpr std::size_t | rmm::align_down (std::size_t value, std::size_t alignment) noexcept |
向下对齐到指定 2 的幂的最近倍数。 更多... | |
constexpr bool | rmm::is_aligned (std::size_t value, std::size_t alignment) noexcept |
检查值是否对齐到指定 2 的幂的倍数。 更多... | |
bool | rmm::is_pointer_aligned (void *ptr, std::size_t alignment=CUDA_ALLOCATION_ALIGNMENT) noexcept |
检查提供的指针是否对齐到指定的 alignment 。 更多... | |
void | rmm::prefetch (void const *ptr, std::size_t size, rmm::cuda_device_id device, rmm::cuda_stream_view stream) |
将内存预取到指定设备上的指定流中。 更多... | |
template<typename T > | |
void | rmm::prefetch (cuda::std::span< T const > data, rmm::cuda_device_id device, rmm::cuda_stream_view stream) |
将一段内存预取到指定设备上的指定流中。 更多... | |
变量 | |
static constexpr std::size_t | rmm::RMM_DEFAULT_HOST_ALIGNMENT {alignof(std::max_align_t)} |
RMM 分配的主机内存使用的默认对齐方式。 | |
static constexpr std::size_t | rmm::CUDA_ALLOCATION_ALIGNMENT {256} |
CUDA 内存分配使用的默认对齐方式。 | |
|
constexprnoexcept |
向下对齐到指定 2 的幂的最近倍数。
[in] | value | 要对齐的值 |
[in] | 对齐 | 字节数,必须是 2 的幂 |
|
constexprnoexcept |
向上对齐到指定 2 的幂的最近倍数。
[in] | value | 要对齐的值 |
[in] | 对齐 | 字节数,必须是 2 的幂 |
|
constexprnoexcept |
检查值是否对齐到指定 2 的幂的倍数。
[in] | value | 要检查对齐的值 |
[in] | 对齐 | 字节数,必须是 2 的幂 |
|
inlinenoexcept |
检查提供的指针是否对齐到指定的 alignment
。
[in] | ptr | 要检查对齐的指针 |
[in] | 对齐 | 所需的字节对齐,必须是 2 的幂 |
|
constexprnoexcept |
返回 value
是否为 2 的幂。
[in] | value | 要检查的值。 |
|
constexprnoexcept |
返回 alignment
是否为有效的内存对齐。
[in] | 对齐 | 要检查的值 |
void rmm::prefetch | ( | cuda::std::span< T const > | data, |
rmm::cuda_device_id | device, | ||
rmm::cuda_stream_view | stream | ||
) |
将一段内存预取到指定设备上的指定流中。
如果缓冲区不由 CUDA 管理内存支持,则此函数为空操作。
rmm::cuda_error | 如果预取失败。 |
data | 要预取的内存段 |
device | 要预取到的设备 |
stream | 用于预取的流 |
void rmm::prefetch | ( | void const * | ptr, |
std::size_t | size, | ||
rmm::cuda_device_id | device, | ||
rmm::cuda_stream_view | stream | ||
) |
将内存预取到指定设备上的指定流中。
如果指针不是指向 CUDA 管理内存,则此函数为空操作。
rmm::cuda_error | 如果预取失败。 |
ptr | 指向要预取内存的指针 |
size | 要预取的字节数 |
device | 要预取到的设备 |
stream | 用于预取的流 |