SC22 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Birds of a Feather Archive

Khronos SYCL: Current and Future Directions

Authors: Tom Deakin (University of Bristol), Michael Wong (Codeplay Software Ltd, UK), James Brodman (Intel Corporation)

Abstract: SYCL is an open standard with a new release in 2020. After SC17, SC18, SC19, and SC20, SC21’s successful ISO C++ SYCL BoF, and with increasing use of C++ in HPC, there was popular demand for updates on the new SYCL 2020 features and current developments. It means developers will be able to write their HPC software using the SYCL standard and that will enable the same software on the forthcoming Aurora supercomputer at Argonne National Lab, NERSC, LBL, ORNL, and potentially, supercomputers with other architectures, including AMD, ARM, or RISC-V.

Long Description: SYCL is an open standard augmenting standard ISO C++ for heterogeneous computing. SYCL 2020 has been released with updates suitable for HPC. SYCL has been adopted to be the programming model for AURORA, an exascale computer using Intel processors but also for Perlmutter, Frontier, and LUMI with different combination of AMD, Nvidia, and RISC-V processors.

Since 2016, SYCL had incredible growth in momentum, and this is due to a fundamental shift towards specialization and extreme heterogeneity. SYCL can be easy to build for specialized devices and easy to use due to the C++ productivity. Tools exist to convert non-portable code to SYCL while maintaining comparable performance.

There is the NSITEXE Kyoto Microcomputer joint work using SYCL on the RISC-V Vector system. There is triSYCL for AMD/Xilinx FPGA work. There is the Renasas Codeplay Collaboration using SYCL and OpenCL on their R-CAR ADAS solutions. There is the hipSYCL implementation for AMD ROCm/CUDA GPU suitable for LUMI, Frontier, and El Capitan. There are experimental systems for MLIR from Huawei, educational systems with MotorSYCL, MPI-like systems built by scientists with Celerity, and research into a portable drug discovery pipeline with Ligate on DaVinci-1. In fact, LiGen is part of the LIGATE project, whose goal is to create and validate an industrial application for drug discovery in High Performance Computing (HPC) systems.

In this year’s DOE Programming Systems Research Forum, the top breakout topic was Language parallelism. This is an area that SYCL is working hard to support with the help of many DOE members, as well as European HPC participants. In the 2021, Office of Sciences ASCR workshop, Neil Thomson's excellent keynote pointed to the end of Dennard Scaling would mean Specialization is more attractive now that CPUs are improving slowly but volume is needed to be worth designing specialized chips these days. that we need more specialized devices. SYCL can be built for many specialized devices relatively easily as is evidenced by the many experimental implementations, augmenting the commercial, and solid stable distributions such as DPC++, ComputeCPP, and hipSYCL.

After last five year’s (SC 17, SC18, SC19, SC20, SC21) successful SYCL for HPC BoF, SC19's SYCL BoF, SC20’s combined SYCL and C++ BoF, there was popular demand for continuous updates on SYCL as its use in HPC workload explodes. This is especially important with the increasing use of C++ workload in DOE’s ECP. ISO C++ does not yet recognize accelerators but with the help of SYCL and other heterogeneous frameworks (HPX, Kokkos, Raja, HiP, and CUDA) it is being augmented towards heterogeneous computing.

In this BoF our SYCL experts will offer short presentations on the status of SYCL and devote all the time to answer questions based on audience contributions.

This BoF is targeted to developers of open standard C++ programming models with requirements for heterogeneous programming looking for a vendor-neutral solution that is matching pace with modern C++.


Back to Birds of a Feather Archive Listing