ExaStencils - Advanced Stencil-Code Engineering

Third Party Funds Group - Sub project

Overall project details

Overall project: SPP 1648: Software for Exascale Computing


Project Details

Project leader:
PD Dr.-Ing. Frank Hannig
Prof. Dr.-Ing. Jürgen Teich
Prof. Dr. Ulrich Rüde
Prof. Dr. Harald Köstler

Project members:
Christian Schmitt
Sebastian Kuckuk
Prof. Dr. Harald Köstler
PD Dr.-Ing. Frank Hannig
Prof. Dr.-Ing. Jürgen Teich
Prof. Dr. Ulrich Rüde

Contributing FAU Organisations:
Lehrstuhl für Informatik 10 (Systemsimulation)
Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design)
Technische Fakultät

Funding source: DFG / Schwerpunktprogramm (SPP) (Deutsche Forschungsgemeinschaft (DFG))
Acronym: ExaStencils
Start date: 01/01/2013
End date: 31/12/2018


Abstract (technical / expert description):


Future exascale computing systems with 107 processing units and supporting up to 1018 FLOPS peak performance will require a tight co-design of application, algorithm, and architecture aware program development to sustain this performance for many applications of interest, mainly for two reasons. First, the node structure inside an exascale cluster will become increasingly heterogeneous, always exploiting the most recent available on-chip manycore/GPU/HWassist technology. Second, the clusters themselves will be composed of heterogeneous subsystems and interconnects. As a result, new software techniques and tools supporting the joint algorithm and architecture-aware program development will become indispensable not only (a) to ease application and program development, but also (b) for performance analysis and tuning, (c) to ensure short turn-around times, and (d) for reasons of portability.



Project ExaStencils will investigate and provide a unique, tool-assisted, domain-specific codesign approach for the important class of stencil codes, which play a central role in high performance simulation on structured or block-structured grids. Stencils are regular access patterns on (usually multidimensional) data grids. Multigrid methods involve a hierarchy of very fine to successively coarser grids. The challenge of exascale is that, for the coarser grids, less processing power is required and communication dominates. From the computational algorithm perspective, domain-specific investigations include the extraction and development of suitable stencils, the analysis of performance-relevant algorithmic tradeoffs (e.g., the number of grid levels) and the analysis and reduction of synchronization requirements guided by a template model of the targeted cluster architecture. Based on this analysis, sophisticated programming and software tool support shall be developed by capturing the relevant data structures and program segments for stencil computations in a domain-specific language and applying a generator-based product-line technology to generate and optimize automatically stencil codes tailored to each application–platform pair. A central distinguishing mark of ExaStencils is that domain knowledge is being pursued in a coordinated manner across all abstraction levels, from the formulation of the application scenario down to the generation of highly-optimized stencil code.



For the developed unique and first-time seamless cross-level design flow, the three objectives of (1) a substantial gain in productivity, (2) high flexibility in the choice of algorithm and execution platform, and (3) the provision of the ExaFLOPS performance for stencil code shall be demonstrated in a detailed, final evaluation phase.


External Partners

Universität Passau
University of Tokyo
Bergische Universität Wuppertal


Publications
Go to first page Go to previous page 1 of 4 Go to next page Go to last page

Schmitt, C. (2019). A Domain-Specific Language and Source-to-Source Compilation Framework for Geometric Multigrid Methods (Dissertation).
Schmitt, C. (2019). Eine domänenspezifische Sprache und ein Quelltext-zu-Quelltext-Übersetzungs-Framework für geometrische Mehrgitter-Verfahren (Dissertation).
Schmitt, J., Kuckuk, S., & Köstler, H. (2019). Towards the automatic optimization of geometric multigrid methods with evolutionary computation. Paper presentation at 19th Copper Mountain Conference On Multigrid Methods, Copper Mountain, Colorado.
Schmitt, C., Hannig, F., & Teich, J. (2018). A Target Platform Description Language for Parallel Code Generation. In Workshop Proceedings of the 31st GI/ITG International Conference on Architecture of Computing Systems (ARCS) (pp. 59-66). Braunschweig, DE: Berlin: VDE VERLAG GmbH.
Schmitt, C., Kronawitter, S., Hannig, F., Teich, J., & Lengauer, C. (2018). Automating the Development of High-Performance Multigrid Solvers. Proceedings of the IEEE, 106(11), 1969 - 1984. https://dx.doi.org/10.1109/JPROC.2018.2854229
Kuckuk, S., & Köstler, H. (2018). Code Generation for Massively Parallel PDE Solvers. In Proceedings of the Computational Science at Scale (CoSaS). Erlangen, DE.
Kuckuk, S., & Köstler, H. (2018). Generation of Highly Parallel Multigrid Solvers for CFD Applications. Paper presentation at SIAM Conference on Parallel Processing for Scientific Computing 2018, Tokio, JP.
Heisig, M., & Köstler, H. (2018). Petalisp: Run Time Code Generation for Operations on Strided Arrays. In ACM (Eds.), Proceedings of the 5th ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (pp. 11 - 17). Philadelphia, PA, USA.
Schmitt, C., Schmid, M., Kuckuk, S., Köstler, H., Teich, J., & Hannig, F. (2018). Reconfigurable Hardware Generation of Multigrid Solvers with Conjugate Gradient Coarse-Grid Solution. Parallel Processing Letters, 28(4). https://dx.doi.org/10.1142/S0129626418500160
Köstler, H., Schmitt, C., Kuckuk, S., Kronawitter, S., Hannig, F., Teich, J.,... Lengauer, C. (2017). A Scala Prototype to Generate Multigrid Solver Implementations for Different Problems and Target Multi-Core Platforms. International Journal of Computational Science and Engineering, 14(2), 150-163. https://dx.doi.org/10.1504/IJCSE.2017.10003829

Last updated on 2019-21-03 at 15:42