Modernising an Industrial CFD Application

István Z. Reguly, Gihan R. Mudalige · 2020

Rolls-Royce Hydra is an industrial Computational Fluid Dynamics (CFD) code used for the design of turbomachinery. In this paper we describe the modernisation effort that takes the current MPI-only version and migrates it to use the OP2 Domain Specific Language (DSL), which enables OpenMP as well as CUDA parallelisations on top of MPI. We discuss the issue of the the original codebase being under continuous development, and having to keep upstreaming the modernised version using a set of conversion scripts that help to automate the process. The result is a single, easy to maintain, source code that can target modern CPUs and GPUs. We evaluate the performance and scalability of the modernised version on a set of the latest Intel CPUs and NVIDIA GPUs. Results demonstrate matching performance to the original production code using the same parallelization model (MPI) on CPUs, but further speedups of up to 2.8× on modern many-core architectures.

Read the paper · More papers on PaperTik