当前位置: X-MOL 学术Int. J. High Perform. Comput. Appl. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A study of vectorization for matrix-free finite element methods
The International Journal of High Performance Computing Applications ( IF 3.1 ) Pub Date : 2020-07-31 , DOI: 10.1177/1094342020945005
Tianjiao Sun 1 , Lawrence Mitchell 2 , Kaushik Kulkarni 3 , Andreas Klöckner 3 , David A Ham 4 , Paul HJ Kelly 1
Affiliation  

Vectorization is increasingly important to achieve high performance on modern hardware with SIMD instructions. Assembly of matrices and vectors in the finite element method, which is characterized by iterating a local assembly kernel over unstructured meshes, poses difficulties to effective vectorization. Maintaining a user-friendly high-level interface with a suitable degree of abstraction while generating efficient, vectorized code for the finite element method is a challenge for numerical software systems and libraries. In this work, we study cross-element vectorization in the finite element framework Firedrake via code transformation and demonstrate the efficacy of such an approach by evaluating a wide range of matrix-free operators spanning different polynomial degrees and discretizations on two recent CPUs using three mainstream compilers. Our experiments show that our approaches for cross-element vectorization achieve 30% of theoretical peak performance for many examples of practical significance, and exceed 50% for cases with high arithmetic intensities, with consistent speed-up over (intra-element) vectorization restricted to the local assembly kernels.

中文翻译:

无矩阵有限元方法的矢量化研究

矢量化对于使用 SIMD 指令在现代硬件上实现高性能越来越重要。有限元方法中矩阵和向量的组装,其特点是在非结构化网格上迭代局部组装内核,给有效的矢量化带来了困难。在为有限元方法生成高效的矢量化代码的同时,保持具有适当抽象程度的用户友好的高级界面是数值软件系统和库的挑战。在这项工作中,我们通过代码转换研究了有限元框架 Firedrake 中的跨元素向量化,并通过在使用三个主流的两个最新 CPU 上评估跨越不同多项式次数和离散化的各种无矩阵运算符来证明这种方法的有效性编译器。
更新日期:2020-07-31
down
wechat
bug