An algorithm for the optimization of finite element integration loops
arXiv:1604.05872 · doi:10.1145/3054944
Abstract
We present an algorithm for the optimization of a class of finite element integration loop nests. This algorithm, which exploits fundamental mathematical properties of finite element operators, is proven to achieve a locally optimal operation count. In specified circumstances the optimum achieved is global. Extensive numerical experiments demonstrate significant performance improvements over the state of the art in finite element code generation in almost all cases. This validates the effectiveness of the algorithm presented here, and illustrates its limitations.
References in corpus (3)
- Firedrake: automating the finite element method by composing abstractions
- Optimisations for quadrature representations of finite element tensors through automated code generation
- A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
Cited by in corpus (10)
- Thetis coastal ocean model: discontinuous Galerkin discretization for the three-dimensional hydrostatic equations
- Fast matrix-free evaluation of discontinuous Galerkin finite element operators
- TSFC: a structure-preserving form compiler
- Higher-order compatible finite element schemes for the nonlinear rotating shallow water equations on the sphere
- Sympiler: Transforming Sparse Matrix Codes by Decoupling Symbolic Analysis
- Energy conserving upwinded compatible finite element schemes for the rotating shallow water equations
- A study of vectorization for matrix-free finite element methods
- A scalable variational inequality approach for flow through porous media models with pressure-dependent viscosity
- The scaling and skewness of optimally transported meshes on the sphere
- Composable block solvers for the four-field double porosity/permeability model