London, England, United Kingdom
I am a Full Professor (Professor of Programming Languages) in the Department of Computing at Imperial College London where I lead the Multicore Programming group. I have a lot of experience working with compilers, verifiers and analyzers for system-level software, especially concurrent software, and in particular software for GPUs. The goal of my research is ultimately to provide better tools to aid in the engineering of reliable, efficient and portable applications for modern computer systems. Specialties: Presenting technical material, writing scientific papers, advanced programming and debugging, testing, formal verification, experience programming parallel architectures, strong knowledge of algebraic techniques which are useful in computing science.
Professor in the Department of Computing, leader of the Multicore Programming Group.
Reader in the Department of Computing, leader of the Multicore Programming group.
Principal Investigator of 5-year EPSRC Early Career Fellowship project on Reliable Many-Core Programming, commencing October 2016. Terminated early due to me joining Google when my company GraphicsFuzz Ltd. was acquired.
Leading the design of techniques and tools to improve the quality of Android graphics drivers.
Visited MSR Redmond for 6 weeks, worked with Shaz Qadeer on automatic analysis of concurrent programs.
Three year EPSRC Postdoctoral Research Fellowship, working on Advanced Formal Verification Techniques for Heterogeneous Multi-core Programming.
Researching and developing parallel programming technology, implemented in Codeplay's Sieve Partitioning System, which allows automatic offloading of C++ code to run on accelerator cores, such as SPEs in the Cell processor, or plug-in accelerators such as GPUs. Led design and development on compiler project for novel VLIW architecture. Involved in working groups for OpenCL (Khronos group - named contributor to OpenCL 1.0 spec) and MRAPI (Multicore association). Industrial supervisor for two Ph.D. students and an Eng.D. student.