TY - CHAP AU - Lengauer, Christian AU - Apel, Sven AU - Bolten, Matthias AU - Chiba, Shigeru AU - Rüde, Ulrich AU - Teich, Jürgen AU - Größlinger, Armin AU - Hannig, Frank AU - Köstler, Harald AU - Claus, Lisa AU - Grebhahn, Alexander AU - Groth, Stefan AU - Kronawitter, Stefan AU - Kuckuk, Sebastian AU - Rittich, Hannah AU - Schmitt, Christian AU - Schmitt, Jonas TI - ExaStencils: Advanced Multigrid Solver Generation VL - 136 CY - Berlin PB - Springer M1 - FZJ-2021-00052 SN - 978-3-030-47955-8 T2 - Lecture Notes in Computational Science and Engineering SP - 405 - 452 PY - 2020 AB - Present-day stencil codes are implemented in general-purpose programming languages, such as Fortran, C, or Java, Python or derivates thereof, and harnesses for parallelism, such as OpenMP, OpenCL or MPI. Project ExaStencils pursued a domain-specific approach with a language, called ExaSlang, that is stratified into four layers of abstraction, the most abstract being the formulation in continuous mathematics and the most concrete a full, automatically generated implementation. At every layer, the corresponding language expresses not only computational directives but also domain knowledge of the problem and platform to be leveraged for optimization. We describe the approach, the software technology behind it and several case studies that demonstrate its feasibility and versatility: high-performance stencil codes can be engineered, ported and optimized more easily and effectively. LB - PUB:(DE-HGF)7 UR - https://juser.fz-juelich.de/record/889127 ER -