ENCCS held its first workshop on heterogeneous programming with SYCL on November 8 and 9.
SYCL is a C++ abstraction layer for programming heterogeneous hardware with a single-source approach. It is built on top of standard ISO C++17 and provides a high-level and cross-platform route for heterogeneous programming. As such, it is of high interest for those interested in porting their code to GPU hardware while maintaining functional and performance portability of their software.
This workshop was the first one organised in collaboration with three EuroCC National Competence Centers: NCC Sweden (ENCCS), NCC Slovenia and NCC Finland. It was also the first one to run on a EuroHPC JU system.
Thanks to the help of the IZUM staff, the hands-on sessions for the workshop were run on the Vega supercomputer, the first EuroHPC-JU petascale system that was online starting from April 2021. SYCL has evolved into a mature technology and the participants were able to experiment with SYCL on modern hardware.
We also held a Q&A with Aksel Alpay, the creator of the hipSYCL compiler, on future directions in SYCL and its use in programming heterogeneous hardware.
All materials used during the training are open source and online. You can browse them at https://enccs.github.io/sycl-workshop/. Anyone is free to reuse these materials to provide their own training event on SYCL. Get inspired by browsing the online repository!
You can also watch the recording of the second day of the workshop below.