GTX 295, CUDA thinks I have only 30 multiprocessors

I have a single GTX 295 card installed on to a Rampage II extreme board, 12 GB RAM, i7 965 CPU, and I am running Vista x64.

When I compile & run the ‘deviceQuery’ project included with the CUDA SDK samples, I get the following output:

There is 1 device supporting CUDA

Device 0: "GeForce GTX 295"
Major revision number: 1
Minor revision number: 3
Total amount of global memory: 939524096 bytes
Number of multiprocessors: 30
Number of cores: 240
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 16384
Warp size: 32
Maximum number of threads per block: 512
Maximum sizes of each dimension of a block: 512 x 512 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 262144 bytes
Texture alignment: 256 bytes
Clock rate: 1.24 GHz
Concurrent copy and execution: No


Press ENTER to exit...

I was expecting that CUDA would ‘see’ 2 cards with 30 MPs each, or possible 1 card with 60 MPs (either way, a total of 480 cores).

This would suggest that the CUDA code I write cannot take full advantage of the GTX 295.

How can I ‘see’ the full resources of the GTX 295?

It’s likely you have SLI enabled. You need to disable it to make it appear as two devices to CUDA.

You will never see 1 device with 60MPs.

You need to:

  1. Disable multi-GPU mode (Nvidia control panel)
  2. Plug in monitors: one into the HDMI port and one of the DVI ports.

See for earlier discussions;

tmurray posted a registry hack in the Vista forums a couple weeks ago that negates the need to plug a monitor into each port:…st&p=517428

not really a hack, it’s what the driver control panel actually sets–there’s just not a good UI for it yet.

Sorry, poor choice of wording on my part.