blob: f93796e647f641857a933a0b520cedd621037fd4 [file] [log] [blame]
$static_title = 'Khronos OpenCL Registry';
<p> 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.
<p> In addition, it contains reference pages for different OpenCL versions,
and links to the github repository containing unified header files
corresponding to the Specifications. </p>
<p> The OpenCL Standard Portable Intermediate Representation (SPIR)
specification is found in the <a href="../spir/">SPIR Registry</a>. </p>
<p> The SYCL specification is found in the <a href="../sycl/">SYCL
Registry</a>. </p>
<p> The registry, including published specifications and Docbook XML source
for the reference pages, is hosted in the <a
href=""> OpenCL-Registry
</a> Github repository. </li>
<h6> OpenCL Specifications and Related Documentation </h6>
<p> The current version of OpenCL is OpenCL 2.2. </p>
<p> The asciidoctor source for the OpenCL 2.2 Specifications is available in
the <a href="">
KhronosGroup/OpenCL-Docs </a> Github repository. </p>
<li> OpenCL 2.2 API Specification
(<a href="specs/2.2/html/OpenCL_API.html">HTML</a>)
(<a href="specs/2.2/pdf/OpenCL_API.pdf">PDF</a>)
(February 5, 2019). </li>
<li> OpenCL Extension Specification
(<a href="specs/2.2/html/OpenCL_Ext.html">HTML</a>)
(<a href="specs/2.2/pdf/OpenCL_Ext.pdf">PDF</a>)
(February 5, 2019). </li>
<li> OpenCL SPIR-V Environment Specification
(<a href="specs/2.2/html/OpenCL_Env.html">HTML</a>)
(<a href="specs/2.2/pdf/OpenCL_Env.pdf">PDF</a>)
(February 5, 2019). </li>
<li> OpenCL C Language Specification
(<a href="specs/2.2/html/OpenCL_C.html">HTML</a>)
(<a href="specs/2.2/pdf/OpenCL_C.pdf">PDF</a>)
(February 5, 2019). </li>
<li> OpenCL C++ Language Specification
(<a href="specs/2.2/html/OpenCL_Cxx.html">HTML</a>)
(<a href="specs/2.2/pdf/OpenCL_Cxx.pdf">PDF</a>)
(February 5, 2019). </li>
<li> OpenCL ICD Installation Guide Specification
(<a href="specs/2.2/html/OpenCL_ICD_Installation.html">HTML</a>)
(<a href="specs/2.2/pdf/OpenCL_ICD_Installation.pdf">PDF</a>)
(February 5, 2019). </li>
<li> The <a href=""> OpenCL Extended
Instruction Set for SPIR-V</a> is included as part of the SPIR-V
<li> The OpenCL 2.2 Reference Pages are not posted yet. </li>
<a href="">
OpenCL 2.2 Reference Pages.</a> The Docbook XML source for the
reference pages is in the <tt>sdk/2.2</tt> directory of the <a
OpenCL-Registry </a> Github repository.
<li> <a href="">
OpenCL 2.2 Reference Guide.</a> </li>
<h6> OpenCL Header Files </h6>
<p> C language header files for the OpenCL API are found in the <a
KhronosGroup/OpenCL-Headers</a> 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 in that repository.
<li> All of the following headers should be present in a directory
<tt> CL/ </tt> (or <tt> OpenCL/ </tt> on MacOS X). The single
header file <a href=""> opencl.h </a> includes
other headers as appropriate for the target platform, and simply
including <tt> opencl.h </tt> should be all that most applications
need to do.
<li> <a href=""> opencl.h </a> -
OpenCL 2.2 Single Header File for Applications. </li>
<li> <a href=""> cl_platform.h </a> -
OpenCL 2.2 Platform-Dependent Macros. </li>
<li> <a href=""> cl.h </a> -
OpenCL 2.2 Core API Header File. </li>
<li> <a href=""> cl_ext.h </a> -
OpenCL 2.2 Extensions Header File. </li>
<li> <a href=""> cl_egl.h </a> -
OpenCL 2.2 Khronos EGL Extensions Header File. </li>
<li> <a href=""> cl_dx9_media_sharing.h </a> -
OpenCL 2.2 Khronos OpenCL/Direct3D 9 Media Sharing Extensions
Header File. </li>
<li> <a href=""> cl_d3d10.h </a> -
OpenCL 2.2 Khronos OpenCL/Direct3D 10 Extensions Header File. </li>
<li> <a href=""> cl_d3d11.h </a> -
OpenCL 2.2 Khronos OpenCL/Direct3D 11 Extensions Header File. </li>
<li> <a href=""> cl_gl.h </a> -
OpenCL 2.2 Khronos OpenCL/OpenGL Extensions Header File. </li>
<li> <a href=""> cl_gl_ext.h </a> -
OpenCL 2.2 Vendor OpenCL/OpenGL Extensions Header File. </li>
<h6> OpenCL ICD and C++ Bindings Headers </h6>
<li> <p> The OpenCL 2.x C++ Bindings Header File, <b>cl2.hpp</b> can be
obtained from the <a
OpenCL-CLHPP </a> Github repository, and <a
href=""> Doxygen
documentation</a> for the bindings is also available.
<li> <p> 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 <a href="api/2.1/cl.hpp">
cl.hpp </a> may be downloaded from the registry as well. </p> </li>
<li> <p> The original <a href="specs/opencl-cplusplus-1.2.pdf"> OpenCL 1.2
C++ Binding </a> and <a href="specs/opencl-cplusplus-1.1.pdf"> OpenCL
1.1 C++ Binding </a> Specifications for the headers are also available.
</p> </li>
<li> <p> The OpenCL Installable Client Driver (ICD) Loader can be obtained
from the <a href="">
OpenCL-ICD-Loader </a> Github repository. </li>
<h6> Older Specifications </h6>
<p> Older versions of OpenCL provided for reference. </p>
<p> OpenCL 2.1 </p>
<li> OpenCL 2.1 API
<a href="specs/opencl-2.1.pdf">
Specification </a> (November 11, 2015). </li>
<li> OpenCL 2.1 Extensions
<a href="specs/opencl-2.1-extensions.pdf">
Specification </a> (November 5, 2015). </li>
<li> OpenCL 2.1 Environment
<a href="specs/opencl-2.1-environment.pdf">
Specification</a>. </li>
<li> <a href="">
OpenCL 2.1 Reference Pages.</a>
<li> <a href="">
OpenCL 2.1 Quick Reference Card.</a> </li>
<h6> OpenCL 2.0 </h6>
<li> OpenCL 2.0 API
<a href="specs/opencl-2.0.pdf">
Specification </a> (July 21, 2015). </li>
<li> OpenCL 2.0 C Language
<a href="specs/opencl-2.0-openclc.pdf">
Specification </a> (April 13, 2016). </li>
<li> OpenCL 2.0 Extension
<a href="specs/opencl-2.0-extensions.pdf">
Specification </a> (March 11, 2016). </li>
<li> <a href="">
OpenCL 2.0 Reference Pages.</a>
<li> <a href="">
OpenCL 2.0 Quick Reference Card.</a> </li>
<h6> OpenCL 1.2 </h6>
<li> OpenCL 1.2 API and C Language
<a href="specs/opencl-1.2.pdf">
Specification </a> (November 14, 2012). </li>
<li> OpenCL 1.2 Extensions
<a href="specs/opencl-1.2-extensions.pdf">
Specification </a> (September 22, 2015). </li>
<li> <a href="">
OpenCL 1.2 Reference Pages.</a>
<li> <a href="">
OpenCL 1.2 Quick Reference Card.</a> </li>
<h6> OpenCL 1.1 </h6>
<li> OpenCL 1.1 API and C Language
<a href="specs/opencl-1.1.pdf">
Specification </a> (revision 44, June 1, 2011).
<a href="">
Japanese translation </a>
of the specification is also available. </li>
<li> <a href="">
OpenCL 1.1 Reference Pages.</a> </li>
<li> <a href="">
OpenCL 1.1 Reference Card.</a> </li>
<h6> OpenCL 1.0 </h6>
<li> OpenCL 1.0 API and C Language
<a href="specs/opencl-1.0.pdf">
Specification </a> (revision 48, October 6, 2009). </li>
<li> <a href="">
OpenCL 1.0 Reference Pages.</a> </li>
<li> <a href="">
OpenCL 1.0 Reference Card.</a> </li>
<h6> Providing Feedback on the Registry </h6>
<p> 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 <a
OpenCL-Registry </a> Github project. </p>
<p> Feedback on related OpenCL components can be provided as follows: </p>
<li> <p> For the OpenCL API, C/C++ Language, and Environment Specifications,
file an issue on the
<a href="">
KhronosGroup/OpenCL-Docs </a> Github repository. </p> </li>
<li> <p> For the OpenCL C header files, file an issue in the <a
OpenCL-Headers </a> Github project. </p> </li>
<li> <p> For the OpenCL C++ Bindings, file an issue in the <a
OpenCL-CLHPP </a> Github project.
<li> <p> For the OpenCL ICD Loader, file an issue in the <a
OpenCL-ICD-Loader </a> Github repository. </p> </li>
<h6> Extension Template </h6>
<p> The <a href="extensions/template.txt"> extension template </a> 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. </li>
<h6> Enumerant and Extension Number Registry </h6>
<p> <a href="">
cl.xml </a> 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.)</p>
<h6> <a name="otherextspecs"></a>
Extension Specifications</h6>
<?php include("extensions/clext.php"); ?>
<?php include_once("../../assets/static_pages/khr_page_bottom.php"); ?>