A study of vectorization for matrix-free finite element methods
File(s)1094342020945005.pdf (1.91 MB)
Published version
Author(s)
Type
Journal Article
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.
Date Issued
2020-07-31
Date Acceptance
2020-07-01
Citation
International Journal of High Performance Computing Applications, 2020, 34 (6), pp.629-644
ISSN
1094-3420
Publisher
SAGE Publications
Start Page
629
End Page
644
Journal / Book Title
International Journal of High Performance Computing Applications
Volume
34
Issue
6
Copyright Statement
© The Author(s) 2020. 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).
License URL
Identifier
http://gateway.webofknowledge.com/gateway/Gateway.cgi?GWVersion=2&SrcApp=PARTNER_APP&SrcAuth=LinksAMR&KeyUT=WOS:000554544900001&DestLinkType=FullRecord&DestApp=ALL_WOS&UsrCustomerID=1ba7043ffcc86c417c072aa74d649202
Subjects
Science & Technology
Technology
Computer Science, Hardware & Architecture
Computer Science, Interdisciplinary Applications
Computer Science, Theory & Methods
Computer Science
Finite element method
vectorization
global assembly
code generation
Publication Status
Published
Article Number
ARTN 1094342020945005
Date Publish Online
2020-07-31