Skip to main content

Research Repository

Advanced Search

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

Bercea, Gheorghe-Teodor; McRae, Andrew T.T.; Ham, David A.; Mitchell, Lawrence; Rathgeber, Florian; Nardi, Luigi; Luporini, Fabio; Kelly, Paul H.J.

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


Authors

Gheorghe-Teodor Bercea

Andrew T.T. McRae

David A. Ham

Lawrence Mitchell

Florian Rathgeber

Luigi Nardi

Fabio Luporini

Paul H.J. Kelly



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 three-dimensional 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 characterize the resulting spatial and temporal reuse in a representative set of both continuous-Galerkin and discontinuous-Galerkin discretizations. On meshes with realistic numbers of layers the performance achieved is between 70 and 90 % of a theoretical hardware-specific limit.

Citation

Bercea, G., McRae, A. T., Ham, D. A., Mitchell, L., Rathgeber, F., Nardi, L., …Kelly, P. H. (2016). A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake. Geoscientific Model Development, 9(10), 3803-3815. https://doi.org/10.5194/gmd-9-3803-2016

Journal Article Type Article
Acceptance Date Sep 26, 2016
Online Publication Date Oct 27, 2016
Publication Date Oct 27, 2016
Deposit Date Aug 1, 2018
Publicly Available Date Aug 2, 2018
Journal Geoscientific Model Development
Print ISSN 1991-959X
Electronic ISSN 1991-9603
Publisher European Geosciences Union
Peer Reviewed Peer Reviewed
Volume 9
Issue 10
Pages 3803-3815
DOI https://doi.org/10.5194/gmd-9-3803-2016
Related Public URLs https://arxiv.org/pdf/1604.05937.pdf

Files




You might also like



Downloadable Citations