Software development is an important part of the Excalibur-SLE Design and Development Working Group. As well as writing our own Open Source code, which tests some of the concepts needed for Exascale, we have run a training workshop on C++/SYCL.
Public repositories of the software projects that we have been working on for Excalibur-SLE are available on Github.
SYCL is a programming model that targets a wide variety of devices (CPUs, GPUs, FPGAs and more) from a single code base. SYCL supports a single-source style of programming from completely standard C++. With increasingly heterogeneous processor roadmaps, a platform-independent model such as SYCL is essential for software developers.
The Excalibur DDWG for System-Level Engineering held a Software Training Workshop on 7 January 2021 and 17 February 2021, hosted by Codeplay Software Ltd. In this tutorial, we introduce SYCL and also help developers understand how to migrate code from CUDA to SYCL. The tutorial was constructed around hands-on exercises that help reinforce the concepts presented during the session.