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?
- address problems important to society,
- advocate for diversity,
- work with the open-source community,
- show that well-being increases scientific performance.
- 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.Project-specific openings available!
In the context of my current research projects, I also have some project-specific funding available.- Formal Verification at the Boundary of Soft and Hardware
PhD Scholarship, Start: Sep 2021 (flexible)
Anastasiia Ruzhanskaia
PhD
Arjun Pitchanathan
PhD
Lorenzo Chelini
PhD
Mathieu Fehr
PhD
Siddharth Bhat
PhD
Theodoros Theodoridis
PhD
You
PhD
David Bourke
MSc
Anurudh Peduri
Intern
Yifan Xu
Intern
Christian Ulmann
Collaborator
Kunwar Shaanjeet Singh Grover
Collaborator
Michel Weber
Collaborator
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 - 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 - 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
2021
- TACODomain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-Accelerated Climate Simulation ↞ New!
Tobias Gysi, Christoph Müller, Oleksandr Zinenko, Stephan Herhut, Eddie Davis, Tobias Wicky, Oliver Fuhrer, Torsten Hoefler, Tobias Grosser
- TCADOCC: An Automated End-to-End Machine Learning Optimizing Compiler for Computing-In-Memory ↞ New!
Adam Siemieniuk, Lorenzo Chelini, Asif Ali Khan, Jeronimo Castrillon, Andi Drebes, Henk Corporaal, Tobias Grosser, Martin Kong
- TPDSWork-stealing prefix scan: Addressing load imbalance in large-scale image registration ↞ New!
Marcin Copik, Tobias Grosser, Torsten Hoefler, Paolo Bientinesi, Benjamin Berkels
- CGOProgressive Raising in Multi-level IR ↞ New!
Lorenzo Chelini, Andi Drebes, Oleksandr Zinenko, Albert Cohen, Nicolas Vasilache, Tobias Grosser, Henk Corporaal
- PPoPPExtracting Clean Performance Models from Tainted Programs ↞ New!
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
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
School of Informatics
10 Crichton Street
Room: 1.04
Edinburgh EH8 9AB, United Kingdom
first.last at ed.ac.uk