This talk introduced SYCL as a programming model for Aurora, the upcoming Argonne exascale machine. SYCL is a single source heterogeneous programming model based on standard C++. It uses C++ templates and lambda functions for host and device code. SYCL builds on the underlying concepts of portability and efficiency of OpenCL that enables code for heterogeneous processors, however it is less verbose compare to OpenCL. The single-source programming enables the host and kernel code for an application to be contained in the same source file, in a type-safe way and with the simplicity of a cross-platform asynchronous task graph. We will provide an overview of the SYCL concepts, compilation and runtime. No prior knowledge of OpenCL was required. Once the core concepts of SYCL were reviewed, the presenters walked through several code examples to highlight the key features of SYCL. SYCL by design is hardware agnostic and offers the potential to be portable across many of DOE’s largest machines.
- Haritha Siddabathuni Som (ALCF)
- Ray Loy (ALCF)
- Yasaman Ghadar (ALCF)