A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake

by   Gheorghe-Teodor Bercea, et al.

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


A simple technique for unstructured mesh generation via adaptive finite elements

This work describes a concise algorithm for the generation of triangular...

Two-grid hp-version discontinuous Galerkin finite element methods for quasilinear elliptic PDEs on agglomerated coarse meshes

This article considers the extension of two-grid hp-version discontinuou...

JSweep: A Patch-centric Data-driven Approach for Parallel Sweeps on Large-scale Meshes

In mesh-based numerical simulations, sweep is an important computation p...

Fully Parallel Mesh I/O using PETSc DMPlex with an Application to Waveform Modeling

Large-scale PDE simulations using high-order finite-element methods on u...

Point Movement in a DSL for Higher-Order FEM Visualization

Scientific visualization tools tend to be flexible in some ways (e.g., f...

Quadrature for Implicitly-defined Finite Element Functions on Curvilinear Polygons

H^1-conforming Galerkin methods on polygonal meshes such as VEM, BEM-FEM...

Learning topological operations on meshes with application to block decomposition of polygons

We present a learning based framework for mesh quality improvement on un...

Please sign up or login with your details

Forgot password? Click here to reset