Project title:

Analysis of the OpenFOAM performance obtained using modern C++ parallelization techniques


Giulio Malenza

Defense Year: 2023-2024

Current trends in high performance computing (HPC) include the use of Graphics Processing Units (GPUs) as massively parallel co-processors coupled with CPUs to accelerate the solution of complex physics and engineering problems like computational fluid dynamics (CFD).

OpenFOAM is a popular open-source CFD parallel software used by scientists and engineers worldwide. Several attempts have been performed to adapt the codebase to run on GPUs, with variable successes. Recently NVIDIA, CINECA and ESI-OpenCFD have collaborated to accelerate solver computation in OpenFOAM using the NVIDIA AmgX linear solver library. Other sections of the code still bounded by CPU can quickly become a limiting factor in achieving good end-to-end performance.

The main objective of this project will be to explore the use of modern ISO C++parallel constructs to accelerate well-defined kernels extracted from the main application, in particular routines associated to operators evaluation.