Michael Schlottke-Lakemper, High-Performance Computing Center Stuttgart, University of Stuttgart
The efficient parallel execution of coupled multi-physics simulations presents a number of significant challenges. With the existence of multiple spatial and temporal scales, and with the interdependence of the coupled systems, it becomes considerably harder to retain good overall scalability. These issues are further exacerbated by solution-adaptive algorithms, especially when moving beyond pure mesh adaptivity to the dynamic selection of models and methods.
A central aim of this project will therefore be to encapsulate the complexities of comprehensive adaptivity in a generic way, such that users can focus on the development of the individual solvers and coupling schemes. To achieve this, we will develop a modular design for coupled multi-scale multi-physics simulations, which is capable of handling continual changes in mesh, models, and methods. Application-independent algorithms for the management of coupled hierarchical meshes, partitioning, and dynamic load balancing across multiple solvers will be constructed. They will take into account different hardware affinities of the coupled systems on heterogeneous computing systems. Efficient execution recipes that consider data dependencies between solvers will be designed, building on a lightweight approach to task-based parallelism. Finally, generalizable programming interfaces will be identified to create an open-source coupling library in Julia, to assist other scientists in developing their own parallel coupled simulations.