The second provisional specification of the SYCL™ 1.2 standard was officially announced and released to the public on Tuesday 18th November, at the SC14 conference in New Orleans, US.
SYCL is a royalty-free, cross-platform, C++ programming layer that is currently being standardized by the Khronos™ Group. The new standard builds on the underlying concepts, portability and efficiency of OpenCL™, while adding the ease-of-use and flexibility of C++. It allows developers to leverage C++ features such as inheritance, operator overloading and templates on the range of heterogeneous platforms supported by OpenCL. SYCL builds on top of SPIR™, the standard OpenCL intermediate representation, also developed by the Khronos Group, which enables a whole new ecosystem of languages and programming models on those platforms.
Developers have long requested a solution to enable C++ for OpenCL, and SYCL 1.2 provides a platform that allows them to build and port reusable and efficient C++ libraries for OpenCL. SYCL provides a subset of C++, consisting of a wide range of programming techniques and abstractions that form a foundation for C++ template libraries and high level models to be built on.
The second provisional specification has taken into consideration the feedback that the Khronos Group received from OpenCL developers and the C++ community, based on the first provisional specification of the new standard. The specification and links to feedback forums can be found here on the Khronos website.
Codeplay has been demonstrating its pre-release implementation of the SYCL standard at SC14. See SYCL Tutorial 3: Integrating SYCL Into Stanford University Unstructured, a blog post discussing the demo application that was displayed, and how it was integrated with SYCL.
The following are quotes from the official Press Release:
“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. 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.”
- Andrew Richards, CEO of Codeplay
“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. 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.”
- Neil Trevett, president of the Khronos Group, chair of the OpenCL working group and vice president of mobile ecosystem at NVIDIA
“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”
- Manju Hegde, corporate vice president, Heterogeneous Applications and Solutions Group at AMD
“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”
- Peter McGuinness, director of Multimedia Technology Marketing, Imagination Technologies
Khronos, SPIR, and SYCL are trademarks of the Khronos Group Inc.
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.