blob: 701c15f3e6f0c7585e23b8289fedf272f1198263 [file] [log] [blame]
$static_title = 'Khronos OpenCL Registry';
<p> The OpenCL registry contains formatted specifications of the OpenCL
API, OpenCL C programming language, OpenCL SPIR-V environment, and
OpenCL extensions. </p>
<p> The OpenCL registry also includes header files, links to reference pages,
reference cards, and other related documentation. </p>
<p> The asciidoctor source for the specifications in this registry is
available in the <a href="">
OpenCL-Docs </a> GitHub repository. </p>
<p> This registry is hosted in the <a
href=""> OpenCL-Registry
</a> GitHub repository. </p>
<h6> OpenCL 3.0 Unified Specifications </h6>
<p> The latest version of OpenCL is OpenCL 3.0. </p>
<p> The OpenCL specifications are now unified so they describe OpenCL 3.0
and all previous versions of OpenCL. </p>
<li> OpenCL API Specification
(<a href="specs/3.0-unified/html/OpenCL_API.html">HTML</a>)
(<a href="specs/3.0-unified/pdf/OpenCL_API.pdf">PDF</a>)
(April 17, 2023). </li>
<li> OpenCL C Language Specification
(<a href="specs/3.0-unified/html/OpenCL_C.html">HTML</a>)
(<a href="specs/3.0-unified/pdf/OpenCL_C.pdf">PDF</a>)
(April 17, 2023). </li>
<li> OpenCL Extension Specification
(<a href="specs/3.0-unified/html/OpenCL_Ext.html">HTML</a>)
(<a href="specs/3.0-unified/pdf/OpenCL_Ext.pdf">PDF</a>)
(April 17, 2023). </li>
<li> OpenCL SPIR-V Environment Specification
(<a href="specs/3.0-unified/html/OpenCL_Env.html">HTML</a>)
(<a href="specs/3.0-unified/pdf/OpenCL_Env.pdf">PDF</a>)
(April 17, 2023). </li>
<li> <a href="">
OpenCL 3.0 Reference Pages.</a> </li>
<li> <a href="">
OpenCL 3.0 Reference Guide.</a> </li>
<h6> Related Specifications and Resources </h6>
<li> C language header files for the OpenCL API are in the <a
OpenCL-Headers</a> GitHub repository. </li>
<li> Header files providing C++ bindings for the OpenCL API are in the <a
OpenCL-CLHPP </a> GitHub repository.
<li> <a href="">
Doxygen documentation</a> for the C++ bindings is also available. </li>
</ul> </li>
<li> An OpenCL Installable Client Driver (ICD) Loader can be obtained
from the <a href="">
OpenCL-ICD-Loader </a> GitHub repository.
<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>) </li>
</ul> </li>
<li> The Standard Portable Intermediate Representation (SPIR-V)
specification is in the <a href="../spir-v/">SPIR-V
<li> The <a href=""> OpenCL Extended
Instruction Set for SPIR-V</a> is included as part of the SPIR-V
registry. </li>
</ul> </li>
<li> The SYCL specification is found in the <a href="../sycl/">SYCL
Registry</a>. </li>
<h6> Older Specifications </h6>
<p> Older versions of OpenCL are provided for reference. </p>
<p> OpenCL 2.2. </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>)
(July 19, 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>)
(July 19, 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>)
(July 19, 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>)
(July 19, 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>)
(July 19, 2019). </li>
<li> <a href="">
OpenCL 2.2 Reference Pages.</a> </li>
<li> <a href="">
OpenCL 2.2 Reference Guide.</a> </li>
<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>
<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 repository. </p>
<p> Feedback on related OpenCL components can be provided as follows: </p>
<li> For the OpenCL API, C/C++ Language, and SPIR-V Environment
Specifications, file an issue on the
<a href="">
OpenCL-Docs </a> GitHub repository. </li>
<li> For the OpenCL C header files, file an issue in the <a
OpenCL-Headers </a> GitHub repository. </li>
<li> For the OpenCL C++ bindings, file an issue in the <a
OpenCL-CLHPP </a> GitHub repository. </li>
<li> For the OpenCL ICD Loader, file an issue in the <a
OpenCL-ICD-Loader </a> GitHub repository. </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. </p>
<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="khrextspecs"></a>
Khronos Extension Specifications</h6>
<p> Khronos extensions are published in the OpenCL Extension Specification.
These links are to the appropriate chapter of the OpenCL Extension
<?php include("extensions/khrext.php"); ?>
<h6> <a name="otherextspecs"></a>
Vendor and Multi-Vendor Extension Specifications</h6>
<?php include("extensions/clext.php"); ?>
<?php include_once("../../assets/static_pages/khr_page_bottom.php"); ?>