How to support Double Precision on CUDA2.1? Double precision works well on CUDA2.0 but can not work

Hi, all

I use CUDA for several month.

In my program, double precision is critical.

On cuda2.0, I added a compiler command <-arch compute_13>, and double precision is well supported.

The following is my compiling command

[codebox]"(CUDA_BIN_PATH)\nvcc.exe" -arch compute_13 -ccbin "(VCInstallDir)bin" -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"(CUDA_INC_PATH)" -I./ -I"(NVSDKCUDA_ROOT)\common\inc" -o $(ConfigurationName)$(InputName).obj .\CUDA$(InputFileName)


But unfortunately, after I upgrade CUDA to 2.1, I open this project with Visual Studio2005, build and run the project, double precision is not supported any more.

I try to build and run some other projects which only use single precision float, everything is OK.

After that, I try to modify the compiling command to be "-arch compute_13 - code sm_13 " and “-arch sm_13” and some others, none of them works fine.

My CUDA toolkit2.1 , SDK2.1 and driver 181.20 is downloaded directly from

My graphic card is GTX280, OS is WindowsXP Sp2

Can anyone tell me what the problem is?

Or how to support double precision on CUDA2.1?

Is it a bug of CUDA2.1?

Thanks in advance for your help.

Does anyone know this problem?? :whistling:

I had a similar problem… i tried with the compiler option “-arch=sm_13” and doubles were working.

These are the specs of my machine

OS - Linux x86_64

NVidia Driver Version - 180.22

CUDA SDK  - 2.1