Khronos OpenCL Registry

The OpenCL registry contains formatted specifications of the OpenCL API, OpenCL C programming language, OpenCL SPIR-V environment, and OpenCL extensions.

The OpenCL registry also includes header files, links to reference pages, reference cards, and other related documentation.

The asciidoctor source for the specifications in this registry is available in the OpenCL-Docs GitHub repository.

This registry is hosted in the OpenCL-Registry GitHub repository.

OpenCL 3.0 Unified Specifications

The latest version of OpenCL is OpenCL 3.0.

The OpenCL specifications are now unified so they describe OpenCL 3.0 and all previous versions of OpenCL.

Related Specifications and Resources
Older Specifications

Older versions of OpenCL are provided for reference.

OpenCL 2.2.

OpenCL 2.1

OpenCL 2.0
OpenCL 1.2
OpenCL 1.1
OpenCL 1.0
Providing Feedback on the Registry

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 repository.

Feedback on related OpenCL components can be provided as follows:

  • For the OpenCL API, C/C++ Language, and SPIR-V Environment Specifications, file an issue on the OpenCL-Docs GitHub repository.
  • For the OpenCL C header files, file an issue in the OpenCL-Headers GitHub repository.
  • For the OpenCL C++ bindings, file an issue in the OpenCL-CLHPP GitHub repository.
  • For the OpenCL ICD Loader, file an issue in the OpenCL-ICD-Loader GitHub repository.
Extension Template

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.

Enumerant and Extension Number Registry

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.)

Khronos Extension Specifications

Khronos extensions are published in the OpenCL Extension Specification. These links are to the appropriate chapter of the OpenCL Extension Specification.

Vendor and Multi-Vendor Extension Specifications