The OpenCL registry contains specifications for the core API; Khronos- and vendor-approved extensions to the core API; the OpenCL C and C++ languages; and the OpenCL SPIR-V Environment.
In addition, it contains reference pages for different OpenCL versions, and links to the github repository containing unified header files corresponding to the Specifications.
The OpenCL Standard Portable Intermediate Representation (SPIR) specification is found in the SPIR Registry.
The SYCL specification is found in the SYCL Registry.
The registry, including published specifications and Docbook XML source for the reference pages, is hosted in the OpenCL-Registry Github repository.
The current version of OpenCL is OpenCL 2.2.
The asciidoctor source for the OpenCL 2.2 Specifications is available in the KhronosGroup/OpenCL-Docs Github repository.
C language header files for the OpenCL API are found in the KhronosGroup/OpenCL-Headers Github repository. In the past, there were different header files for each OpenCL version. The header files have now been unified - a single set of headers supports all OpenCL API versions - and the API version defined by the headers at compilation time is determined as described in the README.md in that repository.
The OpenCL 2.x C++ Bindings Header File, cl2.hpp can be obtained from the OpenCL-CLHPP Github repository, and Doxygen documentation for the bindings is also available.
The OpenCL 1.x C++ Bindings Header File can also be generated from the OpenCL-CLHPP repository, but is not currently packaged as part of the releases built for that repo. A copy of cl.hpp may be downloaded from the registry as well.
The original OpenCL 1.2 C++ Binding and OpenCL 1.1 C++ Binding Specifications for the headers are also available.
The OpenCL Installable Client Driver (ICD) Loader can be obtained from the OpenCL-ICD-Loader Github repository.
Older versions of OpenCL provided for reference.
OpenCL 2.1
Khronos welcomes comments and bug reports. To provide feedback on the OpenCL reference pages, or on the OpenCL registry itself (such as reporting missing content, bad links, etc.), file an issue in the OpenCL-Registry Github project.
Feedback on related OpenCL components can be provided as follows:
For the OpenCL API, C/C++ Language, and Environment Specifications, file an issue on the KhronosGroup/OpenCL-Docs Github repository.
For the OpenCL C header files, file an issue in the OpenCL-Headers Github project.
For the OpenCL C++ Bindings, file an issue in the OpenCL-CLHPP Github project.
For the OpenCL ICD Loader, file an issue in the OpenCL-ICD-Loader Github repository.
The extension template for writing an OpenCL extension specification shows the structure of vendor extension specifications in the registry (listed below) and serves as a guide for writing new extension specifications. The template describes the purpose of each section in an extension specification.
cl.xml is the registry of reserved OpenCL API enumerant ranges. (Note that following this link will probably not render sensibly in browsers, since the file is not entirely valid XML, simply a manually updated placeholder.)