I am a lecturer (assistant professor) in compilers and runtime systems in the School of Informatics at the University of Edinburgh in Scotland. I am a member of the Compiler and Architecture Design Group (CArD), the Institute for Computing Systems Architecture (ICSA), and a visiting member of staff at the School of Computing Science at the University of Glasgow.
Before joining the faculty in Edinburgh I was a lecturer in the School of Computing Science at the University of Glasgow. Prior to that I was a postdoctoral researcher at the School of Informatics at the University of Edinburgh. I received my PhD from the University of Münster in Germany.
I am interested in all aspects of parallel programming. Particular research interests of mine include performance portability, structured parallel programming, heterogeneous and GPU computing, and novel compilation techniques for high-level languages.
What is parallel programming and why is it important?
Computers have become more and more powerful by increasingly complex designs where many computations can happen at the same time in parallel. Virtually every computer from the tiny once in your smartphone to the extreme large once filling entire data centres are nowadays parallel. Programming these computers and making efficient use of them is much more difficult than it was for traditional computers.
I am researching methodologies and techniques to simplify the development of software which makes efficient use of the computer hardware. This research is fundamental for our ability to tackle many important and complex applications ranging from the artificial intelligence which makes your smartphone smart and which will drive our cars up to complex scientific simulations which enhance our understanding of climate change.