Code generation for productive, portable, and scalable finite element simulation in Firedrake
Author(s)
Betteridge, Jack D
Farrell, Patrick E
Ham, David A
Type
Journal Article
Abstract
Creating scalable, high performance PDE-based simulations requires a suitable
combination of discretizations, differential operators, preconditioners 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.
combination of discretizations, differential operators, preconditioners 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.
Date Issued
2021-07
Date Acceptance
2021-05-22
Citation
Computing in Science and Engineering, 2021, 23 (4), pp.8-17
ISSN
1521-9615
Publisher
Institute of Electrical and Electronics Engineers
Start Page
8
End Page
17
Journal / Book Title
Computing in Science and Engineering
Volume
23
Issue
4
Copyright Statement
© 2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Identifier
http://arxiv.org/abs/2104.08012v1
Grant Number
EP/V001493/1
Subjects
cs.MS
cs.MS
Publication Status
Published
Date Publish Online
2021-06-07
