WP3 – Code Refactoring

Lead beneficiary: CINECA

Objectives:

    • Refactoring development of OpenFOAM core code to fully exploit the evolving HPC hardware.
    • Identify a hardware-independent (“catch-all”) sparse matrix format, which achieves very high efficiency for common-used test matrices across all hardware platforms.
    • Consider the algorithmic efficiency of the existing sparse matrix storage format used in OpenFOAM, implement and test alternative matrix storage format options providing improved cross-platform performance and scalability on heterogeneous exascale hardware.
    • Evaluate the approach of object-oriented paradigm for new data structure(s) versus the implementation of a class for the new data structure that substitutes the current native LDU implementation.
    • Refactor the field algebra and matrix assembly to improve vectorization/hybridization of the code.
    • Implement different linear algebra solvers on top of the new data structure.
    • Develop an efficient, natively parallel I/O scaling strategy for extreme scientific data sets.
    • Investigate and propose the most suitable strategy for porting OpenFOAM to accelerators (GPUs and/or FPGAs).