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
包装的整数值。
- 返回:
包装的整数值
-
using value_type = int
-
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 设备。
-
inline explicit cuda_set_device_raii(cuda_device_id dev_id)
-
inline cuda_device_id get_current_cuda_device()