University of Birmingham > Talks@bham > Computer Science Departmental Series > Compiler technology for solving PDEs with performance portability

Compiler technology for solving PDEs with performance portability

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Mohammad Tayarani.

We have become used to the idea that higher-level languages supporting a higher level of abstraction come with a price in performance. In contrast, we should expect that the more information the compiler has about the structure and properties of our code, the more scope it should have for optimisation. This talk is about our experience in the Firedrake project of trying to make good on this idea. We are building software tools for a solving PDEs on unstructured meshes, mainly using the finite element method. We support a concise high-level programming model, based on the FEniCS Project’s Unified Form Language, while mapping onto a high-performance implementation entirely automatically via an intermediate representation for loops over the mesh, called PyOP2. Our compiler is based around three layers of domain-specific program representation, each supporting different optimisations. The resulting software tools, implemented in Python, achieve higher performance than established C++ and Fortran codes.

Bio: Paul Kelly ( leads Imperial’s Software Performance Optimisation research group, and he is also co-Director of Imperial’s Centre for Computational Methods in Science and Engineering. His research contributions span single-address-space operating systems, scalable large shared-memory architectures, compilers (bounds checking and pointer analysis), graph algorithms, performance profiling, and custom floating-point arithmetic. His main current focus is on engaging with applications specialists to develop software tools for multicore architectures, overcoming the limitations of conventional compilers through “active libraries” that exploit properties of a particular application domain to achieve high performance while maintaining a clean, abstract program structure.

This talk is part of the Computer Science Departmental Series series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


Talks@bham, University of Birmingham. Contact Us | Help and Documentation | Privacy and Publicity.
talks@bham is based on from the University of Cambridge.