Alastair Donaldson

Professor of Programming Languages at Imperial College London

London, England, United Kingdom

About

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.

Experience

  • Imperial College London (14 yrs 8 mos)
    • Professor
      Sep 2020 - Present · 5 yrs 10 mos

      Professor in the Department of Computing, leader of the Multicore Programming Group.

    • Reader
      Sep 2017 - Aug 2020 · 3 yrs

      Reader in the Department of Computing, leader of the Multicore Programming group.

    • EPSRC Early Career Fellow
      Oct 2016 - Jan 2019 · 2 yrs 4 mos

      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.

  • Software Engineer at Google
    Sep 2018 - Feb 2021 · 2 yrs 6 mos

    Leading the design of techniques and tools to improve the quality of Android graphics drivers.

  • Visiting Researcher at Microsoft
    Aug 2011 - Sep 2011 · 2 mos

    Visited MSR Redmond for 6 weeks, worked with Shaz Qadeer on automatic analysis of concurrent programs.

  • EPSRC Postdoctoral Research Fellow at University of Oxford
    May 2009 - Sep 2011 · 2 yrs 5 mos

    Three year EPSRC Postdoctoral Research Fellowship, working on Advanced Formal Verification Techniques for Heterogeneous Multi-core Programming.

  • Research Engineer at Codeplay Software Ltd.
    Jan 2007 - Apr 2009 · 2 yrs 4 mos

    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.