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).