CUDA 设备管理

group CUDA 设备管理

函数

inline cuda_device_id get_current_cuda_device()

返回当前设备的 cuda_device_id

当前设备是调用线程执行设备代码的设备。

返回:

当前设备的 cuda_device_id

inline int get_num_cuda_devices()

返回系统中 CUDA 设备的数量。

返回:

系统中 CUDA 设备的数量

inline std::pair<std::size_t, std::size_t> available_device_memory()

返回当前设备的可用设备内存和总设备内存(以字节为单位)。

返回:

当前设备的可用设备内存和总设备内存(以字节为单位),以 std::pair 的形式返回。

inline std::size_t percent_of_free_device_memory(int percent)

返回当前 CUDA 设备上可用设备内存的指定百分比的近似值,向下对齐到最近的 CUDA 分配大小。

参数:

percent – 要返回的空闲内存百分比。

返回:

建议的初始设备内存池大小(以字节为单位)。

struct cuda_device_id
#include <cuda_device.hpp>

CUDA 设备标识符的强类型。

公共类型

using value_type = int

用于设备标识符的整数类型。

公共函数

inline cuda_device_id() noexcept

根据当前设备构造一个 cuda_device_id

inline explicit constexpr cuda_device_id(value_type dev_id) noexcept

根据指定的整数值构造一个 cuda_device_id

参数:

dev_id – 设备的整数标识符

inline constexpr value_type value() const noexcept

包装的整数值。

返回:

包装的整数值

struct cuda_set_device_raii
#include <cuda_device.hpp>

一个 RAII 类,在构造时将当前 CUDA 设备设置为指定设备,在析构时恢复之前的设备。

公共函数

inline explicit cuda_set_device_raii(cuda_device_id dev_id)

构造一个新的 cuda_set_device_raii 对象,并将当前 CUDA 设备设置为 dev_id

参数:

dev_id – 要设置为当前 CUDA 设备的设备

inline ~cuda_set_device_raii() noexcept

重新激活之前的 CUDA 设备。