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

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 n...

Full description

Bibliographic Details
Main Authors: G.-T. Bercea, A. T. T. McRae, D. A. Ham, L. Mitchell, F. Rathgeber, L. Nardi, F. Luporini, P. H. J. Kelly
Format: Article
Language:English
Published: Copernicus Publications 2016-10-01
Series:Geoscientific Model Development
Online Access:http://www.geosci-model-dev.net/9/3803/2016/gmd-9-3803-2016.pdf
_version_ 1818472132285300736
author G.-T. Bercea
A. T. T. McRae
D. A. Ham
L. Mitchell
F. Rathgeber
L. Nardi
F. Luporini
P. H. J. Kelly
author_facet G.-T. Bercea
A. T. T. McRae
D. A. Ham
L. Mitchell
F. Rathgeber
L. Nardi
F. Luporini
P. H. J. Kelly
author_sort G.-T. Bercea
collection DOAJ
description 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.
first_indexed 2024-04-14T04:01:06Z
format Article
id doaj.art-37c6927295694e98b35a709da8ac5176
institution Directory Open Access Journal
issn 1991-959X
1991-9603
language English
last_indexed 2024-04-14T04:01:06Z
publishDate 2016-10-01
publisher Copernicus Publications
record_format Article
series Geoscientific Model Development
spelling doaj.art-37c6927295694e98b35a709da8ac51762022-12-22T02:13:32ZengCopernicus PublicationsGeoscientific Model Development1991-959X1991-96032016-10-019103803381510.5194/gmd-9-3803-2016A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in FiredrakeG.-T. Bercea0A. T. T. McRae1D. A. Ham2L. Mitchell3F. Rathgeber4L. Nardi5F. Luporini6P. H. J. Kelly7Department of Computing, Imperial College London, London, SW7 2AZ, UKThe Grantham Institute, Imperial College London, London, SW7 2AZ, UKDepartment of Mathematics, Imperial College London, London, SW7 2AZ, UKDepartment of Computing, Imperial College London, London, SW7 2AZ, UKDepartment of Computing, Imperial College London, London, SW7 2AZ, UKDepartment of Computing, Imperial College London, London, SW7 2AZ, UKDepartment of Computing, Imperial College London, London, SW7 2AZ, UKDepartment of Computing, Imperial College London, London, SW7 2AZ, UKWe 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.http://www.geosci-model-dev.net/9/3803/2016/gmd-9-3803-2016.pdf
spellingShingle G.-T. Bercea
A. T. T. McRae
D. A. Ham
L. Mitchell
F. Rathgeber
L. Nardi
F. Luporini
P. H. J. Kelly
A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
Geoscientific Model Development
title A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
title_full A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
title_fullStr A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
title_full_unstemmed A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
title_short A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
title_sort structure exploiting numbering algorithm for finite elements on extruded meshes and its performance evaluation in firedrake
url http://www.geosci-model-dev.net/9/3803/2016/gmd-9-3803-2016.pdf
work_keys_str_mv AT gtbercea astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT attmcrae astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT daham astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT lmitchell astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT frathgeber astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT lnardi astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT fluporini astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT phjkelly astructureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT gtbercea structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT attmcrae structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT daham structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT lmitchell structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT frathgeber structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT lnardi structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT fluporini structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake
AT phjkelly structureexploitingnumberingalgorithmforfiniteelementsonextrudedmeshesanditsperformanceevaluationinfiredrake