Software Performance Optimisation Research Group
Imperial's Software Performance Optimisation research group, led by Prof Paul H J Kelly, is primarily focused on research in compiler technology - but with a specific emphasis on domain-specific performance optimisations.
- EP/M011054/1 A new simulation and optimisation platform for marine technology
- EP/L000407/1 Platform: Underpinning Technologies for Finite Element Simulation
- EP/K008730/1 PAMELA: a Panoramic Approach to the Many-CorE LAndsape - from end-user to end-device: a holistic game-changing approach
Open-source software arising from our work
- SLAMBench, a benchmarking framework for real-time SLAM (simultaneous location and mapping) implementations. See also the SLAMBench Android App.
- 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 - programs that generate code on the fly, then execute it (the first step towards "multi-stage" programming)
- Meta-programming - having built a piece of code, you can apply various transformations to it (such as loop interchange and tiling).
Current members and associated researchers
- Prof Paul H J Kelly - head of the group
- Dr Luigi Nardi - postdoc working on the PAMELA project
- Dr Sajad Saeedi - postdoc working on the PAMELA project (jointly working both in SPO and in the Robot Vision Group)
- Dr Lawrence Mitchell - postdoc working on the Firedrake project (led by Dr David Ham)
- Dr Francis Russell - postdoc working with Prof Wayne Luk on domain-specific optimisations in FPGA computing
- Fabio Luporini - research associate working with Dr Gerard Gorman on domain-specific optimisations in solution of PDEs
- Emanuele Vespa
- Tianjiao (TJ) Sun
- Matthew Taylor
- Fabio Luporini (2017 PhD expected) Postdoc at Imperial
- Doru Bercea (2017 PhD expected) IBM Research (New York) - working on OpenMP accelerator offload
- George Rokos (PhD 2015) IBM Research (New York) - working on runtime support for OpenMP accelerator offload
- Renato Salas-Moreno (2014) Co-Founder, Surreal Vision Ltd, acquired by Facebook/Oculus
- Thanasis Konstantinidis (PhD 2014) Reservoir Labs, NYC – Compiler research/consultancy
- David Birch (PhD 2013) - Founding member of Imperial's Data Science Institute Research Team, creating immersive visualisation environments for exploring Data Science
- Carlo Bertolli - Postdoc in SPO 2010-13 - Research Staff Member at IBM working on Compilers for HPC
- Graham Markall (PhD 2012) - Compiler engineer at Embecosm – GCC compiler consultancy
- Craig Court (PhD 2012) - Criterion Games/Electronic Arts
- Francis Russell (PhD 2011) Postdoctoral researcher at Imperial
- Jay Cornwall (PhD 2010) The Foundry then SMTS Software Engineer at AMD (Austin, TX)
- Lee Howes (PhD 2009) AMD then Qualcomm (OpenCL standardisation) then Facebook, Facebook representative to C++ Standards Committee (ISO C++ WG21)
- Ashley Brown (PhD 2009) Spider.io – Chief Architect, network analytics startup sold to Google, Tech Lead & Senior Software Engineer at Google
- Jeyerajan Thiyagalingam (PhD 2005) Oxford University then Mathworks then Lecturer, University of Liverpool
- David Pearce (PhD 2005) Senior Lecturer at Victoria University, NZ
- Kwok Cheung Yeung (PhD 2004) - Sourceror at Mentor Graphics
- Olav Beckmann (PhD 2001)
- Sarah Bennett (nee Talbot) (PhD 1999)
- Sergio Almeida (PhD 1998) - Assistant Professor at the Department of Informatics of the University of Minho, Portugal
- Ariel N Burton (PhD 1998) - engineering working on parallel debugging (Totalview) at Rogue Wave
- Frank Taylor (PhD 1997) - Principal Engineer at VMWare
- Andrew Bennett (PhD 1993) - Principal Software Engineer at Sky
Alumni - what people did after working in the SPO group
Last update 16.11.2016