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.
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.
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
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
-
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)
Association for Computing Machinery (ACM)
Academic anthology/Conference proceedings
-
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
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
Books
-
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)
Association for Computing Machinery (ACM)
Academic anthology/Conference proceedings
Part of book/report
-
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
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