Khronos Releases OpenCL 2.1 Provisional Specification for Public Review

OpenCL C++ Kernel Language Significantly Boosts Programmer Productivity;
New SPIR-V common intermediate language used by both OpenCL 2.1 and Vulkan

March 3rd 2015, San Francisco, GDC – The Khronos™ Group, an open consortium of leading hardware and software companies, today announced the ratification and public release of the OpenCL™ 2.1 provisional specification. OpenCL 2.1 is a significant evolution of the open, royalty-free standard for heterogeneous parallel programming that defines a new kernel language based on a subset of C++ for significantly enhanced programmer productivity, and support for the new Khronos SPIR-V™ cross-API shader program intermediate language now used by both OpenCL and the new Vulkan graphics API. The OpenCL 2.1 specification at www.khronos.org/opencl/ is released in provisional form to enable developers and implementers to provide feedback before finalization at the OpenCL forums: https://www.khronos.org/opencl/opencl_feedback_forum.

OpenCL 2.1 Technical Overview Session in San Francisco
OpenCL Ecosystem Advances: OpenCL 2.1, SPIR-V and SYCL
Wednesday, March 4th at 3-4:30pm 
Venue: SF Green Space at 657 Mission Street, Suite 200 – five minutes’ walk from GDC
Overview of OpenCL 2.1, SPIR-V and direct interaction with working group members
No GDC pass required, however seating is limited so please register if you plan to attend.

About OpenCL 2.1

The OpenCL C++ kernel language is a static subset of C++14 and significantly boosts parallel programming productivity by providing lambda functions, classes, templates, operator overloading, and many other C++ features to free developers from low-level coding details without sacrificing performance. OpenCL C++ enables reusable device libraries and containers for easily sharable code that is fast and elegant, and templates enables meta-programming for highly adaptive software that cleanly delivers performance portability.

In another significant announcement today, OpenCL 2.1 and Vulkan™, the new open standard API for high-efficiency access to graphics and compute on modern GPUs, are now sharing core intermediate language technologies resulting in SPIR-V; a revolution in the Khronos Standard Portable Intermediate Representation initially used by OpenCL™, now fully defined by Khronos with native support for shader and kernel features. SPIR-V splits the compiler chain, enabling high-level language front-ends to emit programs in a standardized intermediate form to be ingested by Vulkan or OpenCL drivers. Eliminating the need for a built-in high-level language source compiler significantly reduces driver complexity and will enable a diversity of language front-ends. Additionally, a standardized IR provides a measure of kernel IP protection, accelerated kernel load times and enables developers to use a common language front-end, improving kernel reliability and portability across multiple implementations.

In addition to the introduction of the OpenCL C++ shading language, OpenCL 2.1 brings enhancements to the OpenCL API, including:

  • Subgroups, that expose hardware threading, are bought into core, together with additional subgroup query operations for increased flexibility;
  • clCloneKernel enables copying of kernel objects and state for safe implementation of copy constructors in wrapper classes;
  • Low-latency device timer queries support alignment of profiling between device and host code.

“OpenCL 2.1 has responded to developer demand with a C++ based kernel language which delivers the next level of programmer productivity in parallel programming, while still preserving backwards compatibility for existing OpenCL C kernels,” said Neil Trevett, president of the Khronos Group and chair of the OpenCL working group and vice president at NVIDIA. “The use of SPIR-V by Vulkan and OpenCL will fundamentally reshape the graphics and compute ecosystem by enabling diverse language and middleware front-ends to leverage the hardware community’s investment in optimized back-end drivers. Khronos is investigating catalyzing the OpenCL 2.1 ecosystem with an open source front-end OpenCL C++ compiler implementation and a convertor between SPIR-V and LLVM, and we welcome developer feedback on this and any other aspect of OpenCL 2.1.”

Industry Support for OpenCL 2.1

“AMD is excited to see OpenCL™ evolve to include a C++ kernel language, which will significantly expand the number of developers targeting heterogeneous platforms,” said Manju Hegde, corporate vice president, Heterogeneous Applications and Developer Solutions, AMD.  “We also applaud the bold move to SPIR-V which provides a common binary target language across graphics and compute.  This greatly simplifies vendor driver development and enables innovation in new languages targeting cross-platform acceleration of applications.”

“Mobile devices are now the primary computing platform for consumers,” said Dennis Laudick, vice president, partner marketing, media processing group, ARM. “As a founding member of Khronos, ARM is fully behind the new OpenCL specification including new features that enable mobile computing to be more energy-efficient.”

“Intel has been deeply involved in the development of OpenCL 2.1. We’re excited to get this new specification into the hands of Intel platform developers,” said Jon Khazam, vice president and general manager of Intel’s Visual & Parallel Computing Group.  “The addition of C++ support and movement toward a Common IR across OpenCL and the new Vulkan graphics API will facilitate wider adoption and deployment of OpenCL in heterogeneous computing applications.”

“The addition of the C++ kernel language in OpenCL 2.1 is a very exciting development for the HPC community,” said Simon McIntosh-Smith, head of the HPC research group at the University of Bristol. “C++ is being increasingly used to develop scientific codes, and so this development will make it much easier to port new HPC software to a wide variety of high performance, parallel hardware. OpenCL 2.1’s C++ kernel language could cause a step change in the rate of adoption for OpenCL in HPC.”

“We at YetiWare believe that software should run as fast as possible by using all of the processors on a system, and the OpenCL standard makes that possible,” said AJ Guillon, founder and chief technical officer, YetiWare Inc. “The OpenCL C++ kernel language and SPIR-V are both major advancements and big wins for developers.”

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 Vulkan™, OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, EGL™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™, and glTF™. 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 Reveals Vulkan API for High-efficiency Graphics and Compute on GPUs

Demos of real-world applications running on Vulkan drivers and hardware at GDC;
New SPIR-V intermediate language shared by Vulkan and OpenCL 2.1

March 3rd 2015, San Francisco, GDC – The Khronos™ Group, an open consortium of leading hardware and software companies, today announced the availability of technical previews of the new Vulkan™ open standard API for high-efficiency access to graphics and compute on modern GPUs used in a wide variety of devices. This ground-up design, previously referred to as the Next Generation OpenGL® Initiative, provides applications direct control over GPU acceleration for maximized performance and predictability, and uses Khronos’ new SPIR-V™ specification for shading language flexibility. Vulkan initial specifications and implementations are expected later this year and any company may participate in Vulkan’s ongoing development by joining Khronos. Industry feedback is welcomed at https://www.khronos.org/vulkan/vulkan_feedback_forum.

“Industry standard APIs like Vulkan are a critical part of enabling developers to bring the best possible experience to customers on multiple platforms,” said Valve's Gabe Newell.  “Valve and the other Khronos members are working hard to ensure that this high-performance graphics interface is made available as widely as possible and we view it as a critical component of SteamOS and future Valve games.”

Vulkan Technical Previews at GDC in San Francisco

Khronos is offering special preview sessions for insights into the Vulkan architecture.

Vulkan: The Future of High Performance Graphics – hosted by Valve
Thursday, March 5 at 10-11AM
Venue: Room 2006 in the West Hall of the GDC Conference
A technical preview of the Vulkan API, with advanced techniques and live demos of real-world applications running on Vulkan drivers and hardware

Vulkan: the Next Generation Graphics and Compute API
Thursday, March 5 at 12-1:30pm and repeated at 2–3:30pm
Venue: SF Green Space at 657 Mission Street, Suite 200 – five minutes’ walk from GDC
Vulkan overview, demos and direct interaction with working group members
No GDC pass required, however seating is limited so please register if you plan to attend.

About Vulkan
Vulkan is a unified specification that minimizes driver overhead and enables multi-threaded GPU command preparation for optimal graphics and compute performance on diverse mobile, desktop, console and embedded platforms. Vulkan also provides the direct GPU control demanded by sophisticated game engines, middleware and applications with the cross vendor performance and functional portability resulting from simpler, more predictable drivers. The layered design of Vulkan enables multiple IHVs to plug into a common, extensible architecture for code validation, debugging and profiling during development without impacting production performance; this layering flexibility is expected to catalyze strong innovation in cross-vendor GPU tools.

In another significant announcement today, Vulkan and OpenCL 2.1 are now sharing core intermediate language technologies resulting in SPIR-V; a revolution in the Khronos Standard Portable Intermediate Representation initially used by OpenCL™, now fully defined by Khronos with native support for shader and kernel features. SPIR-V splits the compiler chain, enabling high-level language front-ends to emit programs in a standardized intermediate form to be ingested by Vulkan or OpenCL drivers. Eliminating the need for a built-in high-level language source compiler significantly reduces GPU driver complexity and will enable a diversity of language front-ends. Additionally, a standardized IR provides a measure of shader IP protection, accelerated shader load times and enables developers to use a common language front-end, improving shader reliability and portability across multiple implementations.

“Vulkan is a significant Khronos initiative to provide developers the choice of a state-of-the-art GPU API that is open and portable across multiple platforms, at a time where platform diversity is increasing,” said Neil Trevett, president of the Khronos Group and vice president at NVIDIA. “Khronos will be driving the Vulkan ecosystem with open source conformance test components and sample front-end compiler implementations that use SPIR-V to leverage the hardware community’s investment in optimized back-end drivers. Vulkan expands the family of Khronos 3D APIs, and complements OpenGL and OpenGL ES that between them, provide access to billions of GPUs today, and will continue to be evolved and maintained to meet industry needs.”

Industry Support for Vulkan

“With direct influence on several generations of hardware and software architectures for milliwatt to kilowatt platforms, OpenGL is undeniably the industry’s most successful 3D Graphics API,” said Raja Koduri, corporate vice president, Visual and Perceptual Computing, AMD. “Vulkan is a transformation to OpenGL that brings forth exciting low-overhead capabilities to enable compelling increases in performance and power efficiency while maintaining developer productivity.”

“Since helping found Khronos, ARM has strived to improve the efficiency of standards and deliver compelling graphics to mobile devices with minimum energy consumption,” said Jem Davies, vice president of technology, media processing group, ARM. “Vulkan is a big step forward in enabling our ecosystem of developers to unleash the capabilities of the latest ARM GPU technology.”

“Codeplay is excited that Vulkan's SPIR-V feature will enable new languages and tools to be used in graphics. By standardizing the way new languages can be added to graphics, a whole new tools ecosystem is being opened up,” said Andrew Richards, CEO of Codeplay.

“As one of the major manufacturers for digital automotive instrument clusters and infotainment systems, Continental fully supports Khronos' new Vulkan initiative,” Dr. Ulrich Kabatek, principal technical expert graphic systems & 3D visualization at Continental Automotive. “It will enable high-quality graphic systems with custom safety levels and increase connectivity for our sustainable, safe, comfortable, individual, and affordable solutions. Simply, it is a huge step forward towards the driving experience of tomorrow. We wish Vulkan all the best!”

“Imagination is proud to have been a major contributor to the new Vulkan standard. With this new API alongside OpenGL ES, we feel that Khronos now has the right set of APIs in place to address the extreme performance and mainstream ends of the graphics programming market,” said Peter McGuinness, director of technology marketing, Imagination Technologies.

“NVIDIA is a strong supporter of OpenGL and we are actively engaged in the development of Vulkan,” said Barthold Lichtenbelt, senior director of Tegra graphics software at NVIDIA.  “Vulkan’s focus on enabling portable, high-performance games and engines will drive cutting-edge content across the range of NVIDIA’s gaming platforms including PC, mobile and cloud.”

“The Vulkan API is a groundbreaking rethink of graphics software technology,” said Dan Baker, co-founder, Oxide Games. “The efficiency and threading abilities are profound leaps forward that enable Oxide Games to create entirely new game genres on a variety of platforms.”

“We are very excited about the introduction of the Vulkan™ API. Vulkan will allow us to maximize GPU performance for graphically demanding games enabled with future versions of our cross-platform portability technology,” said Gavriel State, CTO & Founder at TransGaming. “The Khronos Group plays a leading role in maintaining open standards across a unified technology ecosystem that TransGaming is proud to contribute towards as a dedicated member.”

“Efficient, close to metal, developer-friendly GPU APIs combining rendering with compute are a natural fit for Vivante’s highly efficient GPU architectures,” said Wei-Jin Dai, president and CEO of Vivante. “Vulkan unleashes the newest innovations inside Vivante's latest GPU hardware and will provide a boost to the pervasive Vivante GPU powered platforms currently in the market. Khronos has moved the industry forward with the release of Vulkan to drive platforms in the current and next generation of the GPU-enabled ecosystem.”

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 Vulkan™, OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, EGL™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™, and glTF™. 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, Vulkan, DevU, StreamInput, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, 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.

safety