Lorenzo Chelini is a compiler engineer with 9 years of experience building and improving compiler toolchains for ML and high-performance systems, currently working at NVIDIA. He has a strong research background from PhD work and visiting positions across top labs and universities (Eindhoven, ETH Zürich, Edinburgh, IBM), bridging academic rigor with production-grade engineering. Lorenzo is an active open-source contributor to flagship projects like LLVM/MLIR and IREE, where he has fixed subtle emission and parsing bugs, added dialect operations, and improved testing and tooling. His work often targets the crossroads of MLIR-based compilation and runtime efficiency—adding practical features such as pack/unpack ops and denormal attribute handling—underscoring a knack for both low-level correctness and high-level dialect design. Based in Switzerland, he blends embedded systems training with deep compiler expertise to make compilers more robust and ML workloads more retargetable.
9 years of coding experience
6 years of employment as a software developer
master studies in embedded systems design computer engineering, master studies in embedded systems design computer engineering at Politecnico di Torino
bachelor degree in computer engineering, bachelor degree in computer engineering at Università di Pisa
master studies in embedded systems design Computer Engineering, master studies in embedded systems design Computer Engineering at Chalmers University of Technology
C/C++ frontend for MLIR. Also features polyhedral optimizations, parallel optimizations, and more!
Role in this project:
Back-end Developer & Compiler Engineer
Contributions:75 reviews, 166 commits, 75 PRs in 1 year 7 months
Contributions summary:Lorenzo contributed to the `llvm/polygeist` repository by fixing compilation errors, simplifying code related to pragma handling, and refactoring code within the `mlir-clang` component. Their work involved modifying files related to the MLIR compiler infrastructure, specifically focusing on improving the handling of pragmas, such as `lower_to`, to generate specific operations like `linalg.copyOp`. These changes indicate a focus on enhancing the functionality and usability of the compiler's frontend.
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:110 reviews, 34 PRs, 98 pushes in 4 years 1 month
Contributions summary:Lorenzo primarily contributed to the LLVM project, specifically focusing on the MLIR subproject. Their work included fixing emission issues related to properties in the OpFormatGen and addressing bugs. The user also added denormal attributes to binary/unary operations and improved the location tracking for parsing dense attributes. In addition, the user's contributions involve improvements and bug fixes in the testing and tooling aspects of the project.
compilerstechnologiesclangsubmittoolchain
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.