Skip to main content

Research Repository

Advanced Search

A study of vectorization for matrix-free finite element methods

Sun, Tianjiao; Mitchell, Lawrence; Kulkarni, Kaushik; Klöckner, Andreas; Ham, David A; Kelly, Paul H.J.

A study of vectorization for matrix-free finite element methods Thumbnail


Authors

Tianjiao Sun

Lawrence Mitchell

Kaushik Kulkarni

Andreas Klöckner

David A Ham

Paul H.J. Kelly



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.

Citation

Sun, T., Mitchell, L., Kulkarni, K., Klöckner, A., Ham, D. A., & Kelly, P. H. (2020). A study of vectorization for matrix-free finite element methods. International Journal of High Performance Computing Applications, 34(6), 629-644. https://doi.org/10.1177/1094342020945005

Journal Article Type Article
Acceptance Date Jun 16, 2020
Online Publication Date Jul 31, 2020
Publication Date 2020-11
Deposit Date Apr 16, 2019
Publicly Available Date Jul 23, 2020
Journal International Journal of High Performance Computing Applications
Print ISSN 1094-3420
Electronic ISSN 1741-2846
Publisher SAGE Publications
Peer Reviewed Peer Reviewed
Volume 34
Issue 6
Pages 629-644
DOI https://doi.org/10.1177/1094342020945005
Public URL https://durham-repository.worktribe.com/output/1303781
Related Public URLs https://arxiv.org/pdf/1903.08243.pdf

Files


Accepted Journal Article (669 Kb)
PDF

Copyright Statement
This article is distributed under the terms of the Creative Commons Attribution 4.0 License (https://creativecommons.org/licenses/by/4.0/) which permits any use, reproduction and distribution of the work without further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/open-access-at-sage).





You might also like



Downloadable Citations