Code generation approaches for parallel geometric multigrid solvers. (English) Zbl 07376180

Summary: Software development for applications in computational science and engineering has become complex in recent years. This is mainly due to the increasing parallelism and heterogeneity in modern computer architectures and to the more realistic physical and mathematical models that have to be processed. One idea to address this issue is to use code generation techniques. In contrast to manual implementations in a general-purpose computing language, they allow to integrate automatic code transforms to produce efficient code for different models and platforms. As an example the numerical solution of an elliptic partial differential equation via generated geometric multigrid solvers is considered. We present three code generation approaches for it and discuss their advantages and disadvantages with respect to performance, portability, and productivity.


68N99 Theory of software
65N55 Multigrid methods; domain decomposition for boundary value problems involving PDEs
65Y10 Numerical algorithms for specific classes of architectures
Full Text: DOI