Solving partial differential equations using the finite element method
Details
Solving partial differential equations using the finite element method efficiently and productively with Firedrake and PyOP2
Refreshments will be provided
Abstract
In this talk Florian Rathgeber will give an overview of his PhD research in computational science at Imperial College London before joining European Centre for Medium-Range Weather Forecasts, (ECMWF), which involved designing and implementing a two-layer domain-specific framework for the efficient solution of partial differential equations from a high-level problem specification. He will present Firedrake, a high-level framework for solving partial differential equations using the finite element method, built on top of PyOP2, a domain-specific language embedded in Python for parallel mesh-based computations. Florian will highlight characteristic features that differentiate this tool chain from existing solutions, reflect on the process of designing and implementing the framework and discuss some lessons learnt in running an academic open source software project.
Firedrake allows scientists to describe variational forms and discretisations for linear and non-linear finite element problems
symbolically, in a notation very close to their mathematical models. PyOP2 abstracts the performance-portable parallel execution of local computations over the mesh on a range of hardware architectures, targeting multi-core CPUs, GPUs and accelerators. Thereby, a separation of concerns is achieved, in which Firedrake encapsulates domain knowledge about the finite element method separately from its efficient parallel execution in PyOP2, which in turn is completely agnostic to the higher abstraction layer.
As a consequence of the composability of those abstractions, optimised implementations for different hardware architectures can be automatically generated without any changes to a single high-level source. Performance matches or exceeds what is realistically attainable by hand-written code.
Firedrake and PyOP2 are combined to form a tool chain that is demonstrated to be competitive with or faster than available alternatives on a wide range of different finite element problems.
Bio
Florian is a Computational Scientist at the European Centre for Medium-range Weather Forecast, working on the performance optimisation of ECMWF's product generation as part of the Scalability Programme. He did a PhD in the Software Performance Optimisation group at the Department of Computing, Imperial College London. As part of his PhD research, he was one of the main developers of the PyOP2 framework for performance-portable
unstructured mesh-based computations and the Firedrake framework for portable finite element computations.
Florian is a familiar and popular member of the Reading tech scene. He is an interesting and engaging speaker who will step us through this exciting and challenging subject.
