Lack of double Support in C Types

I have been reading the released OpenCL specification. I have noticed that double is a reserved type, but not supported by the draft specification. In particular, in section 6.1.4 it is listed as reserved, however it is not listed in 6.1.1 as a basic scalar type.

Although not all GPUs support double precision floating point operations, I believe that double should be supported. Perhaps the standard can force some type of emulation mode be supported, or return an error if double is not supported by the OpenCL device. Querying device capabilities for double is also an option.

Please let me know when double support is planned for OpenCL, or if the standard may be revised to include it in this iteration.



Double support is an optional extension. Read section 9.3.

I was surprised that doubles aren’t defined as an image channel data type, even in the fp64 extension. Especially since a number of image formats are completely optional. I’m not clear yet how useful the current sample filters are for scientific computation, but the addressing modes and dimensionality offered by image objects certainly are.

The data types and filters supported correspond with what current GPUs actually can accelerate. I would imagine OpenCL will get DP images at about the same time OpenGL gets DP textures, for the same reason.

Ah. Thanks for explaining the process.