Code Generation for Octree-Based Multigrid Solvers with Fused Higher-Order Interpolation and Communication - Angersbach, Richard; Köstler, Harald; Kuckuk, Sebastian (Euro-Par 2024, 2024)
This paper presents a novel method designed to generate multigrid solvers optimized for octree-based software frameworks. Our approach focuses on accurately capturing local features within a domain while leveraging the efficiency inherent in multigrid techniques. We outline the essential steps involved in generating specialized kernels for local refinement and communication routines which integrate on-the-fly interpolations to seamlessly transfer information between refinement levels. The generated numerical solvers and communication routines are automatically specialized for coupling with existing implementations of complex octree data structures and algorithms that are often found in established HPC frameworks. We demonstrate the effectiveness of our method through numerical experiments with different interpolation orders as well as with large-scale benchmarks on the SuperMUC-NG cluster. A comparison against a manual reference implementation highlights the benefits of our method and code generation in general.<br
Keywords: Software Coupling Code Generation Domain-specific Language Multigrid Octree

Fusion of Massively-Parallel Simulation Frameworks and Code Generation Methodologies for Lattice Boltzmann and Multigrid Applications - Angersbach, Richard; Köstler, Harald; Kuckuk, Sebastian (Platform for Advanced Scientific Computing (PASC) Conference, 2022)
In various application domains, large-scale simulations are required for accurate and meaningful results. For optimal usage of the target system, simulation codes are often tailored towards its hardware components. Implementing such specialized codes by hand, however, can be a challenging task. Code generation can provide a remedy for this task. One successful example is ExaStencils. ExaStencils is a whole-program code generation framework for stencil codes, in particular multigrid, on block-structured grids. From its domain-specific language ExaSlang, optimal C++ code can be produced. waLBerla, on the other hand, is a more traditional HPC framework for multi-physics with a focus on CFD. It specializes in LBM and particle simulation on octrees. Here, code generation is also employed for performance-critical kernels working on grids and particles. In this work, we couple the two frameworks and examine how multi-physics applications, requiring specialized components from both worlds, can be implemented. One promising example is a charged particle application, comprising of fluid flows, simulated using LBM, and electric potentials, solved via multigrid, in addition to their interaction with particles. In this work, we demonstrate how such a coupling can be achieved and illustrate interface data structures.<br
Keywords: Code Generation; DSL; Multigrid; LBM; Software Coupling

Generating Coupling Interfaces for Multiphysics Simulations with ExaStencils and waLBerla - Angersbach, Richard; Kuckuk, Sebastian; Köstler, Harald (2023 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2023)
Domain-specific languages (DSLs) and code generation technology are adopted more and more by the high-performance computing (HPC) community to tackle the performance, portability, and productivity requirements for HPC software. They share their inherent specialization in specific scientific domains with traditional HPC frameworks. In this regard, multiphysics simulations pose a strong challenge as they usually require components from multiple domains. A promising option for retaining these requirements is the combination of code generation with HPC frameworks through automatically created couplings. This work demonstrates the fusion of waLBerla with generated code from ExaStencils. waLBerla is a massively parallel C++ framework focused on computational fluid dynamics (CFD) simulations using the Lattice Boltzmann method (LBM). ExaStencils generates whole simulation codes using geometric multigrid solvers from specifications in its own DSL. We showcase the coupling of generated solvers with LBM simulations, including the mapping of data structures and augmentations to convert quantities units on-the-fly<br
Keywords: Software Coupling; Code Generation; Multigrid; Domain-specific Language; ExaStencils; waLBerla; Lattice Boltzmann

p-adaptive discontinuous Galerkin method for the shallow water equations on heterogeneous computing architectures - Faghih-Naini, Sara; Aizinger, Vadym; Kuckuk, Sebastian; Angersbach, Richard; Köstler, Harald (GEM - International Journal on Geomathematics, 2025)
Heterogeneous computing and exploiting integrated CPU–GPU architectures has become a clear current trend since the flattening of Moore’s Law. In this work, we propose a numerical and algorithmic re-design of a p-adaptive quadrature-free discontinuous Galerkin (DG) method for the shallow water equations. Our new approach separates the computations of the non-adaptive (lower-order) and adaptive (higher-order) parts of the discretization from each other. Thereby, we can overlap computations of the lower-order and the higher-order DG solution components. Furthermore, we investigate execution times of main computational kernels and use automatic code generation to optimize their distribution between the CPU and GPU. Several setups, including a prototype of a tsunami simulation in a tide-driven flow scenario, are investigated, and the results show that significant performance improvements can be achieved in suitable setups.
CRIS-Team Scopus Importer:2025-05-02
Keywords: Discontinuous Galerkin method; GPU computing; Heterogeneous architectures; p-adaptivity; Quadrature-free integration; Shallow water equations; System-on-a-chip (SoC)