Symptoms:
I'm trying to first of all make sure there are actually two nvidia cards in this box, so
in VS2010 -> NSight -> Windows -> SystemInfo -> Display Devices
I can see that there seems to be two devices.
NVIDIA 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/>
NVIDIA GeForce GTX 560 Ti
Name \.\DISPLAY2
ID PCI\VEN_10DE&DEV_1200&SUBSYS_35151458&REV_A1
State Flags None
BUT
in VS2010 -> NSight -> Windows -> SystemInfo -> GPU Devices or CUDA Devices
I can only see one column of values (not counting the 'Attribute' column)
I can only see one card under NVIDIA Control Panel -> 3D settings -> set PhysX Configuration
In code, when I do
int devCount; cudaGetDeviceCount(&devCount);
devCount will be just '1'
As a result, I cannot set to use a specific GPU as I wanted.
QUESTIONS:
I wonder
If this is because the 1st GeForce card is used by the monitor hence all CUDA computations are carried out on the 2nd card and are only aware of the 2nd card?
Even if assumption is correct, is there a way to circumvent this on Windows so that I can still do computation on two GPU devices?