-1

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

  1. I can only see one column of values (not counting the 'Attribute' column)

  2. I can only see one card under NVIDIA Control Panel -> 3D settings -> set PhysX Configuration

  3. 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

  1. 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?

  2. 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?

Stochastika
  • 305
  • 1
  • 2
  • 14
  • I doubt this is the issue, mainly because I can run CUDA applications on my single GTX 660ti. However it may be that the two GPU's are not the same card and could be causing the issues. What do you get when you run the example devicequery app in the CUDA 5 samples? – Nomad101 Apr 28 '13 at 22:25
  • You don't know if there are 2 gpus or not? What does windows device manager say? What is listed under display adapters? – Robert Crovella Apr 28 '13 at 22:32
  • @RobertCrovella Hi, Robert, I forgot to mention that; I can only see one "adapter" under Device Manager -> Display Adapters too. But since as I mentioned under VS2010 -> NSight -> Windows -> SystemInfo -> Display Devices there seem to be two of 'something' there with different names, I'm having a hard time to convince my supervisor. He said that he saw the 2nd card was installed a year ago. So I bet it's there, but not 'active' for some reason? what do you think? – Stochastika Apr 28 '13 at 22:46
  • You only have one GPU. If it's not detectable by windows device manager, it's either nonexistent or very broken. Why not just open the case and count the cards? Really you shouldn't even have to open the case. Just look at the back and see if you have multiple graphics cards or not. The only contrary data point is the extra entry in display devices under nsight vse, and that may be reflecting that the display adapter presents 2 logical display "heads" to the system, since it can support dual-display. It's still only one GPU. Are you accessing the system remotely? – Robert Crovella Apr 28 '13 at 22:58
  • @RobertCrovella Thanks! I think you are right, but will check the old fashioned way just to make sure – Stochastika Apr 28 '13 at 23:07

1 Answers1

0

My recommendation if unsure of the number of GPUs in a windows system is to check Device Manager. Alternatively, if you have physical access to the system, look at the I/O area of the case and count the cards, or open the box and count the cards.

Also note that in device manager, GPUs like Tesla K10 and GeForce GTX 690 (and there are some others) will show up as 2 GPU adapters, even though there is only one physical card. However, for logical and programming purposes, these devices will show up as 2 separate adapters. Likewise, CUDA will enumerate them as 2 separate GPUs, so that you can for example use cudaSetDevice() to select one or the other. Cards like these are effectively two GPUs in one.

Robert Crovella
  • 143,785
  • 11
  • 213
  • 257