OpenCL double precision

Jan 13, 2016 at 6:56 AM
Edited Jan 13, 2016 at 6:57 AM
First of all: good work with CUDAfy!

For my kernel, I need double precision. In CUDA, this is no problem, it is automatically supported. However, in order to support non NVIDIA hardware, the user should be able to use OpenCL, too. Here, as far as I understand, double precision has to be activated manually. Currently, the compiler throws the exception

"Compilation error: :8:32: error: use of type 'double' requires cl_khr_fp64 extension to be enabled"

To do so in the kernel code, one would normally add a line

"#pragma OPENCL EXTENSION cl_khr_fp64 : enable"

Now is there a way to

a) tell CUDAfy to enable double precision on OpenCL hardware or
b) load an existing CUDA C code instead of translating the C# code?

My hardware supports CUDA 3.0 and OpenCL 1.2.

Thanks, Max