Multi-layered abstractions for PDEs

Lead Research Organisation: University of Oxford
Department Name: Oxford e-Research Centre

Abstract

Partial differential equations (PDEs) are the mathematical basis ofvast areas of science. From fluid problems such as flow past anaircraft or the circulation of the worlds oceans to structuralproblems in bridges or inside the bones of a body and even in theworld of financial options pricing, PDEs are the key description. Itis therefore unsurprising that computing solutions to PDEs consumes amassive proportion of high performance computing resources in bothindustry and academia.Hitherto, the software which solves PDEs has been written for specificsorts of hardware by people who had to be experts both in the sciencethey were modelling and in programming. This is an expensive anderror-prone process and, because it occurs in an informal way inengineering and science departments, has suffered from a lack of inputfrom modern computer science. However, what makes this proposalcritical for computational science are the large changes which areoccuring in hardware technology. The emergence of new massivelyparallel platforms, such as graphical processing units (GPUs) andmulticore CPU systems is requiring very different approaches tolow-level programming and, importantly, different approaches fordifferent hardware platforms. It also requires new research into thebest optimisation strategies for these platforms. The current approachto writing scientific software will not deliver the changes that arerequired within the industrial and government funding resources available.This project will break this paradigm by using multiple layers ofabstraction to present to scientists and engineers a way ofprogramming PDE problems which is independent of the hardware and tocomputer scientists, a program generation space in which they cangenerate optimal algorithms for PDEs on different hardware platformswithout becoming embroiled in domain science. In particular, we willdevelop a hardware abstraction layer (OP2) which will allow programsto be written by explicitly stating what is parallel. The OP2 layersoftware will then translate this into low-level code which utilisesthe parallelism in a particular hardware platform. For developersworking with the finite element method (FEM), an importantcomputational technique for PDEs, we will present an additional layerwhich will enable them to write the finite element problem in a highlevel language, UFL. This will then be translated to OP2 and thencedown to the hardware layer.We will demonstrate the effectiveness of this approach with two PhDprojects. One will look into the dispersion of polutants in urbansettings while the other will study the stress properties of surgicalbone implants. These are both important scientific questions whichcurrently suffer from a lack of resolution and therefore need to beable to employ the latest high performance hardware.

Publications

10 25 50

publication icon
Giles M (2011) Performance analysis of the OP2 framework on many-core architectures in ACM SIGMETRICS Performance Evaluation Review

publication icon
Giles M (2013) Designing OP2 for GPU architectures in Journal of Parallel and Distributed Computing

publication icon
Giles MB (2014) Trends in high-performance computing for engineering calculations. in Philosophical transactions. Series A, Mathematical, physical, and engineering sciences

publication icon
Jammy S (2016) Block-structured compressible Navier-Stokes solution using the OPS high-level abstraction in International Journal of Computational Fluid Dynamics

publication icon
Reguly I (2016) Acceleration of a Full-Scale Industrial CFD Application with OP2 in IEEE Transactions on Parallel and Distributed Systems

publication icon
Reguly I (2013) Finite Element Algorithms and Data Structures on Graphical Processing Units in International Journal of Parallel Programming

 
Description This project has successfully developed a high-level framework for the automatic parallelisation of unstructured grid applications on a wide variety of target architectures.
Exploitation Route It is currently being exploited for a major CFD application at Rolls-Royce. The software which has been developed has been made openly available.
Sectors Digital/Communication/Information Technologies (including Software),Education,Energy

URL http://www.oerc.ox.ac.uk/research/op2
 
Description The OP2 library is being used by Rolls-Royce for HYDRA, its corporate CFD code which is used for analysis and design.
First Year Of Impact 2014
Sector Aerospace, Defence and Marine
Impact Types Economic

 
Description AWE (2014)
Amount £24,984 (GBP)
Organisation Atomic Weapons Establishment 
Sector Private
Country United Kingdom
Start 06/2014 
End 11/2014
 
Description AWE (2015)
Amount £24,725 (GBP)
Organisation Atomic Weapons Establishment 
Sector Private
Country United Kingdom
Start 07/2015 
End 12/2015
 
Description Future-proof massively-parallel execution of multi-block applications
Amount £282,844 (GBP)
Funding ID EP/K038494/1 
Organisation Engineering and Physical Sciences Research Council (EPSRC) 
Sector Academic/University
Country United Kingdom
Start 09/2013 
End 08/2016
 
Description High-level abstractions
Amount £23,353 (GBP)
Organisation Atomic Weapons Establishment 
Sector Private
Country United Kingdom
Start 07/2013 
End 12/2013
 
Description Rolls-Royce (2014)
Amount £29,960 (GBP)
Organisation Rolls Royce Group Plc 
Sector Private
Country United Kingdom
Start 10/2014 
End 12/2014
 
Description Rolls-Royce (2015)
Amount £36,396 (GBP)
Organisation Rolls Royce Group Plc 
Sector Private
Country United Kingdom
Start 01/2015 
End 12/2015
 
Description Siloet -- multicore platforms
Amount £30,395 (GBP)
Organisation Rolls Royce Group Plc 
Sector Private
Country United Kingdom
Start 07/2012 
End 06/2013
 
Description CUDA Programming on NVIDIA GPUs 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Postgraduate students
Results and Impact One week course on CUDA programming on NVIDIA GPUs, available to both academics and non-academics.

Lots of the students have since gone on to use CUDA programming in their research.
Year(s) Of Engagement Activity 2008,2009,2010,2011,2012
URL http://people.maths.ox.ac.uk/gilesm/cuda/