<> "The repository administrator has not yet configured an RDF license."^^ . <> . . "Code Generation for High Performance PDE Solvers on Modern Architectures"^^ . "Numerical simulation with partial differential equations is an important discipline in high performance computing. Notable application areas include geosciences, fluid dynamics, solid mechanics and electromagnetics. Recent hardware developments have made it increasingly hard to achieve very good performance. This is both due to a lack of numerical algorithms suited for the hardware and efficient implementations of these algorithms not being available.\r\n\r\nModern CPUs require a sufficiently high arithmetic intensity in order to unfold their full potential. In this thesis, we use a numerical scheme that is well-suited for this scenario: The Discontinuous Galerkin Finite Element Method on cuboid meshes can be implemented with optimal complexity exploiting the tensor product structure of basis functions and quadrature formulae using a technique called sum factorization. A matrix-free implementation of this scheme significantly lowers the memory footprint of the method and delivers a fully compute-bound algorithm.\r\n\r\nAn efficient implementation of this scheme for a modern CPU requires maximum use of the processor’s SIMD units. General purpose compilers are not capable of autovectorizing traditional PDE simulation codes, requiring high performance implementations to explicitly spell out SIMD instructions. With the SIMD width increasing in the last years (reaching its current peak at 512 bits in the Intel Skylake\r\narchitecture) and programming languages not providing tools to directly target SIMD units, such code suffers from a performance portability issue. This work proposes generative programming as a solution to this issue.\r\n\r\nTo this end, we develop a toolchain that translates a PDE problem expressed in a domain specific language into a piece of machine-dependent, optimized C++ code. This toolchain is embedded into the existing user workflow of the DUNE project, an open source framework for the numerical solution of PDEs. Compared to other such toolchains, special emphasis is put on an intermediate representation that enables performance-oriented transformations. Furthermore, this thesis defines a new class of SIMD vectorization strategies that operate on batches of subkernels within one integration kernel. The space of these vectorization strategies is explored systematically from within the code generator in an autotuning procedure.\r\n\r\nWe demonstrate the performance of our vectorization strategies and their implementation by providing measurements on the Intel Haswell and Intel Skylake\r\narchitectures. We present numbers for the diffusion-reaction equation, the Stokes equations and Maxwell’s equations, achieving up to 40% of the machine’s theoretical floating point performance for an application of the DG operator."^^ . "2019" . . . . . . . "Dominic"^^ . "Kempf"^^ . "Dominic Kempf"^^ . . . . . . "Code Generation for High Performance PDE Solvers on Modern Architectures (PDF)"^^ . . . "dominickempf_dissertation.pdf"^^ . . . "Code Generation for High Performance PDE Solvers on Modern Architectures (Other)"^^ . . . . . . "indexcodes.txt"^^ . . "HTML Summary of #27360 \n\nCode Generation for High Performance PDE Solvers on Modern Architectures\n\n" . "text/html" . . . "004 Informatik"@de . "004 Data processing Computer science"@en . . . "510 Mathematik"@de . "510 Mathematics"@en . .