
Tobias Grosser
Reader (Associate Professor) in
Compilers and Runtime Systems
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?
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:
- 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 also regularly host postdoctoral researchers and interns.Previous Members
- 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 - Mathieu Fehr, Intern (M.Sc.)
2019
Moved toMIT CSAIL
Internship with Adam Chlipala - Jean-Michel Gorius, Intern (M.Sc.)
2019
Moved toUniversity of Murcia
Internship with Alexandra Jimborean - 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
- CGOProgressive Raising in Multi-level IR ↞ New!Lorenzo Chelini, Andi Drebes, Oleksandr Zinenko, Albert Cohen, Nicolas Vasilache, Tobias Grosser, Henk Corporaal, 2021Paper
- PPoPPExtracting Clean Performance Models from Tainted Programs ↞ New!Marcin Copik, Alexandru Calotoiu, Tobias Grosser, Nicolas Wicki, Felix Wolf, Torsten Hoefler, 2021arXiv
- OOPSLAFast Linear Programming through Transprecision Computing on Small and Sparse DataTobias Grosser, Theodoros Theodoridis, Maximilian Falkenstein, Arjun Pitchanathan, Michael Kruse, Manuel Rigger, Zhendong Su, Torsten Hoefler, 2020Publisher Slides Video
- arXivDomain-Specific Multi-Level IR Rewriting for GPUTobias Gysi, Christoph Müller, Oleksandr Zinenko, Stephan Herhut, Eddie Davis, Tobias Wicky, Oliver Fuhrer, Torsten Hoefler, Tobias Grosser, 2020arXiv
- PACTAutomatic Generation of Multi-Objective Polyhedral Compiler TransformationsLorenzo Chelini, Tobias Gysi, Tobias Grosser, Martin Kong, Henk Corporaal, 2020Publisher Paper Slides
- TCADPolyhedral Compilation for Racetrack MemoriesAsif Ali Khan, Hauke Mewes, Tobias Grosser, Torsten Hoefler, Jeronimo Castrillon, 2020Publisher Paper Video
- PLDILLHD: A Multi-Level Intermediate Representation for Hardware Description LanguagesFabian Schueki, Andreas Kurth, Tobias Grosser, Luca Benini, 2020Publisher Paper Slides Video arXiv
- EuroLLVMMultiLevel Tactics: Lifting loops in MLIRLorenzo Chelini, Andi Drebes, Oleksandr Zinenko, Albert Cohen, Henk Corporaal, Tobias Grosser, Nicolas Vasilache, 2020Publisher Paper Poster
- CCMixed-data-model heterogeneous compilation and OpenMP offloadingAndreas Kurth, Koen Wolters, Björn Forsberg, Alessandro Capotondi, Andrea Marongiu, Tobias Grosser, Luca Benini, 2020Publisher Slides
- SPMACompiling Neural Networks for a Computational Memory AcceleratorKornilios Kourtis, Martino Dazzi, Nikolas Ioannou, Tobias Grosser, Abu Sebastian, Evangelos Eleftheriou, 2020Publisher Slides Video arXiv
- IMPACTTC-CIM: Empowering Tensor Comprehensions for Computing-In-MemoryAndi Drebes, Lorenzo Chelini, Oleksandr Zinenko, Albert Cohen, Henk Corporaal, Tobias Grosser, Kanishkan Vadivel, Nicolas Vasilache, 2020Publisher Paper Slides
Google Scholar
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
School of Informatics
10 Crichton Street
Room: 1.04
Edinburgh EH8 9AB, United Kingdom
first.last at ed.ac.uk