OpenCL Double Precision Support using Nvidia 1.3 compute hardware

I wrote an OpenCL program to convert Laititude-Longitidue to UTM coordinates. I am using an Nvidia gtx285 with 190.89 driver and CUDA 2.3. When I use ‘#pragma OPENCL EXTERNSION cl_khr_fp64 : enable’ I get an unsupported extension error which basically tells me OpenCL doesn’t know how to deal with doubles. Does anyone know if I need an updated driver or does current Nvidia drivers not support double precision in OpenCL? Thanks.

  • Eddie

You need to update to CUDA 3.0 (and its newer OpenCL SDK, with newer driver) to be able to use double precision.

Can you please describe which driver supports double precision?

My computer specifications:

CL_PLATFORM_VERSION: OpenCL 1.0

OpenCL SDK Version: 1.2.0.16

CL_DEVICE_NAME: Tesla C1060

CL_DRIVER_VERSION: 190.29

You need 195.xx driver, which doesn’t seem to be available to Tesla right now.

I have the same problem. That is I can not use double precision. When I write
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
to the kernel source code, I get following error
error: unsupported extension used with ‘#pragma OPENCL EXTENSION’
#pragma OPENCL EXTENSION cl_khr_fp64 : enable

I have printed out the supported extensions:

cl_khr_byte_addressable_store
cl_nv_compiler_options
cl_nv_device_attribute_query
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_int32_extended_atomics

Really I dont have cl_khr_fp64 extension.

Specifications of the computer that I use:
– GeForce 285 GPU.
– CL_DRIVER_VERSION: 190.29
– CUDA 2.3

Do I really need CUDA 3.0? If you can help me figure out the problem, I would appreciate.
All the best.

OpenCL double precision support is not tied to the CUDA Toolkit or SDK but to the drivers. Try installing the newest ones from nvidia’s website.

A link to R195 Beta drivers that work with C1060 is in this post:

http://forums.nvidia.com/index.php?showtopic=149959

This driver includes support for Double Precision via the cl_khr_fp64 extension as well as:

    OpenGL Interoperability, for interactive high performance visualization

    Query for Compute Capability, so you can target optimizations for GPU architectures (cl_nv_device_attribute_query)

    Ability to control compiler optimization settings, etc. via support for NVIDIA Compiler Flags (cl_nv_compiler_options)

    OpenCL Images support, for better/faster image filtering

    32-bit Atomics for fast, convenient data manipulation

    Byte Addressable Stores, for faster video/image processing and compression algorithms

    Support for the latest OpenCL spec revision 48 and latest official Khronos OpenCL headers as of 11/1/2009

Hi, I want to buy a GPU card that supports double precision for OpenCl.
I want to spend around 300 Euro.
I am considering buying GeForce GTX 285. It is stated that
it has 1.3 Compute capability. Does this mean that all the
GeForce GTX 285 cards sold such as in this site
http://geizhals.at/?fs=GeForce+GTX+285&in=
will have double precision support?
If you can help I appreciate.

Hi, I want to buy a GPU card that supports double precision for OpenCl.
I want to spend around 300 Euro.
I am considering buying GeForce GTX 285. It is stated that
it has 1.3 Compute capability. Does this mean that all the
GeForce GTX 285 cards sold such as in this site
http://geizhals.at/?fs=GeForce+GTX+285&in=
will have double precision support?
If you can help I appreciate.