Automatic Code Generation for High-performance Discontinuous Galerkin Methods on Modern Architectures

14Citations
Citations of this article
27Readers
Mendeley users who have this article in their library.
Get full text

Abstract

SIMD vectorization has lately become a key challenge in high-performance computing. However, hand-written explicitly vectorized code often poses a threat to the software's sustainability. In this publication, we solve this sustainability and performance portability issue by enriching the simulation framework dune-pdelab with a code generation approach. The approach is based on the well-known domain-specific language UFL but combines it with loopy, a more powerful intermediate representation for the computational kernel. Given this flexible tool, we present and implement a new class of vectorization strategies for the assembly of Discontinuous Galerkin methods on hexahedral meshesexploiting the finite element's tensor product structure. The performance-optimal variant from thisclass is chosen by the code generator through an auto-tuning approach. The implementation is done within the open source PDE software framework Dune and the discretization module dune-pdelab. The strength of the proposed approach is illustrated with performance measurements for DG schemes for a scalar diffusion reaction equation and the Stokes equation. In our measurements, we utilize both theAVX2 and the AVX512 instruction set, achieving 30% to 40% of the machine's theoretical peak performance for one matrix-free application of the operator.

Author supplied keywords

Cite

CITATION STYLE

APA

Kempf, D., Heß, R., Müthing, S., & Bastian, P. (2021). Automatic Code Generation for High-performance Discontinuous Galerkin Methods on Modern Architectures. ACM Transactions on Mathematical Software, 47(1). https://doi.org/10.1145/3424144

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free