Using double precision in CUDA how to turn on double precision in CUDA

Dear all,

I’m trying to use double precision in CUDA, however, I hardly find any good information for this.

I tried -arch sm_13 , then the compiler complains:

1>tmpxft_00000108_00000000-8_rvsm_GLBsim4CUDA.cudafe2.gpu
1>Internal error
1>nvcc error : ‘ptxas’ died with status 0xC0000005 (ACCESS_VIOLATION)
1>Build log was saved at “file://e:\work\b4_cmi_cuda\src\GLModel\Release\BuildLog.htm”
1>GLModel - 0 error(s), 268 warning(s)

I tried -arch compute_13, it can compile, but the program died when the first time device memory is allocated.

Could someone tell me how to use CUDA with double precision? What is the correct options, and why I run into memory problem before any real computation is started yet?

Thanks.

mayt

hi,
Does your card support double? only recently did NVIDIA’s card start to support double. G80, for one, doesn’t support double.
To emulate double with fp32, you may want to look at this thread:
http://forums.nvidia.com/index.php?showtopic=73067

Thanks for your information, that is a good discussion.

Yes, I’m using G280, so it support double precision. Acrually, I’m not sure what differences are there between sm_13 and compute_13 options for nvcc, where can I get the information on how to turn on double precision in cuda and what’s the meanings of those options?

Thanks.