Khronos Finalizes OpenCL 2.0 Specification for Heterogeneous Computing
Industry feedback drives new generation open standard for cross-platform parallel programming with increased flexibility, functionality and performance
November 18th 2013 – SC13 - Denver, CO – The Khronos™ Group today announced the ratification and public release of the finalized OpenCL™ 2.0 specification. OpenCL 2.0 is a significant evolution of the open, royalty-free standard that simplifies cross-platform, parallel programming. With an enhanced execution model and a subset of the C11 and C++11 memory model, synchronization and atomic operations, OpenCL now enables a significantly richer range of algorithms and programming patterns to be easily accelerated with improved performance. Significant feedback from the developer community was incorporated into the final specification, following its provisional release in July. The OpenCL 2.0 specifications are available at www.khronos.org/opencl/.
“Khronos received significant and thoughtful developer feedback from the provisional release of OpenCL 2.0, much of which has been adopted, or will be merged with emerging hardware capabilities as this state-of–the-art parallel programming platform continues to evolve,” said Neil Trevett, chair of the OpenCL working group, president of the Khronos Group and vice president of mobile content at NVIDIA. “OpenCL continues to gather momentum on desktop, mobile and embedded devices, including providing a unified programming environment for dynamically balancing diverse CPU, GPU, DSP and hardware resources in mobile SOCs for advanced use cases ranging from vision processing for Augmented Reality to physics simulation for mobile gaming.”
OpenCL 2.0 updates and additions include:
Shared Virtual Memory
Host and device kernels can directly share complex, pointer-containing data structures such as trees and linked lists, providing significant programming flexibility and eliminating costly data transfers between host and devices.
Device kernels can enqueue kernels to the same device with no host interaction, enabling flexible work scheduling paradigms and avoiding the need to transfer execution control and data between the device and host, often significantly offloading host processor bottlenecks.
Generic Address Space
Functions can be written without specifying a named address space for arguments, especially useful for those arguments that are declared to be a pointer to a type, eliminating the need for multiple functions to be written for each named address space used in an application.
Improved image support including sRGB images and 3D image writes, the ability for kernels to read from and write to the same image, and the creation of OpenCL images from a mip-mapped or a multi-sampled OpenGL® texture for improved OpenGL interop.
A subset of C11 atomics and synchronization operations to enable assignments in one work-item to be visible to other work-items in a work-group, across work-groups executing on a device or for sharing data between the OpenCL device and host.
Pipes are memory objects that store data organized as a FIFO and OpenCL 2.0 provides built-in functions for kernels to read from or write to a pipe, providing straightforward programming of pipe data structures that can be highly optimized by OpenCL implementers.
Android Installable Client Driver Extension
Enables OpenCL implementations to be discovered and loaded as a shared object on Android systems.
“Premiere Pro’s support for OpenCL has proved to be a massive hit with our customers; providing dramatic performance improvements while allowing for real-time editing and creativity. We’re excited about the technological developments in OpenCL 2.0 and look forward to discovering how it will enable us to push the performance envelope even further,” said Al Mooney, senior product manager, editing workflows at Adobe.
"AMD has played a significant role in the evolution of OpenCL and in the development of OpenCL 2.0. OpenCL 2.0 has made significant improvements in programmability and is also very well aligned with the hardware features that related industry standards bodies such as the HSA Foundation are developing" said Manju Hegde, CVP HAS Group AMD. "AMD strongly believes in and promotes OpenCL as one of the standards for programming compute on its GPUs and APUs and looks forward to increased adoption because of OpenCL 2.0"
“The Khronos Group’s OpenCL 2.0 is the first key, foundational, programming language to truly support the core capabilities of HSA enabled hardware. It is going to be exciting to see where developers take this much richer programming platform,” said Gregory Stoner, managing director and vice president of HSA Foundation.
“It is impressive that OpenCL is supporting an increasingly diverse range of heterogeneous computing units and accelerators,” said Zhenya Li, vice president of 2012 Lab, Huawei Technologies. “We expect the OpenCL standard to be widely adopted by the information and communications technology (ICT) sector, and to be a key software standard used in Network Function Virtualization (NFV) accelerators. Huawei will actively participate in and contribute to OpenCL, and help it to provide an easy-to-use development platform for future ICT virtualized applications.”
“As a long-time member of Khronos and a leading contributor to OpenCL standards efforts, Imagination is delighted that Khronos continues to create standards which make GPU compute programming easier for developers. With our broad range of IP including PowerVR processors and MIPS CPUs, our customers are creating innovative designs for mobile, consumer, automotive and more. GPU compute is key to creating new applications within the power envelope of these next generation devices,” said Peter McGuinness, director of multimedia technology marketing, Imagination Technologies.
“We are very excited about the user benefits of OpenCL 2.0’s new features”, said Simon McIntosh-Smith, Head of the Microelectronics Research Group at the University of Bristol. “These latest evolutions in OpenCL will enable us to efficiently solve a much wider range of parallel processing problems than ever before, and across a growing range of embedded and HPC hardware platforms. The new shared virtual memory (SVM) feature will make it easier for programmers to develop heterogeneous parallel programs, while support for dynamic parallelism will enable more efficient solutions for a much wider range of applications.”
“Vivante is pleased to support and contribute to the OpenCL 2.0 specification. The latest industry standard will expand adoption of the technology in mobile, home entertainment, and automotive products, creating the next wave of innovative compute use cases and consumer experiences,” said Wei-Jin Dai, President and CEO of Vivante. “As the OpenCL ecosystem rapidly grows and more applications come to market, SoCs using our latest Vega GPUs will be ready to support the latest 2.0 specification and take advantage of platform level optimizations built into our architecture.”
See OpenCL at SC13, Denver, CO
Visit the Khronos Booth #4137 to meet with OpenCL experts and get a free OpenCL reference card.
OpenCL: A Hands-On Introduction
Monday, November 18th, 8:30 - 17:00, Room 403
Tim Mattson, Alice Koniges, Simon McIntosh-Smith
OpenCL BOF: Version 2.0 and Beyond
Including announcement of IWOCL 2014 (2nd International Workshop on OpenCL)
Wednesday, November 20th, 17:30 - 19:00, Room 405/406/407
Tim Mattson, Ben Bergen, Simon McIntosh-Smith
Exhibitor Forum OpenCL 2.0: Unlocking the Power of Your Heterogeneous Platform
Thursday, November 21st, 11:30 - 12:00, Room 501/502, Tim Mattson
Structured Parallel Programming with Patterns
Sunday, Nov. 17, 8:30am-5pm, Room 302
Michael McCool, James Reinders, Arch Robison, Michael Hebenstreit
See OpenCL at SIGGRAPH Asia, Hong Kong
Visit the Khronos Booth #F07 to meet with OpenCL experts and get a free OpenCL reference card.
Khronos DevU, Wednesday November 20th, Room S226
13:30-13:45 Neil Trevett, NVIDIA Introduction to OpenCL
13:45-14:30 Allen Hux, Intel OpenCL 2.0 Overview
14:30-14:50 Tomasz Bednarz, CSIRO Accelerated Science – use of OpenCL in Land Down Under
OpenCL 2.0 Reference Cards
Laminated OpenCL 2.0 Reference cards are now available at www.amazon.com.
About The Khronos Group
The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics, vision, sensor processing and dynamic media on a wide variety of platforms and devices. Khronos standards include OpenGL®, OpenGL® ES, WebGL™, OpenCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™ and COLLADA™. All Khronos members are enabled to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge media platforms and applications through early access to specification drafts and conformance tests. More information is available at www.khronos.org.
Khronos, DevU, StreamInput, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, OpenSL ES and OpenMAX are trademarks of the Khronos Group Inc. ASTC is a trademark of ARM Holdings PLC, OpenCL is a trademark of Apple Inc. and OpenGL is a registered trademark and the OpenGL ES and OpenGL SC logos are trademarks of Silicon Graphics International used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.