Stefano Cherubin
About
Stefano joined NTNU in July 2023 as Associate Professor in compiler design.
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.
His main research lines are related to compilers and code optimisations and encompass tools to apply approximate computing, and compilers as key enabling technologies to enable large-scale equation-based simulations system.
Stefano welcomes research collaborations, partnerships, debates, and chat about the above mentioned topics and any related field.
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
Research affiliations
- HiPEAC network of Excellence
- System Software Group @ NTNU
Funded Research Projects
- 2024 - 2027 ARCHYTAS (EDF)
- 2024 - 2027 CAPSARII (EDF)
CAPSARII
ARCHYTAS
Publications
2024
-
Magnani, Gabriele;
Denisov, Lev;
Cattaneo, Daniele;
Agosta, Giovanni;
Cherubin, Stefano.
(2024)
Precision Tuning the Rust Memory-Safe Programming Language.
OpenAccess Series in Informatics
Academic article
-
Denisov, Lev;
Magnani, Gabriele;
Cattaneo, Daniele;
Agost, Giovanni;
Cherubin, Stefano.
(2024)
The Impact of Profiling vs Static Analysis in Precision Tuning.
IEEE Access
Academic article
-
Magnani, Gabriele;
Cattaneo, Daniele;
Denisov, Lev;
Tagliavini, Giuseppe;
Agosta, Giovanni;
Cherubin, Stefano.
(2024)
SETHET – Sending Tuned numbers over DMA onto Heterogeneous clusters: an automated precision tuning story.
Association for Computing Machinery (ACM)
Academic chapter/article/Conference paper
2023
-
Zang, Zhenya;
Dolinsky, Uwe;
Ghiglio, Pietro;
Cherubin, Stefano;
Goli, Mehdi;
Yang, Shufan.
(2023)
Building a Reusable and Extensible Automatic Compiler Infrastructure for Reconfigurable Devices.
International Conference on Field Programmable Logic and Applications (FPL)
Academic article
-
Agosta, Giovanni;
Casella, Francesco;
Cattaneo, Daniele;
Cherubin, Stefano;
Leva, Alberto;
Scuttari, Michele.
(2023)
MARCO: An Experimental High-Performance Compiler for Large-Scale Modelica Models.
Linköping University Electronic Press
Academic chapter/article/Conference paper
-
Cattaneo, Daniele;
Maggioli, Alberto;
Magnani, Gabriele;
Denisov, Lev;
Yang, Shufan;
Agosta, Giovanni.
(2023)
Mixed Precision in Heterogeneous Parallel Computing Platforms via Delayed Code Analysis.
Lecture Notes in Computer Science (LNCS)
Academic article
-
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
-
Magnani, Gabriele;
Denisov, Lev;
Cattaneo, Daniele;
Agosta, Giovanni;
Cherubin, Stefano.
(2024)
Precision Tuning the Rust Memory-Safe Programming Language.
OpenAccess Series in Informatics
Academic article
-
Denisov, Lev;
Magnani, Gabriele;
Cattaneo, Daniele;
Agost, Giovanni;
Cherubin, Stefano.
(2024)
The Impact of Profiling vs Static Analysis in Precision Tuning.
IEEE Access
Academic article
-
Zang, Zhenya;
Dolinsky, Uwe;
Ghiglio, Pietro;
Cherubin, Stefano;
Goli, Mehdi;
Yang, Shufan.
(2023)
Building a Reusable and Extensible Automatic Compiler Infrastructure for Reconfigurable Devices.
International Conference on Field Programmable Logic and Applications (FPL)
Academic article
-
Cattaneo, Daniele;
Maggioli, Alberto;
Magnani, Gabriele;
Denisov, Lev;
Yang, Shufan;
Agosta, Giovanni.
(2023)
Mixed Precision in Heterogeneous Parallel Computing Platforms via Delayed Code Analysis.
Lecture Notes in Computer Science (LNCS)
Academic article
-
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
Part of book/report
-
Magnani, Gabriele;
Cattaneo, Daniele;
Denisov, Lev;
Tagliavini, Giuseppe;
Agosta, Giovanni;
Cherubin, Stefano.
(2024)
SETHET – Sending Tuned numbers over DMA onto Heterogeneous clusters: an automated precision tuning story.
Association for Computing Machinery (ACM)
Academic chapter/article/Conference paper
-
Agosta, Giovanni;
Casella, Francesco;
Cattaneo, Daniele;
Cherubin, Stefano;
Leva, Alberto;
Scuttari, Michele.
(2023)
MARCO: An Experimental High-Performance Compiler for Large-Scale Modelica Models.
Linköping University Electronic Press
Academic chapter/article/Conference paper
Teaching
Courses
Supervision
Currently supervising 1 PhD student
- Compiler optimisations for equation-based simulation systems
Previously co-supervised
- 3 PhD students @ Politecnico di Milano in relation with the TAFFO precision tuning tool.
Outreach
2024
-
PosterDenisov, Lev; Magnani, Gabriele; Cattaneo, Daniele; Agosta, Giovanni; Cherubin, Stefano. (2024) Profiling vs Static Analysis: The Impact on Precision Tuning. ACM/SIGAPP SAC '24: Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing , Avila, Spain 2024-04-08 - 2024-04-12