症状:
我首先要确保这个盒子里实际上有两张 nvidia 卡,所以
在 VS2010 -> NSight -> Windows -> SystemInfo -> 显示设备
我可以看到似乎有两个设备。
英伟达 GeForce GTX 560 Ti
Name \\.\DISPLAY1<br>
ID PCI\VEN_10DE&DEV_1200&SUBSYS_35151458&REV_A1<br/>
State Flags AttachedToDesktop, PrimaryDevice<br/>
Monitor<br/>
Name \\.\DISPLAY1\Monitor0 <br/>
String Generic PnP Monitor <br/>
State Flags AttachedToDesktop, MultiDriver <br/>
英伟达 GeForce GTX 560 Ti
名称 \.\DISPLAY2
ID PCI\VEN_10DE&DEV_1200&SUBSYS_35151458&REV_A1
状态标志 无
但
在 VS2010 -> NSight -> Windows -> SystemInfo -> GPU 设备或 CUDA 设备
我只能看到一列值(不包括“属性”列)
我只能在 NVIDIA 控制面板 -> 3D 设置 -> 设置 PhysX 配置下看到一张卡
在代码中,当我这样做时
整数开发计数;cudaGetDeviceCount(&devCount);
devCount 将只是 '1'
结果,我无法根据需要设置为使用特定的 GPU。
问题:
我想知道
如果这是因为显示器使用了第一张 GeForce 卡,因此所有 CUDA 计算都在第二张卡上进行,并且只知道第二张卡?
即使假设是正确的,有没有办法在 Windows 上规避这个问题,以便我仍然可以在两个 GPU 设备上进行计算?