Only recognising one GPU

I have just started learning CUDA. I have a GTX295 and, due to driver issues in some programs, am still running the 182 driver. While I wait for the 186 driver to be released, I plan to learn on the CUDA 2.1 arch.
After querying the number of available GPUs from cudaGetDeviceCount I was surprised that it returned ‘1’. So I tried running the simpleMultiGPU SDK example where it too only showed one GPU.
WHY ?? :o scary… Has anybody experienced this? Is there something that I maybe missed in all the documentation on how to correctly enable them? Should the multi-gpu setting be enabled in the NVIDA Control Panel, and should I disable Aero?

Any help is much appreciated.


PhysX must be enabled and multi-GPU must be disabled in NVIDIA Control Panel. Aero is not a problem.

Awesome, thanks very much! :) i clearly must’ve missed that in the docs, trivial solution.


I’m seeing the same behavior, but these settings seem to have no effect. (My situation is slightly different: I also have a FX570 card in the system and it is not recognized either.) Any more ideas, please?


You have GTX295 + FX570 and CUDA reports only one GTX295 device?
Which device is connected to monitor?

I have a even stranger problem - I have a GTX 295 and a 8800GTX, but cuda only sees the two halves of the GTX 295.

The really interesting part is that Nvidia Control Panel sees all three devices, but returns a count of 2. Thus, the listing looks like this:

GTX 295 (GPU 1 of 2)
8800GTX (GPU 2 of 2)
GTX 295 (GPU 3 of 2)

Also, it detects 5 “monitors” 2 real, and 3 virtual. But that count doesn’t make any sense. Why 5??

Any ideas how to get the 8800 working properly?

You have to connect monitor to 8800 and extend Windows desktop to make it usable by CUDA. I suspect this is the problem…

It probably doesn’t count monitors, but GPU’s. Each GTX 295 has 2, plus your 8800 GTX gives a total of 5.

That’s correct. I’m now connecting the monitor to one of the GTX295 ports, but I’d rather connect to the FX570 so that I can use the '295 for a processor only, but that configuration seems to die after a while (lower priority problem, however).

My NVidia control panel does show all devices.


I don’t have enough devices here, so I cannot reproduce this problem. I’d rather try this configuration:
In NVIDIA Control Panel disable multi-gpu and enable PhysX and connect one monitor to FX570 and one to GTX295. (or if you can specify which card to use for PhysX, choose FX570 and it might work without connecting monitor to 8800). THis should work, at least theoretically.

Unfortunately, I can’t (easily) get another monitor either. I did notice that the GTX295 was not recognized at all (as a CUDA device) when I connect the monitor to the FX570, so I finally tried making the GTX295 the primary display interface (in the bios) and then connecting my monitor to the 2nd GTX295 output. (Settings as Andrei describes.) I’m seeing all of the devices as CUDA devices now! Don’t know if this is a general solution, but so far it’s working for me.


Hi everybody, I’ve the same problem (one GPU recognized) but I’m on laptop :/

It’s a Dell XPS M1730 with a couple of 8800M GTX and an Ageia 100M PPU. I can’t run two CUDA apps in the same time (I run BOINC :) )…
I tried all methods I’ve found : no SLI, with physX in the nvidia control panel, with a external monitor… :(
You’ve just to know the my SLI is “special” : the 2 GPUs are one the same card but everything is in double : GPUs (>.<), fans, wires… EXCEPT only one PCI-e port and also only one DVI-out >>

Any ideas on how can I run a CUDA app on each GPU ?