A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
arXiv:1604.05937 · doi:10.5194/gmd-9-3803-2016
Abstract
We present a generic algorithm for numbering and then efficiently iterating over the data values attached to an extruded mesh. An extruded mesh is formed by replicating an existing mesh, assumed to be unstructured, to form layers of prismatic cells. Applications of extruded meshes include, but are not limited to, the representation of 3D high aspect ratio domains employed by geophysical finite element simulations. These meshes are structured in the extruded direction. The algorithm presented here exploits this structure to avoid the performance penalty traditionally associated with unstructured meshes. We evaluate the implementation of this algorithm in the Firedrake finite element system on a range of low compute intensity operations which constitute worst cases for data layout performance exploration. The experiments show that having structure along the extruded direction enables the cost of the indirect data accesses to be amortized after 10-20 layers as long as the underlying mesh is well-ordered. We characterise the resulting spatial and temporal reuse in a representative set of both continuous-Galerkin and discontinuous-Galerkin discretisations. On meshes with realistic numbers of layers the performance achieved is between 70% and 90% of a theoretical hardware-specific limit.
arXiv commentBibliography fixes, 23 pages
References in corpus (6)
- Firedrake: automating the finite element method by composing abstractions
- Automated generation and symbolic manipulation of tensor product finite elements
- Solution of nonlinear Stokes equations discretized by high-order finite elements on nonconforming and anisotropic meshes, with application to ice sheet dynamics
- Efficient mesh management in Firedrake using PETSc-DMPlex
- COFFEE: an Optimizing Compiler for Finite Element Local Assembly
- Efficient Representation of Computational Meshes
Cited by in corpus (11)
- Firedrake: automating the finite element method by composing abstractions
- Thetis coastal ocean model: discontinuous Galerkin discretization for the three-dimensional hydrostatic equations
- Variational inequality approach to enforce the non-negative constraint for advection-diffusion equations
- An algorithm for the optimization of finite element integration loops
- A Compatible Finite Element Discretisation for the Moist Compressible Euler Equations
- The scaling and skewness of optimally transported meshes on the sphere
- A scalable DG solver for the electroneutral Nernst-Planck equations
- Composable block solvers for the four-field double porosity/permeability model
- asQ: parallel-in-time finite element simulations using ParaDiag for geoscientific models and beyond
- Model-Based Performance Analysis of the HyTeG Finite Element Framework
- Structure Matters: A Scale-Resolved Numerical Operando Approach for Lithium-Sulfur Batteries