Tobias Grosser

Tobias Grosser

Tobias Grosser

Reader (Associate Professor) in
Compilers and Runtime Systems

University of Edinburgh


My interests are compilation, programming language design, and effective performance programming. However, I define these areas broadly. As a result, I ask questions such as:

  • How can compilers contribute to understanding climate change?
  • Can machine learning help us to automate compiler design and performance programming?
  • Can compilers revolutionize how hardware (ASICs, CPUs, ...) is designed?
  • Can formal verification increase confidence in self-driving cars?
  • How can performance programming become a smooth and interactive experience for developers?
Check out my research vision for details! In my research, I aim to:
  • address problems important to society,
  • advocate for diversity,
  • work with the open-source community,
  • show that well-being increases scientific performance.
I previously have been affiliated with:
Join

Are you considering a PhD? I really enjoy working with students! There is nothing more rewarding for me as a scientist than seeing a student develop and execute their very personal research vision. I am excited to provide you guidance along this path.

Explore my research vision, papers, and projects. If a topic catches your attention or you want to discuss your personal research idea, email me! I often have generic funding available that I can use on your very personal project and am always happy to guide you towards getting a PhD position.

I also regularly host postdoctoral researchers and interns. Just email me.

Project-specific openings available!

  • Formal Verification at the Boundary of Soft and Hardware (PhD or PostDoc)
    PhD Scholarship, in collaboration with industry partners and the open-source community.
  • Rethinking Compiler Design (PhD or PostDoc)
    I have funding for projects to rethink the interaction of humans and compilers.
    • Can we interactively design compilers?
    • Can we automate compiler design using program synthesis?
    • Can we make formal formal verification part of the daily LLVM/MLIR development?
  • Developer-guided compilation for Ultra-Low-Power and Security (PhD or PostDoc)
    These positions are funded via the Horizion Europe CONVOLVE project. Can we make domain-specific security and performance constraints a first-class concept in a compiler, such that developers can state these constraints and the compiler uses them when targetting domain-specific hardware?
Openings last updated Jan 2023. The topics and start dates are typically flexible.
Team

Arjun

Arjun Pitchanathan

PhD
Bea

Bea Healy

PhD
Mathieu

Mathieu Fehr

PhD
Sasha

Sasha Lopoukhine

PhD
Siddharth

Siddharth Bhat

PhD
Anton

Anton Lydike

Researcher
Chris

Chris Hughes

Researcher
Emilien

Emilien Bauer

Researcher
Andres

Andres Goens

Postdoctoral Researcher
Christian

Christian Ulmann

Collaborator
Kunwar

Kunwar Grover

Collaborator
Michel

Michel Weber

Collaborator


Previous Members

  • Yifan Xu, Intern

    2021
    Moved toUniversity of Edinburgh
    BSc Student (continuing)

  • David Bourke, MSc

    2021
    Moved toVyatta NOS group
    Performance Engineer

  • Anurudh Peduri, Intern

    2020 - 2022
    Moved toRuhr-Universität Bochum
    PhD with Michael Walter

  • Christoph Mueller, Researcher

    2020
    Moved toMeteoSwiss
    Scientific Software Developer

  • Jakub Lichman, M.Sc. Thesis

    2020
    Moved toGoogle
    Internship with Albert Cohen and Oleksandr Zinenko

  • Theodoros Theodoridis, Researcher

    2019 - 2020
    Moved toETH Zurich
    Ph.D. student with Zhendong Su

  • Arjun Pitchanathan, Intern (M.Sc.)

    2019 - 2020
    Moved toUniversity of Edinburgh
    Ph.D. with me

  • Jean-Michel Gorius, Intern (M.Sc.)

    2019
    Moved toUniversity of Murcia
    Internship with Alexandra Jimborean

  • Mathieu Fehr, Intern (M.Sc.)

    2019
    Moved toMIT CSAIL
    Internship with Adam Chlipala

  • Lorenzo Chelini, PhD

    2018 - 2020
    Moved toIntel Zurich
    Postdoctoral Researcher

  • Anastiasiia Ruzhanskaia, Intern (M.Sc.)

    2018
    Moved toETH Zurich
    Ph.D. student with Timothy Roscoe

  • Tobias Gysi, PhD Student & Postdoctoral Researcher

    2014 - 2020
    Moved toGoogle Zurich
    Research Engineer

Research Vision

Effective Performance Programming by Re-Connecting Developers and Compilers

My research uses strong theoretical reasoning to bring innovations to real-world compilation and programming language problems. My current objective is to rethink performance programming by re-connecting developers and compilers. Today, performance programming is no longer limited to the optimization of low-level code but often includes the use of domain-specific compilers, constraint programming libraries, complex performance models, and automatic (potentially learned) strategies to search for optimal code transformations.

My primary objectives are:
  • making compilation more modular, predictable, automatic, and trustworthy
  • bringing open-source compiler innovation to an increasingly broad set of targets from GPUs over FPGAs to custom hardware, and
  • breaking down the barriers between compilers and programmers by enabling their interaction via the programming language environment.

I dream of a future where performance programming is an intuitive play between the programmer and the compiler. A game that smoothly moves between manual as well as automatic techniques and works across software and hardware.

I am particularly interested in the following areas:
  • Compilers
  • Static & dynamic analysis
    • Abstract interpretation based program analysis
    • Performance and cache models
    • Test case generation
  • Human-compiler interface
  • Domain-specific compilation
    • Deep learning
    • Climate science
  • High-performance computing
    • Loop optimization & polyhedral compilation
    • Vectorization
  • Compilation for accelerators: GPU, FPGA
  • Open-source hardware
    • Compiler support for RISC-V
    • Software/hardware co-design
  • SMT and constraint solving
    • Mixed integer linear programming
    • SAT solving
    • Parametric counting using Barvinok’s algorithm
  • Automatic theorem proving for compiler verification and constraint solving
  • Effective compilation from functional languages to imperative code
  • Artificial intelligence for compilers and constraint solvers
Publications

2022

2021

2020


Google Scholar
Contact
Tobias Grosser

School of Informatics
10 Crichton Street
Room: 1.04
Edinburgh EH8 9AB, United Kingdom

first.last at ed.ac.uk