Project Details
Projekt Print View

Dynamic HPC software frameworks: Seamless integration of existing simulation frameworks and code generation techniques

Subject Area Data Management, Data-Intensive Systems, Computer Science Methods in Business Informatics
Software Engineering and Programming Languages
Term from 2020 to 2023
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 433735254
 
Final Report Year 2024

Final Report Abstract

Multiphysics simulations are an important tool in many natural science and engineering fields e.g. to optimize placement of wind turbines or to predict material transport in riverbeds. Such simulations usually require a large amount of computing resources to produce accurate results and are commonly run on a supercomputer. Due to these systems’ high power consumption costs, highly parallel and efficient implementations for the numerical schemes and complex coupling methods are required. For application scenarios experts from various domains have to collaborate and the underlying codes are often developed and used over many years. One major issue arises from modern hardware trends towards more and more heterogeneous systems, since developing and maintaining hand-optimized compute kernels for several target architectures and accelerators is very time-consuming in the long term for a multi-physics framework that supports a wide range of different models. Code generation approaches help to tackle this problem because the definition of the method itself is separated from the description of the algorithm and how to optimize it. Additionally, possibly hardware-dependent optimization strategies are automated in the code generation process and are applied to an abstract description of the algorithm. However, in scientific software code generation technology is still a new technology so it is essential to evaluate it carefully and critically. Limited experience existed so far in terms of its sustainability and its long-term impact on the development process. Our findings, software tools, and best practices can help to achieve the meta-goal to systematically upgrade existing scientific software with code generation features. In the project, several code generators for different purposes are coupled with the multiphysics simulation framework waLBerla to design a dynamic framework that fuses manual and generated implementations. The dynamic framework is built on top of open-source tools and uses several different code generation techniques that can be applied to a wide range of simulation codes and architectures. For application scientists it becomes easier to couple simulation tools and to incorporate new models using the provided high-level abstractions that hide implementation and platform details.

Link to the final report

https://doi.org/10.5281/zenodo.15018004

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung