My research focuses on the fundamentals of the performance portability of massively parallel High Performance simulation codes. I develop both the theory and practice of performance portability, developing methodologies for rigorous benchmarking, measurement, and analysis of performance portability. My interests include how to achieve high performance with a diverse range of advanced processor architectures, including CPUs (x86 and Arm), GPUs and other accelerators. I have designed and evaluated a number of proxy applications across a number of scientific domains, which obtain high levels of performance portability across diverse computer architectures.
I am also interested in the performance of neutral particle transport algorithms on diverse many-core computer architectures. I have designed high performance parallel algorithms and implementations of SN transport solvers on structured and unstructured meshes, validated against performance measurements and models I developed.
I am an expert in parallel programming languages and abstractions, and contribute to a number of open standard programming models, including SYCL, OpenCL and OpenMP, and have recently joined the British Standards Institute Panel for ISO C++ (IST/5/-/21).
"Programming Your GPU with OpenMP: Performance Portability for GPUs", by Tom Deakin and Tim Mattson (Intel Labs), is due to be published by MIT Press in November 2023.
Bristol University final-year student? Check out my list of final-year projects.
Performance portable memory bandwidth benchmark
Enabling performance portable benchmarking for ExCALIBUR Software
Achieving Performance Portability at Exascale with SYCL