
Tobias Grosser
Associate Professor
University of Cambridge
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?
- address problems important to society,
- advocate for diversity,
- work with the open-source community,
- show that well-being increases scientific performance.
- University of Edinburgh (UK), Reader (Associate Professor)
- ETH Zurich (CH), Ambizione Fellow with Torsten Hoefler
- École Normale Supérieure Paris (FR), Google Ph.D. Fellowship with Albert Cohen
- University of Passau (DE), Diploma with Christian Lengauer
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.Cambride PhD application deadline coming up!
I will be taking PhD students for the Sep 2024 term here in Cambridge. Apply in time for the funding deadline on December 5th!
Openings last updated Nov 2023.
Arjun Pitchanathan
PhD

Bea Healy
PhD

Mathieu Fehr
PhD

Sasha Lopoukhine
PhD

Siddharth Bhat
PhD

Anton Lydike
Researcher

Chris Hughes
Researcher

Emilien Bauer
Researcher

Andres Goens
Postdoctoral Researcher

Christian Ulmann
Collaborator

Kunwar Grover
Collaborator

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
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
2022
- ASPLOSUnderstanding and Exploiting Optimal Function Inlining
Theodoros Theodoridis, Tobias Grosser, Zhendong Su
- PLDIIRDL: An IR Definition Language for SSA Compilers
Mathieu Fehr, Jeff Niu, River Riddle, Mehdi Amini, Zhendong Su, Tobias Grosser
- ICSTMetamorphic Fuzzing of C++ Libraries
Andrei Lascu, Alastair Donaldson, Tobias Grosser, Torsten Hoefler
- CGOLambda the Ultimate SSA: Optimizing Functional Programs in SSA
Siddharth Bhat, Tobias Grosser
- CCQSSA: An SSA-Based IR for Quantum Computing
Anurudh Peduri, Siddharth Bhat, Tobias Grosser
- CCQRANE: Lifting QASM Programs to an Affine IR
Blake Gerard, Tobias Grosser, Martin Kong
2021
- OOPSLAFPL: Fast Presburger Arithmetic through Transprecision
Arjun Pitchanathan, Christian Ulmann, Michel Weber, Torsten Hoefler, Tobias Grosser
- TCADOCC: An Automated End-to-End Machine Learning Optimizing Compiler for Computing-In-Memory
Adam Siemieniuk, Lorenzo Chelini, Asif Ali Khan, Jeronimo Castrillon, Andi Drebes, Henk Corporaal, Tobias Grosser, Martin Kong
- CGOProgressive Raising in Multi-level IR
Lorenzo Chelini, Andi Drebes, Oleksandr Zinenko, Albert Cohen, Nicolas Vasilache, Tobias Grosser, Henk Corporaal
- SCOPESLoopOpt: Declarative Transformations Made Easy
Lorenzo Chelini, Martin Kong, Tobias Grosser, Henk Corporaal
- TACODomain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-Accelerated Climate Simulation
Tobias Gysi, Christoph Müller, Oleksandr Zinenko, Stephan Herhut, Eddie Davis, Tobias Wicky, Oliver Fuhrer, Torsten Hoefler, Tobias Grosser
- TPDSWork-stealing prefix scan: Addressing load imbalance in large-scale image registration
Marcin Copik, Tobias Grosser, Torsten Hoefler, Paolo Bientinesi, Benjamin Berkels
- PPoPPExtracting Clean Performance Models from Tainted Programs
Marcin Copik, Alexandru Calotoiu, Tobias Grosser, Nicolas Wicki, Felix Wolf, Torsten Hoefler
2020
- OOPSLAFast Linear Programming through Transprecision Computing on Small and Sparse Data
Tobias Grosser, Theodoros Theodoridis, Maximilian Falkenstein, Arjun Pitchanathan, Michael Kruse, Manuel Rigger, Zhendong Su, Torsten Hoefler
- PACTAutomatic Generation of Multi-Objective Polyhedral Compiler Transformations
Lorenzo Chelini, Tobias Gysi, Tobias Grosser, Martin Kong, Henk Corporaal
- TCADPolyhedral Compilation for Racetrack Memories
Asif Ali Khan, Hauke Mewes, Tobias Grosser, Torsten Hoefler, Jeronimo Castrillon
- PLDILLHD: A Multi-Level Intermediate Representation for Hardware Description Languages
Fabian Schueki, Andreas Kurth, Tobias Grosser, Luca Benini
- EuroLLVMMultiLevel Tactics: Lifting loops in MLIR
Lorenzo Chelini, Andi Drebes, Oleksandr Zinenko, Albert Cohen, Henk Corporaal, Tobias Grosser, Nicolas Vasilache
- CCMixed-data-model heterogeneous compilation and OpenMP offloading
Andreas Kurth, Koen Wolters, Björn Forsberg, Alessandro Capotondi, Andrea Marongiu, Tobias Grosser, Luca Benini
- SPMACompiling Neural Networks for a Computational Memory Accelerator
Kornilios Kourtis, Martino Dazzi, Nikolas Ioannou, Tobias Grosser, Abu Sebastian, Evangelos Eleftheriou
- IMPACTTC-CIM: Empowering Tensor Comprehensions for Computing-In-Memory
Andi Drebes, Lorenzo Chelini, Oleksandr Zinenko, Albert Cohen, Henk Corporaal, Tobias Grosser, Kanishkan Vadivel, Nicolas Vasilache
Google Scholar
Department of Computer Science and Technology
University of Cambridge
15 JJ Thomson Ave
Cambridge CB3 0FD
tobias.grosser at cst.cam.ac.uk