2021
DOI: 10.1109/mcse.2021.3085102
|View full text |Cite
|
Sign up to set email alerts
|

Code Generation for Productive, Portable, and Scalable Finite Element Simulation in Firedrake

Abstract: Creating scalable, high performance PDE-based simulations requires an appropriate combination of models, discretizations, and solvers. The required combination changes with the application and with the available hardware, yet software development time is a severely limited resource for most scientists and engineers. Here we demonstrate that generating simulation code from a high-level Python interface provides an effective mechanism for creating high performance simulations from very few lines of user code. We… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
2
1
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(2 citation statements)
references
References 10 publications
0
2
0
Order By: Relevance
“…Here, we clearly see another increase in the cost per linear iteration, especially in the three-stage methods where the time required increases by about 50% for = 7. Improved performance would almost certainly be seen by duplicating the coarse-grid solve on each node, as considered in [58][59][60]. We leave these performance enhancements for future work.…”
Section: Two-dimensional Time-dependent Stokesmentioning
confidence: 99%
“…Here, we clearly see another increase in the cost per linear iteration, especially in the three-stage methods where the time required increases by about 50% for = 7. Improved performance would almost certainly be seen by duplicating the coarse-grid solve on each node, as considered in [58][59][60]. We leave these performance enhancements for future work.…”
Section: Two-dimensional Time-dependent Stokesmentioning
confidence: 99%
“…We demonstrate our approach by implementing it in the finite element library Firedrake (Rathgeber et al, 2016). Firedrake takes symbolic mathematical expressions of PDEs written in the Unified Form Language (UFL) (Alnaes, 2012) domain specific language, and generates parallelisable, scalable (Betteridge et al, 2021) and efficient finite element C code. It supports a wide array of elements and has been used to build the ocean model Thetis (Kärnä et al, 2018), atmospheric dynamical core Gusto (Ham et al, 2017), and glacier flow modelling toolkit Icepack (Shapero et al, 2021).…”
Section: Introductionmentioning
confidence: 99%