About me

My name is Alastair Murray. I'm from Scotland, and I'm living here again, but I was at few other places in between.

I am a "Principal Software Engineer" in compilers at Codeplay where I work on various research and development problems related to compiling for, and programming, heterogeneous systems. I lead the ComputeAorta project, where a team of us create a heterogeneous language toolkit that enables the development of OpenCL and Vulkan Compute implementations for multiple customer platforms. Finally, I represent Codeplay within the Khronos OpenCL working group where I am one of a few co-editors working on the next version of OpenCL.

In my spare time I enjoy running and travelling. I lived in Japan for a few years and enjoy light language study (French and Japanese).

Research Interests

My research interests focus on compiler optimisations and programming languages, specifically:

  • Targeting highly heterogeneous and parallel hardware.
  • Heterogeneous language design.
  • Testing compilers and language runtimes.
  • Using machine learning techniques in compilation.
  • Profile-guided optimisations.
  • Using mathematically optimal techniques in compilation.
  • Graph-based code-generation.
  • Integrated code-generation and register-allocation.
  • Data-partitioning between multiple on-chip memories.

History

I was a post-doctoral associate with the System Software Research Group at Virginia Tech, working with Prof. Binoy Ravindran, Dr. Antonio Barbalace and various PhD and Masters students. I spent most of my time leading the compiler research within the Popcorn Linux project, there were six of us in total working on various problems related to compiling for heterogeneous and parallel systems.

Before that I did my PhD with the Compiler and Architecture Design Group, part of the Institute for Computing Systems Architecture in the School of Informatics at the University of Edinburgh. I was funded by an EPSRC scholarship to work on the PASTA project (Processor Automated Synthesis through iTerative Analysis). My work there lead to seven papers, and my PhD thesis "Customising Compilers for Customisable Processors". My primary PhD supervisor was Björn Franke, and my secondary supervisor was Nigel Topham.

I also did my undergraduate studies at the University of Edinburgh. During my last two summers I did internships at "ARC International" porting video encoders and decoders to a vector-based architecture, primarily by hand-coding vector assembly. This work also indirectly influenced the topic of my final dissertation: "Adaptive Heuristics for Motion Estimation in MPEG-4 AVC".

Alastair Murray Headshot