【发布时间】:2017-07-18 16:17:52
【问题描述】:
我有一个带有 2 个 Nvidia GPU 的 Windows 系统。有人能告诉我 CUDA 编译器使用的是哪个 GPU 吗?是否可以切换 GPU 或将两者一起用于同一进程?
【问题讨论】:
-
编译器与您的代码将在哪个 GPU 上运行完全无关。您决定,无论是在代码中还是通过运行时设置或两者的混合
标签: cuda
我有一个带有 2 个 Nvidia GPU 的 Windows 系统。有人能告诉我 CUDA 编译器使用的是哪个 GPU 吗?是否可以切换 GPU 或将两者一起用于同一进程?
【问题讨论】:
标签: cuda
使用“cudaGetDeviceCount”获取设备数量。如果 deviceCount 为 2,则设备索引 0 和设备索引 1 指的是当前的两个设备。
而“cudaGetDeviceProperties”可用于获取设备的许多属性。
例如,
cudaDeviceProp deviceProp;
cudaGetDeviceProperties(&deviceProp, 1);
可用于获取设备 1 的许多属性。
而且切换到不同 GPU 的方法很简单。初始化后,使用
'cudaSetDevice(0)'
和
'cudaSetDevice(1)'
切换到不同的 GPU。
【讨论】:
CUDA_VISIBLE_DEVICES 环境变量将允许您修改此启用/排序。
CUDA_VISIBLE_DEVICES="0,1" 将使两个 GPU 设备都可用于您的程序。
CUDA GPU selected by position, but how to set default to be something other than device 0? 可能重复
【讨论】: