The Khronos™OpenCL™working group has today released a maintenance update to OpenCL 2.2. Maintenance updates are an essential part of improving the overall health of any open standard. In this recent maintenance update from OpenCL, the working group consolidated 30+ bug fixes and clarifications to make the specification more precisely defined and more easily understood - all while maintaining backwards compatibility for existing applications.
When OpenCL 2.2 was released in May 2017, Khronos for the first time released the full source of the OpenCL API and C++ language specifications onto GitHub. This was to enable deeper community engagement in re-mixing custom OpenCL documentation and submitting bugs directly against the specifications. Several bug fixes in this new maintenance release are the direct result of publicly reported issues - a big thank you to everyone who helped! In this maintenance release, the OpenCL C specification has now also been put into open source to enable bugs to be reported in the same way.
A growing number of Khronos working groups are adopting a consistent authoring workflow using the Asciidoctor markup format and tools, with the intent to create specifications that are easier to read and navigate. The OpenCL 2.2 specification is now created entirely in this new workflow to enable faster updates and higher quality documentation - please give us your feedback!
In addition to the core OpenCL 2.2 improvements, the OpenCL SPIR™-V environment specification has also been updated. It is now much simpler for SPIR-V generators to identify what is legal SPIR-V code for OpenCL. Also, new unified headers enable applications to use the same OpenCL headers to target any OpenCL version and use any OpenCL extension.
We’re headed today to IWOCL (the International Workshop on OpenCL) for three days filled with OpenCL discussions, workshops, trainings, and tutorials. The Khronos Group is one of the primary sponsors of IWOCL, alongside many Khronos Group members. If you are there - let us know what you think of the new OpenCL 2.2!