Major update includes dozens of new features and closer alignment with ISO C++.
Significant SYCL adoption in embedded, desktop, and HPC markets.
Beaverton, OR – February 9, 2021 – Today, The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards, announces the ratification and public release of the SYCL™ 2020 final specification—the open standard for single source C++ parallel programming. A major milestone encompassing years of specification development, SYCL 2020 builds on the functionality of SYCL 1.2.1 to provide improved programmability, smaller code size and increased performance. Based on C++17, SYCL 2020 enables easier acceleration of standard C++ applications and drives a closer alignment and integration with the ISO C++ roadmap.
First introduced in 2014, SYCL is a C++ based heterogeneous parallel programming framework for accelerating High Performance Computing (HPC), machine learning, embedded computing, and compute-intensive desktop applications on a wide range of processor architectures, including CPUs, GPUs, FPGAs, and tensor accelerators. SYCL 2020 will further accelerate adoption and deployment of SYCL across multiple platforms, including the use of diverse multiple acceleration API backends in addition to OpenCL™.
SYCL 2020 integrates more than 40 new features including updates for streamlined coding and smaller code size. Some key additions include:
- Unified Shared Memory (USM) enables code with pointers to work naturally without buffers or accessors.
- Parallel reductions add a built-in reduction operation to avoid boilerplate code and enable maximum performance on hardware with built-in reduction operation acceleration.
- Work group and subgroup algorithms enable efficient parallel operations between work items.
- Class template argument deduction (CTAD) and template deduction guides simplify class template instantiation.
- Simplified use of Accessors with a built-in reduction operation, reducing boilerplate code and simplifying use of C++ software design patterns.
- Expanded interoperability for efficient acceleration by diverse backend acceleration APIs.
- Atomic operations are now closer to standard C++ atomics to enhance parallel programming freedom.
“SYCL 2020’s primary goal is to achieve closer convergence with ISO C++, furthering our work to bring parallel heterogeneous programming to modern C++ through open standards. SYCL can leverage diverse processors to accelerate problems in many application domains including HPC, automotive, and machine learning,” said Michael Wong, Codeplay distinguished engineer, ISO C++ Directions Group and SYCL working group chair. “SYCL has a growing number of implementers and researchers working on real-world applications in markets ranging from supercomputing to embedded processing. The insights from that work, along with the feedback we collected from the SYCL 2020 provisional specification, has enabled the SYCL Working Group to deliver a feature-rich final specification that balances enhanced performance with backwards compatibility. We are now working to finalize the SYCL 2020 Conformance Test Suite and Adopters Program and will continue to evolve SYCL to meet market needs.”
In parallel with the release of the SYCL 2020 specification, the SYCL ecosystem continues to grow with increased development of compilers, runtimes, libraries, and tools. Intel’s oneAPI Data Parallel C++ (DPC++) already incorporates many SYCL 2020 features. Codeplay’s ComputeCpp SYCL 1.2.1 conformant implementation includes selected SYCL 2020 features as extensions, including support for DSPs and RISC-V with more features being added over time. Both implementations are based on the Clang open-source compiler framework. hipSYCL from Heidelberg University also supports key SYCL 2020 features starting from version 0.9. Developers can download many of these implementations and experiment with SYCL 2020 features today.
At the Argonne National Laboratory, SYCL enables developers to easily scale C++ applications to use accelerator clusters in exascale supercomputer systems. In Europe, the Cineca Supercomputing center is using the Celerity distributed runtime system, built on top of SYCL, to program the new Marconi100 cluster that is ranked #11 in the Top500 (Nov 2020).
The SYCL Working Group encourages users and tool implementers to download and explore the new specification. Feedback on the SYCL standard is always welcome, including requests for future features. Feedback can be provided by visiting the Khronos SYCL Community Forum, the SYCL tech site, or Khronos Slack Channel.
IWOCL & SYCLcon 2021, which is chaired by SYCL Working Group Chair, Michael Wong and sponsored by Khronos, takes place online April 27-29. It will include an online SYCL tutorial covering the new SYCL 2020 features, as well as a dedicated SYCL panel discussion. Registration is now open at www.iwocl.org/.
About The Khronos Group
The Khronos Group is an open, non-profit, member-driven consortium of over 150 industry-leading companies creating advanced, royalty-free, interoperability standards for 3D graphics, augmented and virtual reality, parallel programming, vision acceleration and machine learning. Khronos activities include Vulkan®, OpenGL®, OpenGL® ES, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, OpenXR™, 3D Commerce™, ANARI™, and glTF™. Khronos members drive the development and evolution of Khronos specifications and are able to accelerate the delivery of cutting-edge platforms and applications through early access to specification drafts and conformance tests.