The ExaFLOW project contributed to an extremely important area of HPC, both in academia and industry. CFD is in the heart of modern engineering and an indispensable tool for areas such as automotive, aerospace, energy, weather & climate, biotechnology, etc. A particularly important area here is turbulence, as about 10% of the energy use in the world is spent overcoming turbulent friction. Improvements in this area have thus a clear environmental and societal impact. CFD is also one of the areas that have a clear need, and potential, to reach exascale. The ExaFLOW project made important contributions towards enabling CFD simulations on exascale systems taking into account algorithmic concepts as well as highly-parallel and energy-efficient implementations.
Specifically, ExaFLOW expanded the state of the art in the areas of
• Mesh Adaptivity, Heterogeneous Modelling, and Resilience:
We addressed the challenge of developing scalable adaptive methods, where error estimators drive an adaption process in order to make highly efficient use of large-scale computational resources without a priori knowledge of the flow solution. To improve solver efficiency, we have investigated new numerical methods (CG-HDG, overlapping Schwarz and Schwarz-multigrid preconditioners) and efficient ways of their implementation.
• Strong scaling at Exascale
New code generation methods have been developed for efficient evaluation of stencil operation, and low latency communication kernels have been formulated to improve strong scalability limits. We have investigated how to improve the scalability of state-of-the-art spectral element methods with the development of communication reducing mixed discretisation methods and the formulation of various preconditioners suitable for adaptive methods. Furthermore, we advanced the field of error control for heterogenous modelling, allowing different regions of the flow to be accurately modelled with different approaches, reducing computational cost and increasing scalability. We have increased energy awareness of high order methods and developed methods to reduce energy with minimal impact on run-time.
• Extreme Data Challenge
We addressed the extreme data challenge by developing methods to reduce the volume of data that must be transferred from memory to disks by using filters for structure extraction and data reduction, i.e. transforming the large “raw” data to feature- or structure-based data which are orders of magnitude more compact. Together with new, efficient I/O schemes, development of fault tolerance algorithms to ensure resilience to hardware faults has significantly increased the exascale readiness of our pilot codes.
• Energy Efficient Algorithms
ExaFLOW investigated both energy efficient and energy aware algorithms, with the focus being on the former. In particular we have investigated mixed-precision algorithms, compiler and CPU friendly algorithms, the use of different programming models and frequency scaling.