Chapter

Euro-Par 2014: Parallel Processing Workshops

Volume 8806 of the series Lecture Notes in Computer Science pp 553-564

ExaStencils: Advanced Stencil-Code Engineering

  • Christian LengauerAffiliated withFaculty of Computer Science and Mathematics, University of Passau
  • , Sven ApelAffiliated withFaculty of Computer Science and Mathematics, University of Passau
  • , Matthias BoltenAffiliated withDepartment of Mathematics and Science, University of Wuppertal
  • , Armin GrößlingerAffiliated withFaculty of Computer Science and Mathematics, University of Passau
  • , Frank HannigAffiliated withDepartment of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU)
  • , Harald KöstlerAffiliated withDepartment of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU)
  • , Ulrich RüdeAffiliated withDepartment of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU)
  • , Jürgen TeichAffiliated withDepartment of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU)
  • , Alexander GrebhahnAffiliated withFaculty of Computer Science and Mathematics, University of Passau
    • , Stefan KronawitterAffiliated withFaculty of Computer Science and Mathematics, University of Passau
    • , Sebastian KuckukAffiliated withDepartment of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU)
    • , Hannah RittichAffiliated withDepartment of Mathematics and Science, University of Wuppertal
    • , Christian SchmittAffiliated withDepartment of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU)

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Project ExaStencils pursues a radically new approach to stencil-code engineering. Present-day stencil codes are implemented in general-purpose programming languages, such as Fortran, C, or Java, or derivates thereof, and harnesses for parallelism, such as OpenMP, OpenCL or MPI. ExaStencils favors a much more domain-specific approach with languages at several layers of abstraction, the most abstract being the mathematical formulation, the most concrete the optimized target code. 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. This approach will enable a highly automated code generation at all layers and has been demonstrated successfully before in the U.S. projects FFTW and SPIRAL for certain linear transforms.