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

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

Full description

Saved in:
Bibliographic Details
Published inComputing in science & engineering Vol. 23; no. 4; pp. 8 - 17
Main Authors Betteridge, Jack D., Farrell, Patrick E., Ham, David A.
Format Journal Article
LanguageEnglish
Published New York IEEE 01.07.2021
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects
Online AccessGet full text
ISSN1521-9615
1558-366X
1558-366X
DOI10.1109/MCSE.2021.3085102

Cover

More Information
Summary: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 demonstrate that moving from one supercomputer to another can require significant algorithmic changes to achieve scalable performance, but that the code generation approach enables these algorithmic changes to be achieved with minimal development effort.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1521-9615
1558-366X
1558-366X
DOI:10.1109/MCSE.2021.3085102