English

Code generation for productive portable scalable finite element simulation in Firedrake

Mathematical Software 2021-04-19 v1

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.

Keywords

Cite

@article{arxiv.2104.08012,
  title  = {Code generation for productive portable scalable finite element simulation in Firedrake},
  author = {Jack D. Betteridge and Patrick E. Farrell and David A. Ham},
  journal= {arXiv preprint arXiv:2104.08012},
  year   = {2021}
}
R2 v1 2026-06-24T01:14:16.754Z