Not enough compute capability?


I’ve got a double precision program which I want to run on a GPU. My actual graphic card is Nvidia GTS 250 with compute capability 1.1. When I run the program on GPU i Got:

Compute capability mismatch 
File: C:\test.F
routine: test_routine
line: 270
device: 0 compute capability 1.1
driver: 3000
Available compute capability: 1.3(cubin) 1.3(ptx)

In this article I’ve read that

Double-precision requires compute capability 1.3, so any code with double-precision will only generate the 1.3 version.

And this would be fine, since when I compile the code I get:

CC 1.3 : 4 registers…

even if I set -ta=nvidia,cc11
But the next sentence in this article is:

As before, you can override this behavior by setting an explicit compute capability option on the command line, or by setting a single default compute capability in the siterc file.

So, should setting -ta=nvidia,cc11 or -Mcuda,cc11 should override this problem? In my case it does not, but I’m wondering do I have to buy a better graphic card, or is it possible to run this code on my actual GPU anyway?

Hi szczelba,

Hardware support for double precision is only available on systems with compute capability 1.3 or greater. Hence, you will not be able to run double precision on your GTS 250. You must either get a card with CC1.3 or switch to single precision.

  • Mat

Thanks Mat!