Shamrock: SPH and more, from a laptop to Exascale.

Timothée Cléris Cambridge Fluids Network - fluids-related seminars 28 May 2025 1:40pm The Hoyle Lecture Theatre + Zoom We introduce Shamrock, a performance-portable framework written in C++17, targeting CPU and GPUs from any vendors using the SYCL programming standard, designed for numerical astrophysics across a wide range of hardware, from laptops to Exascale systems. Astrophysical schemes often share a common structure: a combination of neighbor searching and the numerical scheme itself. Shamrock embraces such abstractions to provide a common framework for multiple hydrodynamical schemes, namely finite elements, finite volume (with adaptive mesh refinement), and Smoothed Particle Hydrodynamics. To achieve this, at its core, Shamrock features a highly optimized, parallel tree algorithm with negligible construction overhead. This tree structure is coupled with a domain decomposition strategy that enables near-linear weak scalability across multiple GPUs. Shamrock achieves 92% weak scaling efficiency on 1024 AMD MI250x GPUs in large-scale Smoothed Particle Hydrodynamics (SPH) simulations. This corresponds to processing billions of particles per second, with tens of millions of particles handled per GPU, allowing us to perform the first SPH simulations above the billion-particle mark for protoplanetary discs.