Code generation approaches for parallel geometric multigrid solvers
Published Online: Dec 28, 2020
Page range: 123 - 152
Received: Jul 10, 2019
Accepted: Dec 16, 2019
DOI: https://doi.org/10.2478/auom-2020-0038
Keywords
© 2020 Harald Köstler et al., published by Sciendo
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
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.