Dear HPC users,
I would like to advertise a talk in the Math's Departments Numerical Analysis seminar tomorrow (Fri, 24th Oct): David Ham (Imperial College) will speak about
"Firedrake: automating the finite element method by composing abstractions"
An abstract can be found below. I think the topic is of wider interest for anyone working in HPC and thinking about writing good performance-portable code (a problem which will only get more challenging in the future), so please come along if you want.
As usual the seminar takes place at 12:15h in the Wolfson Lecture Theatre (4West 1.7) and we go for lunch with the speaker in the Claverton Rooms afterwards.
See you tomorrow,
*** Abstract ***
The creation of simulation software confronts an explosion of complexity: demands to simulate more complex systems require more complex numerics, and the effective use of ever-more complex hardware. Facing this challenge means effectively combining skills from across numerical analysis, computer science, and the scientific fields to which the simulation is to be applied. However the complexity of these fields means that it is not feasible for individual scientists to simultaneously be masters of them all. Progress requires that systems are developed which create sufficiently robust separations of concerns that experts in each field can make advances in their own research agendas while working on code which can be immediately employed by those in the other fields.
A solution to this problem is to employ mathematical abstractions not just in the derivation of numerical schemes, but also in their implementation. In this talk I will present Firedrake, a toolchain for the solution of partial differential equations by the finite element method. It's user interface is based on the Unified Form Language, a domain specific language for PDEs in weak form. These PDEs are translated into another abstract language, PyOP2, whose primitives are parallel operations over the computational mesh. Finally this representation is used to automatically generate high performance parallel implementations of PDE assemblers and calls to the PETSc linear and non-linear solver system. Firedrake effectively enables mathematicians and computer scientists to collaborate to produce simulations which are both high productivity and fast.