Code generation for productive portable scalable finite element simulation in Firedrake

04/16/2021
by   Jack D. Betteridge, et al.
0

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.

READ FULL TEXT

page 2

page 3

page 5

page 6

research
11/01/2021

Escaping the abstraction: a foreign function interface for the Unified Form Language [UFL]

High level domain specific languages for the finite element method under...
research
06/08/2019

Nektar++: enhancing the capability and application of high-fidelity spectral/hp element methods

Nektar++ is an open-source framework that provides a flexible, high-perf...
research
03/19/2019

A study of vectorization for matrix-free finite element methods

Vectorization is increasingly important to achieve high performance on m...
research
05/01/2020

Computational Steering of Geometrically Sensitive Simulations

In the context of high-performance finite element analysis, the cost of ...
research
04/12/2021

NekRS, a GPU-Accelerated Spectral Element Navier-Stokes Solver

The development of NekRS, a GPU-oriented thermal-fluids simulation code ...
research
06/26/2019

A Modular and Extensible Software Architecture for Particle Dynamics

Creating a highly parallel and flexible discrete element software requir...
research
03/04/2022

Application placement study of environment adaptive software

To use heterogeneous hardware, programmers must have sufficient technica...

Please sign up or login with your details

Forgot password? Click here to reset