Khronos Updates OpenCL and SYCL Specifications for Heterogeneous Parallel Programming
Integration of developer feedback for improved application portability;
Alignment with latest C++ developments
November 18th, 2014, – The Khronos™ Group today announced the ratification and public release of updated OpenCL™ 2.0 and Provisional SYCL™ 1.2 specifications. The new specifications integrate feedback from the developer community, align with the latest C++ developments, and increase implementation consistency for improved portability of heterogeneous parallel applications. The latest OpenCL and SYCL specifications are open, royalty-free and available at www.khronos.org/opencl/ and www.khronos.org/opencl/sycl.
“Khronos is constantly listening to feedback from the OpenCL developer community, and consolidating improvements and clarifications into our specifications to provide the best possible platform for portable parallel applications,” said Neil Trevett, president of the Khronos Group, chair of the OpenCL working group and vice president of mobile ecosystem at NVIDIA. “OpenCL continues to develop a rich ecosystem for heterogeneous parallel programming across diverse platforms. Paired with ongoing improvements to the core OpenCL specification, SYCL adds rich single source C++ programming for OpenCL developers and the SPIR portable binary format enables a wide range of programming models to be accelerated by diverse OpenCL devices.”
Updated SYCL 1.2 Provisional Specification
Implementations of SYCL for OpenCL enable developers to write in a “single-source” C++ programming style. The evolving provisional specification has been updated based on feedback from developers and to align with the latest directions in modern C++ programming. SYCL enables powerful, modern C++ features, such as templates and lambda functions to accelerate their software for the wide range of heterogeneous devices that OpenCL supports. The SYCL working group continues to work with developers, seeking feedback and refining the provisional specification to deliver a final specification that will enable OpenCL devices to support modern C++ in an open, standard way. SYCL builds on the SPIR portable binary format and is one way of bringing higher-level models to OpenCL, forming a valuable part of the programming model ecosystem for OpenCL devices.
Updated OpenCL 2.0 Specification
The OpenCL working group has released an update to the OpenCL 2.0 specification, with clarifications that improve specification readability and reduce minor cross-vendor implementation inconsistencies, making it easier for developers to write portable OpenCL applications that reliably work across multiple devices. The changes to the OpenCL 2.0 specification include:
- Clarifications around support for Blocks in OpenCL C;
- Refinements to the precision requirements for math functions in fast math mode;
- Clarification of flags that can be applied to pipes;
- A new extension, cl_khr_device_enqueue_local_arg_types, for enqueueing device kernels to use arguments that are a pointer to a user defined type in local memory;
- Clarification of the CL_MEM_KERNEL_READ_AND_WRITE flag to enable filtering of image formats that can be passed to a single kernel instance as read_write.
“It is great to see the computing industry coming together to improve the programmer experience for accessing the tremendous compute potential of modern heterogeneous architectures. OpenCL 2.0 and SYCL both represent significant steps forward in ease of programming and performance for a broad range of software applications,” said Manju Hegde, corporate vice president, Heterogeneous Applications and Solutions Group at AMD.
“We are seeing a lot of developers want to accelerate their software with a range of different accelerator processors. Being an open standard, OpenCL provides developers the greatest range of options for acceleration,” said Andrew Richards, CEO of Codeplay. “At the same time, we are seeing developers using a C++ single-source programming model, because it is easy to use and easy to write libraries for. SYCL enables developers to use a modern C++ development style while still using royalty-free open standards and leverage the wide adoption of OpenCL by accelerator vendors.”
“At Imagination, we are committed to helping drive standards around heterogeneous processing and GPU compute. It’s critical that the industry continues to improve the GPU compute programming model, and Khronos is playing a key role in these efforts. We’re delighted to see continued momentum with OpenCL 2.0 and SYCL,” said Peter McGuinness, director of Multimedia Technology Marketing, Imagination Technologies.
OpenCL at Supercomputing 2014
There are OpenCL-related presentations and activities at Supercomputing 2014 in New Orleans on November 16-21st:
Tutorial: OpenCL: A Hands-on Introduction
Monday, Nov 17 | 8:30am - 5:00pm | Room 395
Tim Mattson, Alice Koniges, and Simon McIntosh–Smith
The tutorial format will be a 50/50 split between lectures and exercises. Students will use their own laptops (Windows, Linux or OS/X) and log into a remote server running an OpenCL platform.
More information and calendar links
OpenCL BOF: OpenCL Version 2.0 and Beyond
Tuesday, Nov 18 | 5:30pm – 7:00pm | Room 275-76-77
Tim Mattson, Simon McIntosh–Smith, Andrew Richards, Ronan Keryell and others
This BOF will discuss the latest developments in OpenCL including the recent OpenCL 2.0 specification, SYCL, SPIR, and more.
More information and calendar links
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™, SPIR™, SYCL™, WebCL™, OpenVX™, 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, DevU, StreamInput, SPIR, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, VXU, 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.