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

Automatic Code Generation for High-performance Discontinuous Galerkin Methods on Modern Architectures
复制标题

现代架构上高性能不连续伽辽金方法的自动代码生成

DOI:
10.1145/3424144
复制
发表时间:
2018
期刊:
ACM Transactions on Mathematical Software (TOMS)
影响因子:
--
通讯作者:
P. Bastian
P. Bastian
中科院分区:
--
文献类型:
--
作者:
D. Kempf;René Heß;Steffen Müthing;P. Bastian

文献摘要

参考文献

被引文献

相似文献

SIMD矢量化近年来已成为高性能计算中的一个关键挑战。然而,手写的明确的向量化代码常常对软件的可持续性构成威胁。在本出版物中,我们通过使用代码生成方法丰富仿真框架dune-pdelab来解决这种可持续性和性能可移植性问题。该方法基于众所周知的特定于领域的语言UFL,但将其与用于计算内核的更强大的中间表示loop结合起来。鉴于这种灵活的工具,我们提出并实现了一类新的矢量化策略,用于利用有限元张量积结构在六面体网格上进行不连续伽辽金方法的装配。代码生成器通过自动调优方法从该类中选择性能最优的变体。该实现是在开源PDE软件框架Dune和离散化模块Dune -pdelab中完成的。通过对标量扩散反应方程和Stokes方程的DG格式的性能测量说明了所提出方法的强度。在我们的测量中,我们同时使用AVX2和AVX512指令集,对于一个无矩阵的操作符应用,实现了机器理论峰值性能的30%到40%。
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 meshes exploiting the finite element’s tensor product structure. The performance-optimal variant from this class 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 the AVX2 and the AVX512 instruction set, achieving 30% to 40% of the machine’s theoretical peak performance for one matrix-free application of the operator.
DOI: 10.1145/3325864
发表时间: 2017-11
期刊: ACM Transactions on Mathematical Software (TOMS)
影响因子: --
作者:
M. Kronbichler;K. Kormann
通讯作者: M. Kronbichler;K. Kormann
DOI: 10.1137/15m1021167
发表时间: 2014-11
期刊: ArXiv
影响因子: --
作者:
Andrew T. T. McRae-Andrew-T.-T.-McRae-3013986;Gheorghe-Teodor Bercea;L. Mitchell;D. Ham;C. Cotter
通讯作者: Andrew T. T. McRae-Andrew-T.-T.-McRae-3013986;Gheorghe-Teodor Bercea;L. Mitchell;D. Ham;C. Cotter
DOI: 10.1016/j.jcp.2017.11.035
发表时间: 2016-12
期刊: J. Comput. Phys.
影响因子: --
作者:
Marian Piatkowski;Steffen Müthing;P. Bastian
通讯作者: Marian Piatkowski;Steffen Müthing;P. Bastian
使用 DUNE 示例在科学数值软件框架中进行系统测试
DOI: 10.11588/ans.2017.1.27447
发表时间: 2017
期刊:
影响因子: --
作者:
D. Kempf;T. Koch
通讯作者: T. Koch