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.
- OpenCL 1.1 Specification (revision 44, June 1, 2011).
- OpenCL 1.1 C++ Bindings Specification (revision 4, June 14, 2010).
- OpenCL 1.1 Online Manual Pages.
- OpenCL 1.1 headers are structured in exactly the same fashion as
OpenCL 1.2 headers described above.
- opencl.h - OpenCL 1.1 Single Header File for Applications.
- cl_platform.h - OpenCL 1.1 Platform-Dependent Macros.
- cl.h - OpenCL 1.1 Core API Header File.
- cl_ext.h - OpenCL 1.1 Extensions Header File.
- cl_d3d10.h - OpenCL 1.1 Khronos OpenCL/Direct3D 10 Extensions Header File.
- cl_gl.h - OpenCL 1.1 Khronos OpenCL/OpenGL Extensions Header File.
- cl_gl_ext.h - OpenCL 1.1 Vendor OpenCL/OpenGL Extensions Header File.
- cl.hpp - OpenCL 1.1 C++ Bindings Header File, implementing the C++ Bindings Specification.
- OpenCL 1.0 Specification (revision 48, October 6, 2009).
- OpenCL 1.0 Online Manual Pages.
- OpenCL 1.0 headers are structured in exactly the same fashion as
OpenCL 1.2 headers described above.
- opencl.h - OpenCL 1.0 Single Header File for Applications.
- cl_platform.h - OpenCL 1.0 Platform-Dependent Macros.
- cl.h - OpenCL 1.0 Core API Header File.
- cl_ext.h - OpenCL 1.0 Extensions Header File.
- cl_d3d10.h - OpenCL 1.0 Khronos OpenCL/Direct3D 10 Extensions Header File.
- cl_gl.h - OpenCL 1.0 Khronos OpenCL/OpenGL Extensions Header File.
- cl_gl_ext.h - OpenCL 1.0 Vendor OpenCL/OpenGL Extensions Header File.
- cl.hpp - OpenCL 1.1 C++ Bindings Header File, implementing the C++ Bindings Specification. This header works for OpenCL 1.0 as well as OpenCL 1.1.
- OpenCL 1.0 C++ Bindings. These bindings correspond to OpenCL 1.0 revision 48 and are found in cl.hpp with Doxygen documentation cl.hpp-docs.zip (in ZIP format).
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)
Extension Specifications
- cl_khr_gl_sharing
- cl_nv_d3d9_sharing
- cl_nv_d3d10_sharing
- cl_nv_d3d11_sharing
- cl_khr_icd
- cl_khr_d3d10_sharing
- cl_amd_device_attribute_query
- cl_amd_fp64
- cl_amd_media_ops
- cl_ext_migrate_memobject
- cl_ext_device_fission
- cl_ext_atomic_counters_32
- cl_ext_atomic_counters_64
- cl_intel_dx9_media_sharing
- cl_amd_media_ops2
