Imperial College London

ProfessorPaulKelly

Faculty of EngineeringDepartment of Computing

Professor of Software Technology
 
 
 
//

Contact

 

+44 (0)20 7594 8332p.kelly Website

 
 
//

Location

 

Level 3 (upstairs), William Penney Building, room 304William Penney LaboratorySouth Kensington Campus

//

Summary

 

Overview

For complete and up-to-date research news, publications etc please refer to my Departmental home page, at http://www.doc.ic.ac.uk/~phjk.  My Google Scholar page provides online access to many of my papers.

Current and recent research projects

show research

A new simulation and optimisation platform for marine technology.  Co-investigator, 01/03/15-28/02/2018.  GBP 434,711.  EPSRC EP/M011054/1.

Intel Parallel Computing Center (IPCC) on Open Performance portablE SeismiC Imaging (OPESCI), Co-investigator, 01/01/2015-31/12/2016 (USD 650K).

Adaptive  program transformation and scheduling for heterogeneous systems.  EPSRC Industrial CASE Studentship, sponsored by ARM, 09/2014-03/2018.

HiPEDS: High-performance Embedded and Distributed Systems - EPSRC Centre for Doctoral Training.  Co-Investigator, 01/10/2014-.

PAMELA: a Panoramic Approach to the Many-CorE LAndsape - from end-user to end-device: a holistic game-changing approach.  Co-Investigator, 01/03/2013-28/02/2018 (Programme Grant, collaboration with groups at Manchester and Edinburgh, total value GBP 4,135,048).  EPSRC EP/K008730/1.

Platform: Underpinning Technologies for Finite Element Simulation. Co-Investigator, 01/08/2013 31/07/2018 GBP 1,287,360. EPSRC EP/L000407/1.  See PRISM project home page.

Adaptive model-driven scheduling and configuration in real-time vision and mapping applications. Industrially-sponsored PhD studentship (with Andy Davison).  Student: Renato Salas-Moreno, 01/10/2011-30/09/2014. AMD Inc, GBP 88,000

Sustainable domain-specific software generation tools for extremely parallel particle-based simulations Principal Investigator, 01/10/2010-30/06/2014 GBP439,206. EPSRC EP/I006761/1.

Multi-layered abstractions for PDEs.  Principal Investigator,  01/11/2010-30/04/2014 GBP 491,853.  EPSRC EP/I00677X/1.

Custom Computing for Advanced Digital Systems,  Co-Investigator, 01/10/2010-30/09/2015 GBP 1,267,382.  EPSRC EP/I012036/1.

SILOET WP3.7 High Performance Computing.  01/10/2010-01/04/2013.  Rolls Royce Ltd and SILOET (via TSB), GBP 340,533.

Micromechanics of seismic wave propagation in granular materials. Co-Investigator, 01/11/2009-30/07/2013 GBP 314,177. EPSRC EP/G064954/1.

Multilayered Abstractions for Partial Differential Equations.  NERC Doctoral Training Grant NE/523512/1.  1/10/2009-31/03/2013.  GBP 66,540.

Multidisciplinary Realtime large scale environment. Industrial CASE studentship, sponsors: EPSRC and Arup Ltd.  1/10/2009-31/09/2012.  ca.GBP 80,000.

Language and Compiler Support for Efficient Programming of Heterogeneous Multi-core Systems.  Industrial CASE studentship, sponsors: EPSRC and Codeplay Ltd .  1/10/2008-31/09/2011 (extended due to internships). ca.GBP 80,000.

Program Committees and editorial boards

show research

PC Member, 26th International Conference on Compiler Construction (CC) 2017.

PC Member, 7th International Workshop on Polyhedral Compilation Techniques (IMPACT), 2017.

PC Member, 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 2017.

PC Member, Sixth International Workshop on
Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC),
2016

Member, Extended Review Committee, ACM Programming Language Design and Implementation (PLDI), 2015.

Member, ACM Transactions on Architecture and Code Optimization board of Distinguished Reviewers (2015)

PC member, 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID) (May 2015)

PC member, WOLFHPC: Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (Nov 2014)

Supercomputing'14 - Member of Panels selection committee (Nov 2014)

EuroPar 2014 - GPU and Accelerators Track - Global Chair (August 2014)

Member of the Board of Distinguished Reviewers, ACM Transactions on Architecture and Code Optimization (June 2014-)

PC member, ACM Programming Language Design and Implementation (PLDI) 2014

PC Member, ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation (PEPM'14)

PC member, HIPS: 19th International Workshop on High-Level Parallel Programming Models and Supportive Environments (May 2014)

Topic Chair, Euro-Par'14 Topic 15: GPU and Accelerator Programming

PC member, IMPACT 2014 - 4th International Workshop on Polyhedral Compilation Techniques (Jan 2014)

PC member, 1st Int. Workshop on High-Performance Stencil Computations (HiStencils 2014) (Jan 2014)

PC member, International Conference on Supercomputing (ICS), 2012 and 2013

PC member, Applications Track, International Parallel and Distributed Processing Symposium, IPDPS'12

PC member, ACM Conference on Principles and Practice of Parallel Programming, PPoPPƒÃƒÃƒÂƒÃ‚‚ƒÃ‚‚‚ÃÂÃÃÂÂÃÂÂÂÂÂÃÂÃ‚‚‚ƒÃ‚‚‚‚™13

PC member, ACM Computing Frontiers 2013

PC Member, Exascale Applications and Software Conference 2013

Member, External Review Committee, ACM SIGPLAN conference on Systems, Programming, Languages and Applications (OOPSLA), 2013.

PC member, 25th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'12), 2012.

PC Member, PARCO'12

PC co-Chair, Fifth Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES), 2012.

PC member, various workshops - IMPACT'12, IMPACT'13, WOLFHPC'12, HiStencils'14, MultiProg'13, Multiprog'14, GPGPU'14, HIPS'14 (at IPDPS).

Journals:

Joint Editor, International Journal of Parallel Programming, Special Issue, Selected Papers from ACM Computing Frontiers 2010 (published 2012).

Member, Editorial Board, Science of Computer Programming (2010-)

Steering Committees:

Member, ACM Computing Frontiers Steering Committee (2010-)

Member, GCC Research Opportunities Workshop Steering Committee (2009-)

Elected member, Euro-Par Conference Steering Committee (2000-)

Keynotes and invited talks

show research

Keynote talk: International Workshop on Polyhedral Compilation Techniques (IMPACT) workshop in Stockholm (at the HiPEAC conference): Delivering and generalising domain-specific program optimisations (23 Jan 2017).

Keynote talk: Imperial College HPC Summer School 2016: What your compiler can do, what it will do, and what you might hope it could do (30 Sept 2016)

Invited talk: South of England Regional Programming Language Seminar (S-REPLS): How does domain specificity enable domain-specific performance optimisations? (20 Nov 2015).

Invited talk: Compilation Day, MINATEC, Grenoble, France: Compiler technology for solving PDEs with performance portability (18 Sept 2015)

Keynote talk: LCPC'15 (28th International Workshop on Languages and Compilers for Parallel Computing, Raleigh, North Carolina): Synthesis versus analysis: what do we actually gain from domain-specificity? (9 Sept 2015)

Invited talk: ISC15 (session on Programming Models on the Road to Exascale): Domain-Specific Representations in Code Generation for Mesh-Based Computational Science Applications (July 2015)

Distinguished Speaker, Queens University Belfast: Compiler technology for solving PDEs with performance portability (May 2015)

Distinguished lecture series, Department of Computer Science, University of Chicago, title: Compiler Technology for Solving PDEs with Performance Portability (November 13th 2014)

Keynote talk, WOLFHPC: Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (at SC14): Compiler technology for solving PDEs with performance portability (November 2014)

Keynote talk, Scottish Programming Languages Symposium (SPLS): Abstraction is not always theft: domain-specific representations in code generation for mesh-based computational science applications (October 2014)

Invited lecture, London Mathematical Society, Computer Science Day, theme High Performance Scientific Computing at the Exascale. Title: Software Abstractions for many-core software engineering (London, October 2011).  Slides available from here.

Keynote talk, ACM SIGPLAN Workshop on Functional High-Performance Computing, FHPC'12.  Title: Using Domain-Specific Languages and Access-Execute Descriptors to Expand the Parallel Code Synthesis Design Space (Copenhagen, September 2012).  (Video)

Keynote talk, FEniCS'12: High-performance PDE frameworks for modern architectures.  Title: Generating programs work better than transforming them, if you get the abstraction right (Oslo, June 2012).

Invited talk: National Science Foundation (NSF) Workshop on High-Level Programming Models for Parallelism.  Title: DSLs for Parallelism:news from the messy frontier -- unstructured-mesh CFD. (Washington, D.C. July 2013).

External Committee and Panel Memberships

show research

Funding agencies:

Member, EPSRC Peer Review College

Panel member, Swedish Research Council - ICT panel for Framework Grants (Oct 2012)

Other:

Member of Advisory Board, EPSRC Programme Grant PRiME: Power-efficient, Reliable, Many-core Embedded systems (Universities of Southampton, Newcastle and Imperial College)

External assessor, professorial appointment panel, Faculty of Informatics, TU Dresden (September 2013)

External assessor, professorial appointment panel, Dept of Computer Science, University of Glasgow (December 2012)

Software

show research
  • The Firedrake Project: an automated system for the portable solution of partial differential equations using the finite element method (FEM).
  • PyOP2: performance-portable parallel computations on unstructured and extruded meshes, based on the access-execute ("AEcute") model. PyOP2 is a DSL embedded in Python, implemented using run-time code generation.
  • OP2: performance-portable parallel computations on unstructured and extruded meshes. OP2 is implemented by source-to-source transformation for C++ and Fortran. OP2 development is now led by our collaborators at Oxford.
  • GiMMiK: a tool for generation of high performance matrix multiplication kernel code for various accelerator platforms. GiMMiK performs well in a Block by Panel type of matrix multiplication where the operator matrix is small. GiMMiK also removes any sparsity form the operator matrix as well as attempts to reduce common sub-expressions. This is particularly applicable in flux reconstruction methods for CFD, eg PyFR.
  • TINTL: Fourier resampling of 3D regular data-sets to twice their resolution. This is particularly applicable in density functional theory simulations such as ONETEP.
  • PRAgMaTIc: a parallel Anisotropic Mesh Adaptivity framework. This is particularly applicable in adaptive, unstructured-mesh CFD, eg FLUIDITY.
  • Taskgraph Metaprogramming Library: a C++ package that supports Run-time code generation and loop-transformation meta-programming.

Research staff

show research

Guest Lectures

Delivering and generalising domain-specific program optimisations, Keynote talk: International Workshop on Polyhedral Compilation Techniques (IMPACT) workshop in Stockholm (at the HiPEAC conference):, Stockholm, 2017

Synthesis versus analysis: what do we actually gain from domain-specificity?, Keynote talk: LCPC'15 (28th International Workshop on Languages and Compilers for Parallel Computing, Raleigh, North Carolina, 2015

Compiler technology for solving PDEs with performance portability, Distinguished Speaker, Queens University Belfast, Belfast, 2015

Compiler Technology for Solving PDEs with Performance Portability, Distinguished lecture series, Department of Computer Science, University of Chicago, Chicago, 2014

Compiler technology for solving PDEs with performance portability, Keynote talk, WOLFHPC: Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (at SC14), New Orleans, 2014

Using Domain-Specific Languages and Access-Execute Descriptors to Expand the Parallel Code Synthesis Design Space, Keynote talk, ACM SIGPLAN Workshop on Functional High-Performance Computing, FHPC'12, Copenhagen, 2012

Software Abstractions for many-core software engineering, Invited lecture, London Mathematical Society, Computer Science Day, theme High Performance Scientific Computing at the Exascale, London, 2011

Research Student Supervision

Bercea,G, Exploiting performance benefits of data structure in simulation applications

Chong,N, Formal verification of GPU kernels

Luporini,F, Run-time Optimisations for Unstructured Mesh-based Computations

Markall,G, Multilayered Abstractions for Partial Differential Equations

Rathgeber,F, Performance-portable finite element assembly

Rokos,G, parallel anisotropic mesh adaptation