Dr Florian Rathgeber introduced the Firedrake project. Similar to the FEniCS project, the end user specifies their (partial differential) equations in a domain specific language (UFL) as a weak form. The framework then translates this into fast compiled executable code, in principle for a number of different computational backends, such as serial CPU, OpenMP, CUDA, OpenCL. A key role plays the PyOP2 tool in optimising the distributed calculations of the various kernels.
The speaker explained the different layers of abstraction in the model, and the ideas that led to this design. The decoupling of different layers in the tool allows different experts to improve and develop the tool independently from each other, for example computer scientints to improve the parallel scheduling and code generation while numerical analysicists can extend the finite element capabilities of the framework.