如果我的系统中有多个Nvidia GPU,如何检查CUDA编译器当前使用的是哪个GPU?

时间:2017-07-18 16:17:52

标签: cuda

我有一个带有2个Nvidia GPU的Windows系统。有人能告诉我哪个GPU是CUDA编译器使用的吗?是否可以切换GPU或将两者一起用于相同的过程?

2 个答案:

答案 0 :(得分:0)

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?

可能重复

答案 1 :(得分:0)

http://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DEVICE.html#group__CUDART__DEVICE_1g1bf9d625a931d657e08db2b4391170f0

使用'cudaGetDeviceCount'获取设备数量。如果deviceCount为2,则设备索引0和设备索引1指的是两个当前设备。

'cudaGetDeviceProperties'可用于获取设备的许多属性。

例如,

cudaDeviceProp deviceProp;
cudaGetDeviceProperties(&deviceProp, 1);

可用于获取设备1的许多属性。

切换到不同GPU的方法很简单。初始化后,使用

'cudaSetDevice(0)' 

'cudaSetDevice(1)' 

切换到不同的GPU。