The Khronos Group - Media Authoring and Acceleration

The Khronos Group is a not for profit industry consortium creating open standards for the authoring and acceleration of parallel computing, graphics and dynamic media on a wide variety of platforms and devices. All Khronos members are able to contribute to the development of Khronos API specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge 3D platforms and applications through early access to specification drafts and conformance tests.

Khronos OpenCL API Registry

Khronos OpenCL API Registry

The OpenCL API registry contains specifications of the core API; specifications of Khronos- and vendor-approved OpenCL extensions; header files corresponding to the specifications; and other related documentation.

OpenCL Core API Specification, Headers, and Documentation

The current version of OpenCL is OpenCL 1.2.

  • OpenCL 1.2 Specification (revision 15, released November 15, 2011).
  • OpenCL 1.2 Extensions Specification (revision 15, released November 15, 2011).
  • OpenCL 1.2 Online Manual Pages.
  • OpenCL 1.2 Reference Card (revision 1111, released November 15, 2011).
  • All of the following headers should be present in a directory CL/ (or OpenCL/ on MacOS X). The single header file opencl.h includes other headers as appropriate for the target platform, and simply including opencl.h should be all that most applications need to do.
    • opencl.h - OpenCL 1.2 Single Header File for Applications.
    • cl_platform.h - OpenCL 1.2 Platform-Dependent Macros.
    • cl.h - OpenCL 1.2 Core API Header File.
    • cl_ext.h - OpenCL 1.2 Extensions Header File.
    • cl_dx9_media_sharing.h - OpenCL 1.2 Khronos OpenCL/Direct3D 9 Media Sharing Extensions Header File.
    • cl_d3d10.h - OpenCL 1.2 Khronos OpenCL/Direct3D 10 Extensions Header File.
    • cl_d3d11.h - OpenCL 1.2 Khronos OpenCL/Direct3D 11 Extensions Header File.
    • cl_gl.h - OpenCL 1.2 Khronos OpenCL/OpenGL Extensions Header File.
    • cl_gl_ext.h - OpenCL 1.2 Vendor OpenCL/OpenGL Extensions Header File.
    • cl.hpp - OpenCL 1.1 C++ Bindings Header File, implementing the C++ Bindings Specification. This header works for all versions of OpenCL, but has not yet been updated with new OpenCL 1.2 entry points.
    • Extension template for writing an OpenCL extension specification. Extensions in the registry (listed below) follow the structure of this document, which describes the purpose of each section in an extension specification.
Older Specifications

Older versions of OpenCL provided for reference.

Providing Feedback on the Registry

Khronos welcomes comments and bug reports. To provide feedback, please create an account on the Khronos Bugzilla and file a bug. Make sure to fill in the "Product" field in the bug entry form as "OpenCL" and pick appropriate values for the other fields.

If you are already logged into Bugzilla, the following links will prepopulate the bug report fields as appropriate for:

  • feedback on the OpenCL Header Files and (NOTE: you must be logged into Bugzilla before clicking on this link)
  • feedback on the OpenCL C++ Bindings (NOTE: you must be logged into Bugzilla before clicking on this link)
You can also post feedback to the OpenCL Message Board in a new thread, or there is an existing thread specifically created to discuss the OpenCL C++ Bindings .

Extension Specifications
  1. cl_khr_gl_sharing
  2. cl_nv_d3d9_sharing
  3. cl_nv_d3d10_sharing
  4. cl_nv_d3d11_sharing
  5. cl_khr_icd
  6. cl_khr_d3d10_sharing
  7. cl_amd_device_attribute_query
  8. cl_amd_fp64
  9. cl_amd_media_ops
  10. cl_ext_migrate_memobject
  11. cl_ext_device_fission
  12. cl_ext_atomic_counters_32
  13. cl_ext_atomic_counters_64
  14. cl_intel_dx9_media_sharing
  15. cl_amd_media_ops2
  16. cl_intel_thread_local_exec