SC20 Proceedings

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

Khronos SYCL 2020 Release and ISO C++ 20 Status and Future Directions

Authors: Simon Mcintosh-Smith (University of Bristol), Michael Wong (Codeplay Software Ltd; ISO C++, Khronos Group Inc)

Abstract: SYCL and ISO C++ is planning a new release in 2020. After successful previous SC ISO C++ for HPC BoF and SYCL BoF, and with increasing use of C++ in HPC, this BoF will describe the new SYCL 2020 and C++20 features with cross committee panelists. SYCL builds on ISO C++ with heterogeneity suitable for exascale and ML computing.

We will have the following panelists:

Geoff Lowney, Intel

Bjarne Stroustrup, Columbia University/Morgan Stanley

Aksel Alpay, Heidelberg University

Tom Deakin, University of Bristol

Ronan Keryell, Xilinx

Nevin Liber, ANL

Brandon Cook: LBNL

Hal Finkel, Office of Sciences

Medhi Goli, Codeplay

Long Description: SYCL is an open standard framework using standard ISO C++ with heterogeneous computing. SYCL 2020 is planned to be released with updates suitable for HPC. and enabling multiple backends. SYCL through Intel’s OneAPI and DPC++ is adopted to be the programming model for AURORA, the first CORAL exascale computer using Intel processors. Frontier and El Capitan will be delivered with AMD processors. HipSYCL is suited to run on ROCM as one of our implementations. There is also an Nvidia backend for some of our implementations suitable for Perlmutter.

After last three year’s (SC 17, SC18, SC19) successful Heterogeneous & Distributed Computing in C++ for HPC BoF, and SC19's SYCL BoF, there was popular demand for updates on these features added to SYCL 2020 and C++ 20. We have integrated the C++ and SYCL BoF as many members attend both committees. The chair of SYCL is also ISO C++ Directions Group chair. 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 and CUDA) it is being augmented towards heterogeneous computing. A recent LLVM keynote by the SYCL chair reinforces this direction:

Two recent key developments for SYCL are the adoption of the Aurora supercomputer at ANL and Intel’s One API software.

Intel disclosed at SC’19 and ISC’19 more information about its One API project, which will deliver a unified programming model to simplify application development across diverse computing architectures. Intel’s One API will be based on industry standards and open specifications including SYCL. Intel has been actively leading a multi-company effort to add SYCL programming model support to LLVM/Clang project to facilitate collaboration on C++ single-source heterogeneous programming for accelerators like GPU, FPGA, DSP, etc. from different hardware and software vendors. In this BoF our combined SYCL and C++ experts will discuss the following topics:

1) An update on the SYCL Aurora Exascale project and implementation in clang llvm 2) The ways in which you can get involved in both the C++ language specification and SYCL language implementation (via LLVM) 3) SYCL 2020 features and future directions 4) ISO C++ 20 features and future directions 5) Update on SYCL and C++ ecosystem including involvement with other backends such as Nvidia, AMD, Kokkos, Raja

We will be answering audience questions using a bank of questions contributed in real-time by the audience and helping audience members to understand how to experiment with SYCL and how to join the expanding SYCL community.

This BoF is based on a set of successful tutorials and workshops from different conferences, such as SYCL tutorial at Stanford University during IWOCL 2016 first SYCL workshop at PPoPP’16 Berkeley Heterogeneous C++ Summit in 2016 IWOCL 2017, 2018, 2019 DHPCC++ SYCLCon 2020/IWOCL2020: CPPCON 2017, 18,19

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


Back to Birds of a Feather Archive Listing