Published December 17, 2025 | Version 1.0.0

Working with SYCL for a portable and performant library adding reactions to particle codes used in plasma physics.

  • 1. 0000-0002-6114-0256

Description

In plasma physics simulations and in particular those of the tokamak exhaust, atomic and molecular reactions can play an important role. These need to be incorporated into various particle codes with many complex reactions and a large number of particles that must be processed, all of these aspects in combination require both flexibility and performance. NESO-Particles is a performance portable framework for building particle codes on meshes (both structured and unstructured) developed at UKAEA, and we have chosen it as a basis for our particle reactions library. NESO-Particles is built on SYCL to provide said performance portability and we inherit this capability in our library. This allows the codes using the library to run on both CPUs and NVidia GPUs on either local machines (such as laptops) or large clusters (such as CSD3 in Cambridge). However, the use of SYCL required certain considerations to be taken into account and posed some design challenges that were overcome. For example we had to consider that all data that is used inside SYCL loops has to be compatible with the SYCL compute device (this is particularly apparent when using GPUs), while ensuring a relatively smooth and flexible installation procedure. This poster showcases various SYCL-based design constraints encountered in this project as well as how Spack was used to manage package dependencies. Additionally, there is also some exploration of the process of open-sourcing the library that has unique configuration and installation considerations owing to its portability via SYCL.

Files

110_poster_-_Sanket_Gadgil.pdf

Files (189.3 kB)

Name Size Download all
md5:84c9494ba1546f3c5996b6dc2bf5d08d
189.3 kB Preview Download