English

A study of vectorization for matrix-free finite element methods

Mathematical Software 2020-08-26 v2

Abstract

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.

Keywords

Cite

@article{arxiv.1903.08243,
  title  = {A study of vectorization for matrix-free finite element methods},
  author = {Tianjiao Sun and Lawrence Mitchell and Kaushik Kulkarni and Andreas Klöckner and David A. Ham and Paul H. J. Kelly},
  journal= {arXiv preprint arXiv:1903.08243},
  year   = {2020}
}
R2 v1 2026-06-23T08:13:22.478Z