← Community

HPC Technical Committee · annual since 2025

OpenFOAM® HPC Challenge

A yearly open benchmark of OpenFOAM on current hardware: all participants run the same industrial case, with the standard code or their own optimisations, and compare time and energy to solution. Wikki co-organises the challenge. The first edition, OHC-1, collected 237 data points from 12 organisations.

Surface pressure on the DrivAer car model, seen from the front above, high pressure in red at the front, low pressure in blue at the windscreen edges and mirrors
Surface pressure on the occDrivAer car model. Image: Upstream CFD GmbH, from the HPC Technical Committee repository, Fig. 6, CC BY-SA 4.0.

The OpenFOAM HPC Challenge was launched by the OpenFOAM HPC Technical Committee to take a snapshot of how OpenFOAM performs on current production hardware, and how much software optimisations can add to it. All participants run the same industrial case. The challenge is held every year since 2025, and Wikki GmbH is one of its organisers.

The results of the first challenge, OHC-1, were presented in a mini-symposium at the 20th OpenFOAM Workshop in Vienna on 1 July 2025. Sergey Lesnik of Wikki was a member of the organising committee and analysed and presented the results together with Gregor Olenik (TUM) and Mark Wasserman (Huawei). The rest of this page describes OHC-1.

Highlights of OHC-1

The case

The challenge case is the external aerodynamics of the DrivAer car model with closed cooling inlets and static wheels (occDrivAer): a full car with engine bay, cooling channels and a complex underbody. A similar configuration was studied in the Automotive CFD Prediction Workshops (AutoCFD2 to AutoCFD4), so reference results were available. It was computed as a steady-state, incompressible RANS simulation with the k-ω SST turbulence model and simpleFoam, on three meshes of 65, 110 and 236 million cells created with snappyHexMesh. The case is available in the repository of the HPC Technical Committee, based on a setup provided by Upstream CFD.

Two tracks

The submissions were compared by time to solution, energy to solution, time and energy per iteration and FVOPS (finite-volume operations per second: cells × iterations / wall-clock time). FVOPS is a throughput metric that allows runs on different meshes and machines to be compared.

Hardware track

Three charts: time to solution against CPU cores for all hardware-track runs on the three meshes; a heat map of the number of submissions per contributor and mesh; stacked bars of submissions by CPU family and generation, with AMD 81, ARM 34 and Intel 60
Hardware-track submissions: (a) time to solution against the number of CPU cores, (b) number of submissions per contributor and mesh (c: coarse, m: medium, f: fine), (c) number of submissions by CPU family and generation. Source: arXiv:2603.27565, Fig. 4, CC BY-SA 4.0; the three parts are arranged side by side.

The hardware track received 175 runs. All three meshes were well covered: most runs used the coarse mesh and the fewest the medium mesh, as participants concentrated either on single-node performance or on extreme scaling. Of the runs, 81 used AMD, 60 Intel and 34 ARM CPUs of several generations.

The strong-scaling plots run the same mesh on more and more cores. Time to solution falls with the core count for all CPU families and meshes, but no configuration scales ideally over the whole range. Within a node, the cores compete for memory bandwidth. Across nodes, communication takes over, because OpenFOAM parallelises with MPI only and the share of communication grows as the subdomains shrink. Some curves even rise again at high core counts, typically between 10,000 and 50,000 cells per core; a practical limit of about 10,000 cells per core was observed. Within each CPU family, newer generations are generally faster at the same core count.

Grid of nine log-log plots of time to solution against the number of CPU cores, for the coarse, medium and fine meshes and the AMD, ARM and Intel CPU families, coloured by CPU generation
Strong scaling: time to solution against the number of CPU cores for the coarse (top), medium (centre) and fine (bottom) meshes, by CPU family: AMD (left), ARM (centre) and Intel (right). The top axis shows the number of cells per core. Source: arXiv:2603.27565, Fig. 6, CC BY-SA 4.0.

The manuscript also shows the trade-off between time and energy to solution. Its Pareto front shows that a moderate increase in energy buys a large reduction in run time, while beyond that point more nodes save little time at a high energy cost. On a single node, CPUs with on-package high-bandwidth memory give the fastest and most energy-efficient runs, because OpenFOAM’s sparse solvers are limited by memory bandwidth.

Software track

Five organisations submitted 62 software-track runs: full GPU ports (Engys, CINECA), offloading of the linear solvers to GPUs (KIT/TUM), optimised decomposition (Wikki, KIT/TUM), mixed precision and selective memory allocation (Huawei) and the coherent I/O format (Wikki). Selective memory allocation lowered the energy per iteration from 2,613 to 1,867 J. GPU ports reached the highest throughput per node and needed 10 to 15 times fewer nodes for comparable peak performance, but scaled less well; the highest total throughput came from optimised decomposition on CPUs. A key result: optimised software on older hardware can beat the unoptimised code on the newest CPUs.

Wikki’s contributions

Data and publication

All submissions (CC BY 4.0), analysis notebooks and presentations are open in the OHC-1 repository and archived on Zenodo (doi:10.5281/zenodo.17063427). An interactive notebook allows custom analyses of the full data set.

← Back to community · Contact us