Skip to content

Release coherent mesh format improving parallel I/O performance

Functionality to add/problem to solve

Improve I/O performance and handling in parallel runs:

  • Decrease time-to-solution (mainly due to faster pre-processing)
  • No reconstruction for post-processing
  • Edit a single ASCII file to alter a BC on all processors
  • Reduce substantially number of files (i.e. inodes)

Target audience

All types of cases run in parallel.

Proposal

  • Use the implementation of the coherent mesh format developed during the exaFOAM project that has already been integrated into OpenFOAM: https://gitlab.com/openfoam/community/exafoam/io/-/tree/coherent-preview.v2412 (note the rolling branches).
  • Define missing features for the minimum viable product.
  • Prepare and execute a roadmap to finally integrate the coherent mesh format into the release branch.

What does success look like, and how can we measure that?

Up to 15x faster serial pre-processing (decompose + renumber) of the DrivAer case from the 1st OpenFOAM HPC Challenge with 236 million cells when compared to the collated format. See this presentation: https://github.com/OpenFOAM-HPC-Challenge/OHC1/blob/main/presentations/01-Wikki-SWTrack-IO.pdf

31x lower Cost-To-Solution for the Combustor Grand Challenge with 489 million cells decomposed into 32,768 partitions of the pre- and post-processing compared to the collated format. See the documentation of the case: https://develop.openfoam.com/committees/hpc/-/tree/develop/combustion/XiFoam/DLRCJH#pre--and-post-processing

Links / references

Paper describing the format: https://www.researchsquare.com/article/rs-3897818/v1

Working implementation: https://gitlab.com/openfoam/community/exafoam/io/-/tree/coherent-preview.v2412