Thomas Koehler

I am a PhD student in the School of Computing Science at the University of Glasgow in Scotland, supervised by Michel Steuwer and Phil Trinder.

Before coming to Glasgow I was a student at Sorbonne Université in Paris, France.

You can read my Curriculum Vitae to learn more.

Research Interest

I am particularly interested in simplifying the development of efficient software through an automated mapping of high-level software to low-level hardware.

Why ?

Making the most out of current and future hardware is essential to improve execution times and power consumption in many domains, all the way from embedded to high performance computing. However, optimising applications by hand using low level code requires hardware-specific expertise, is error-prone, verbose and time consuming. In addition, each new application and target hardware requires going through this process again.

Practical development of efficient and portable image processing applications in Lift

Image processing is an application domain where computations can be heavy, data-parallel, and execution efficiency is critical. Indeed, optimising image processing software often results in significant improvements, allowing to produce results of better quality in less time and for less energy. This pushes the limits of what an application can effectively do with a given hardware and the specific constraints involved, such as the requirement of real-time processing.

The Lift project combines a high-level functional data parallel language with a system of rewrite rules which encode algorithmic and hardware-specific optimisation choices. It has already demonstrated its ability to generate low-level implementations with performance on par with highly tuned platform-specific libraries on various GPUs. However, Lift is not yet ready for practical application development as the rewrite process takes a long time and requires manual setup to decide which rewrite rules should be used.

In my PhD, I focus on the practical development of performance portable image processing applications in Lift. I intend to develop techniques to fit the rewrite system in a practical development workflow, with the help of Michel Steuwer and in collaboration with the rest of the Lift team.