Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Florian Rathgeber is active.

Publication


Featured researches published by Florian Rathgeber.


ACM Transactions on Mathematical Software | 2017

Firedrake: Automating the Finite Element Method by Composing Abstractions

Florian Rathgeber; David A. Ham; Lawrence Mitchell; Fabio Luporini; Andrew T. T. McRae; Gheorghe-Teodor Bercea; Graham Markall; Paul H. J. Kelly

Firedrake is a new tool for automating the numerical solution of partial differential equations. Firedrake adopts the domain-specific language for the finite element method of the FEniCS project, but with a pure Python runtime-only implementation centred on the composition of several existing and new abstractions for particular aspects of scientific computing. The result is a more complete separation of concerns which eases the incorporation of separate contributions from computer scientists, numerical analysts and application specialists. These contributions may add functionality, or improve performance. Firedrake benefits from automatically applying new optimisations. This includes factorising mixed function spaces, transforming and vectorising inner loops, and intrinsically supporting block matrix operations. Importantly, Firedrake presents a simple public API for escaping the UFL abstraction. This allows users to implement common operations that fall outside pure variational formulations, such as flux-limiters.


ieee international conference on high performance computing data and analytics | 2012

PyOP2: A High-Level Framework for Performance-Portable Simulations on Unstructured Meshes

Florian Rathgeber; Graham Markall; Lawrence Mitchell; Nicolas Loriant; David A. Ham; Carlo Bertolli; Paul H. J. Kelly

Emerging many-core platforms are very difficult to program in a performance portable manner whilst achieving high efficiency on a diverse range of architectures. We present work in progress on PyOP2, a high-level embedded domain-specific language for mesh-based simulation codes that executes numerical kernels in parallel over unstructured meshes. Just-in-time kernel compilation and parallel scheduling are delayed until runtime, when problem-specific parameters are available. Using generative metaprogramming, performance portability is achieved, while details of the parallel implementation are abstracted from the programmer. PyOP2 kernels for finite element computations can be generated automatically from equations given in the domain-specific Unified Form Language. Interfacing to the multi-phase CFD code Fluidity through a very thin layer on top of PyOP2 yields a general purpose finite element solver with an input notation very close to mathematical formulae. Preliminary performance figures show speedups of up to 3.4× compared to Fluiditys built-in solvers when running in parallel.


ACM Transactions on Architecture and Code Optimization | 2015

Cross-Loop Optimization of Arithmetic Intensity for Finite Element Local Assembly

Fabio Luporini; Ana Lucia Varbanescu; Florian Rathgeber; Gheorghe-Teodor Bercea; J. Ramanujam; David A. Ham; Paul H. J. Kelly

The numerical solution of partial differential equations using the finite element method is one of the key applications of high performance computing. Local assembly is its characteristic operation. This entails the execution of a problem-specific kernel to numerically evaluate an integral for each element in the discretized problem domain. Since the domain size can be huge, executing efficient kernels is fundamental. Their op- timization is, however, a challenging issue. Even though affine loop nests are generally present, the short trip counts and the complexity of mathematical expressions make it hard to determine a single or unique sequence of successful transformations. Therefore, we present the design and systematic evaluation of COF- FEE, a domain-specific compiler for local assembly kernels. COFFEE manipulates abstract syntax trees generated from a high-level domain-specific language for PDEs by introducing domain-aware composable optimizations aimed at improving instruction-level parallelism, especially SIMD vectorization, and register locality. It then generates C code including vector intrinsics. Experiments using a range of finite-element forms of increasing complexity show that significant performance improvement is achieved.


international supercomputing conference | 2013

Performance-Portable Finite Element Assembly Using PyOP2 and FEniCS

Graham Markall; Florian Rathgeber; Lawrence Mitchell; Nicolas Loriant; Carlo Bertolli; David A. Ham; Paul H. J. Kelly

We describe a toolchain that provides a fully automated compilation pathway from a finite element domain-specific language to low-level code for multicore and GPGPU platforms. We demonstrate that the generated code exceeds the performance of the best available alternatives, without requiring manual tuning or modification of the generated code. The toolchain can easily be integrated with existing finite element solvers, providing a means to add performance portable methods without having to rebuild an entire complex implementation from scratch.


Archive | 2016

PyOP2: Framework for performance-portable parallel computations on unstructured meshes

Florian Rathgeber; Hector Dearman; gbts; Gheorghe-Teodor Bercea; Kaho Sato; Simon W. Funke; Lawrence Mitchell; Miklós Homolya; Francis Russell; Christian T. Jacobs; David A. Ham; Andrew T. T. McRae; Graham Markall; Fabio Luporini


Archive | 2016

COFFEE: A Compiler for Fast Expression Evaluation

Fabio Luporini; Michael Lange; Francis Russell; Graham Markall; Miklós Homolya; Lawrence Mitchell; David A. Ham; Florian Rathgeber


Archive | 2016

fiat: The Finite Element Automated Tabulator

Marie E. Rognes; Colin J. Cotter; Robert C. Kirby; Garth N. Wells; Anders Logg; Lizao Li; Johannes Ring; Jan Blechta; Miklós Homolya; Martin Sandve Alnæs; Nico Schlömer; David A. Ham; mliertzer; Aslak Bergersen; Andrew T. T. McRae; Florian Rathgeber; Lawrence Mitchell


Geoscientific Model Development | 2016

A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake

Gheorghe-Teodor Bercea; Andrew T. T. McRae; David A. Ham; Lawrence Mitchell; Florian Rathgeber; Luigi Nardi; Fabio Luporini; Paul H. J. Kelly


Archive | 2016

firedrake: an automated finite element system

Lawrence Mitchell; Colin J. Cotter; Gheorghe-Teodor Bercea; Asbjørn Nilsen Riseth; Simon W. Funke; Graham Markall; Eike Hermann Mueller; Tuomas Kärnä; Patrick E. Farrell; Geordie McBain; Miklós Homolya; Henrik Büsing; Anna Kalogirou; Christian T. Jacobs; David A. Ham; Andrew T. T. McRae; Florian Rathgeber; Hannah Rittich; Stephan C. Kramer; Fabio Luporini


Geoscientific Model Development Discussions | 2016

A numbering algorithm for finite elements on extruded meshes which avoids the unstructured mesh penalty

Gheorghe-Teodor Bercea; Andrew T. T. McRae; David A. Ham; Lawrence Mitchell; Florian Rathgeber; Luigi Nardi; Fabio Luporini; Paul H. J. Kelly

Collaboration


Dive into the Florian Rathgeber's collaboration.

Top Co-Authors

Avatar

David A. Ham

Imperial College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Michael Lange

European Centre for Medium-Range Weather Forecasts

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Anna Kalogirou

University of East Anglia

View shared research outputs
Researchain Logo
Decentralizing Knowledge