Khronos updates OpenCL specification

New extensions include support for heterogeneous parallel computation in a web browser.

The Khronos Group has released an update to the OpenCL 1.2 specification, an open, royalty-free standard for cross-platform, parallel programming of modern processors. The update provides a backwards-compatible update to the core OpenCL 1.2 specification with a variety of bug fixes and new support for parallel computing through a web browser.

Updates and additions include:

  • Enabling an OpenCL image to be created from an OpenGL multi-sampled texture, providing more flexibility in interoperating 3D graphics and compute;
  • Creating 2D images from an OpenCL buffer to enable flexibility in which memory structures are processed;
  • A variety of security features for WebCL implementations layered over OpenCL;
  • Loading an OpenCL program object from a Standard Portable Intermediate Representation (SPIR) instance. SPIR is a vendor neutral non-source representation for OpenCL C programs that enables increased tool chain flexibility and avoids the need to ship kernel source in commercial applications.

The updated OpenCL 1.2 specifications, together with online reference pages and reference cards are available at www.khronos.org/opencl/.

“The OpenCL working group continues to listen closely to the demands of the developer community, and this update provides a timely increase in functionality and reliability of code ported across vendor implementations,” said Neil Trevett, chair of the OpenCL working group, president of the Khronos Group and vice president of mobile content at Nvidia. “The new extensions enable early access to functionality for key use cases, including security capabilities for implementations of WebCL that enable access to OpenCL within a browser.”

ARM, Intel, Imagination Technologies, Nvidia, and Vivante all issued statements of support for the update when it was announced last week at Siggraph Asia in Singapore.

This image of clothing draped and flowing was created in Havok using an AMD processor running in OpenCL. (Source: Havok)