UTCS Colloquia - Paul H J Kelly, Imperial College London, UK, "Compiler technology for solving PDEs with performance portability"

Contact Name: 
Cayetana Garcis
GDC 6.302
Feb 3, 2014 11:00am - 12:00pm

Signup Schedule: http://apps.cs.utexas.edu/talkschedules/cgi/list_events.cgi

Talk Audience: UTCS Faculty, Grads, Undergrads, Other Interested Parties

Host:  Keshav K Pingali

Talk Abstract: This talk is about pushing compiler technology "up the food chain".  The hypothesis is that by starting from a well-chosen domain-specific language (DSL), we can deliver powerful performance optimisations beyond the scope of compilers for general-purpose languages.  I will present our Firedrake project (http://www.firedrakeproject.org/), which uses this idea at two different layers for finite element applications, particularly in fluid dynamics.  Our objective is to achieve higher performance than can reasonably be achieved by hand, starting from an extremely high-level, abstract specification, essentially the weak form of the differential equation.  Firedrake builds on the FEniCS project's Unified Form Language, and the FEniCS Form Compiler (FFC), with a new parallel intermediate representation, called PyOP2, based on the access-execute ("AEcute") model.  PyOP2 is a DSL for parallel loops over unstructured meshes, which uses access descriptors to delegate data movement, partitioning and scheduling to back-end code generators for OpenMP, MPI, CUDA and OpenCL.  Preliminary performance results show higher performance than both FEniCS and FLUIDITY, the major production CFD package into which this work is being delivered.

Speaker Bio: Paul H J Kelly (http://www.doc.ic.ac.uk/~phjk/) leads the Software Performance Optimisation research group in the Department of Computing at Imperial College London, and is also co-director of Imperial's Centre for Computational Methods in Science and Engineering (http://www3.imperial.ac.uk/computationalmethods).  Since joining Imperial in 1986, he has worked in compilers, computer architecture and operating systems.  Impact of his group's work includes bounds checking in GCC, pointer alias analysis in GCC (4.1 and later), and The Foundry's Blink framework for visual effects in the film industry.  He is on the Advisory Board of Maxeler Inc.