CoSeC set up Community Collaboration Visits to encourage and promote mutually engaging visits with colleagues and project partners from CoSeC-funded communities. The aim is to enable knowledge exchange and accelerate community-driven development of research software related to CoSeC and the collaborative computational communities.
Hamid Kavari, Associate Research Fellow at Newcastle University, recently visited the team at CCP-Turbulence and talks about his experience.
I joined Newcastle University in early 2025 as part of the ExCALIBUR (Exascale Computing Algorithms & Infrastructures Benefiting UK Research) project, in collaboration with CCP-Turbulence, focused on modernising high-fidelity reacting-flow DNS software for heterogeneous HPC platforms. My work focuses on performance-portable GPU enablement and validation of SENGA+, leveraging the OPS domain-specific language (DSL) abstraction layer to target multiple backends from a CPU codebase (e.g. MPI/OpenMP on CPUs and CUDA/HIP/SYCL on GPUs).
Earlier generations of production reacting-flow DNS solvers were primarily CPU-oriented, and re-engineering legacy structured-mesh solvers requires careful attention to memory layout, halo exchange, kernel fusion/launch overheads, and maintaining numerical fidelity under different parallel execution models. OPS provides a pragmatic route to performance portability by decoupling the scientific kernels from low-level parallelisation choices, enabling the same algorithmic description to be compiled for multiple vendor architectures without maintaining divergent code branches.
During the visit, I worked closely with Dr Stefano Rolfo, Dr Valantis Tsinginos, and Professor Gu. The collaboration was both practical and forward-looking: in addition to advancing immediate engineering tasks, the discussions helped shape a new joint direction with Professor Gu that will build on the re-engineered code for turbulence configurations of interest.
To maximise outcomes within the three-day visit, we structured the work into three focused technical tracks.
First, with Dr Rolfo, we reviewed the OPS translation workflow and strengthened the supporting CI/CD infrastructure to deliver reproducible builds, automated regression testing, and portability across target systems and backends, capabilities that are critical for maintaining correctness whilst iterating on performance-sensitive kernels and for keeping the code production-ready as new platforms emerge.
Second, with Dr Tsinginos, we defined requirements and integration pathways for particle-resolved and/or particle-tracking extensions, recognising that particle capability introduces additional coupling patterns (e.g. interpolation, force models, and time integration) and places new demands on both performance and software architecture, making an early implementation strategy important to preserve scalability and maintainability.
Third, with Professor Gu, we aligned on canonical turbulence configurations and boundary-condition strategy, focusing on boundary-layer and channel-flow cases as key benchmarks, clarifying expected diagnostics and best practices for robust setup, and using channel flow as a practical target production.
A full day dedicated to each objective materially accelerated progress compared to distributed online meetings: we were able to pair-program on specific code paths, resolve design decisions in real time, and converge on a concrete implementation plan.
The visit concluded with the main engineering tasks substantially advanced and a clear path toward final verification for production workflows, including training and user-facing readiness activities to ensure the translated code is robust, well-tested, and performant on current HPC systems.