A study of vectorization for matrix-free finite element methods

by   Tianjiao Sun, et al.
Imperial College London

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.


GPU Accelerated Finite Element Assembly with Runtime Compilation

In recent years, high performance scientific computing on graphics proce...

Isoparametric Tangled Finite Element Method for Nonlinear Elasticity

An important requirement in the standard finite element method (FEM) is ...

Assembly of stiffness matrices via atomics

Finite element methods require the composition of the global stiffness m...

Code generation for productive portable scalable finite element simulation in Firedrake

Creating scalable, high performance PDE-based simulations requires a sui...

Model-Based Performance Analysis of the HyTeG Finite Element Framework

In this work, we present how code generation techniques significantly im...

nlfem: A flexible 2d Fem Code for Nonlocal Convection-Diffusion and Mechanics

In this work we present the mathematical foundation of an assembly code ...

Please sign up or login with your details

Forgot password? Click here to reset