Stefano Cherubin
About
Stefano joined NTNU in July 2023 as Associate Professor.
He previously received his PhD in Information Technology at Politecnico di Milano (Italy) in 2019 with a thesis on Compiler-Assisted Dynamic Precision Tuning. From 2020 to 2021 he worked as a compiler and research engineer at Codeplay with focus on LLVM middle-end analyses and transformations. From 2021 to 2023 he worked as a Lecturer with teaching and research responsibilities at Edinburgh Napier University.
Currently involved into two main research lines related to compilers: as a tool to apply approximate computing or as a key enabling technologies for next generation of digital twins and simulations system.
Stefano welcomes research collaborations, partnerships, debates, and chat about the above mentioned topics and any related field.
Competencies
Research
Let's make compilers boring (again)!
Construction of equation-based modelling & simulation compilers
The integration between the physical and the digital world, as per the digital twin paradigm, requires experts from the physical world to model and to simulate increasingly large pieces of physical system in a digital system. Considering a general, multi-physical-domain model description, my research aims at re-defining the process of generating an exact simulation by improving the analyses, the transformations, and the intermediate representationsto bridge the gap between the current state-of-the-art and modern computer architectures.
Key technologies
- Source language: Modelica
- Tools: C++
- Frameworks: MLIR, LLVM
Compiler-based precision tuning
The trend towards the future of computation is not about computing faster, but rather about computing smarter. The key to the last digital revolution is to only compute what you need, and to reduce the size of the computational problem by reducing the number of bits used to represent each number. By allowing a fine-grained selection of how many bits each case study required to deliver an acceptable result, we can compute less and save time, energy, and hardware area. Most notably, AI applications are quite flexible in their definition of acceptable result, and they represent the main driver of this research field nowadays. In the last few years, a moltitude of options have been proposed as data types to compute less and save more, and the trade-off between fast and accurate is not anymore limited to a 0-1 selection. Which option to pick for which variable is a problem that should not fall on the shoulder of the programmer, and an automated tool like the compiler is exactly what the developers are looking for. The bad news is that we are not there just yet. The good news is that I know how to get there. Wanna jump on board?
Key technologies
- Source language: C/C++
- Tools: C++
- Frameworks: LLVM
Publications
2023
-
Fioravanti, Massimo;
Cattaneo, Daniele;
Terraneo, Federico;
Seva, Silvano;
Cherubin, Stefano;
Agosta, Giovanni.
(2023)
Array-Aware Matching: Taming the Complexity of Large-Scale Simulation Models.
ACM Transactions on Mathematical Software
Academic article
Journal publications
-
Fioravanti, Massimo;
Cattaneo, Daniele;
Terraneo, Federico;
Seva, Silvano;
Cherubin, Stefano;
Agosta, Giovanni.
(2023)
Array-Aware Matching: Taming the Complexity of Large-Scale Simulation Models.
ACM Transactions on Mathematical Software
Academic article