Simone Campanoni

Associate professor
Department of Computer Science at Northwestern University

Simone Campanoni

Computer Science
Northwestern University

ARCANA logo

Welcome!

I am an associate professor at the Computer Science department of Northwestern University where I run the ARCANA logo research lab.
At Northwestern University I am a member of the Systems and Networking group, the Programming Languages group, and the Computer Science and Computer Engineering Departments.
My group is passionate about understanding how abstractions used within and around compilers should evolve to better support hardware and applications trends. This goal often leads us to co-design compilers with the computer architecture and operating system they target as well as with the programming language they translate.

Search within my website

Announcement

Are you interested in doing exciting research in compilers through a PhD in Computer Science? if yes, please read this.

Recent news

The full list of news can be found here

News


Research: I'm very happy our latest paper done as
Parakinetics group has been accepted to ASPLOS 2023. Congratulations Susan!

Conference: I'm very happy to have been invited to serve on the CGO program committee for 2024! CGO is a great conference for compiler enthusiast like myself. Consider submitting your work to the premier CGO symposium !

Teaching: Julio Wang won the competition for the best compiler of the year for the CC class. Julio is now in the Hall of Fame of the class. Congratulations!

Teaching: Slides of the CC class are now up-to-date to the ones used this year. I hope they will help others.

Conference: I'm very happy to have been invited to serve on the ASPLOS program committee for 2024! ASPLOS is a great conference for research that cross hardware/software boundaries. Consider submitting your work!

Conference: I'm very happy to have been invited to serve on the MICRO program committee for 2023! MICRO is a great conference for computer architecture research. Consider submitting your work!

Research: I'm very happy that a new paper done as Parakinetics group has been accepted to ISCA 2023. It is a great pleasure working with such talented people. Congratulations everyone especially Nayana and Bhargav!

Conference: I'm very happy to have been invited to serve on the MICRO steering committee! MICRO is a great conference for computer architecture research and I'm honored to be part of the steering committee with hopes to help the community. Here are the responsabilities for the steering committee of MICRO.

Teaching: Materials of the ATC class are now up-to-date to the ones used this year. I hope they will help others.

Career: I'm very happy to share I've been promoted to associate professor with tenure. I would like to thank all my students and collaborators for sharing this journey with me. Also, I would like to thank everyone involved in the process of evaluating my case (e.g., committee members, recommendation letter writers). I know this was a lot of work, so thank you!

Research: Congratulations to Brian Tauro for having his paper accepted at ASPLOS 2024!

Research: Congratulations to Zhenpeng Lin for having his paper accepted at USENIX Security 2024! This is the first collaboration I had with Prof. Xinyu Xing (which recently joined Northwestern) and his group, and I'm very impressed! Great work!

Research: Congratulations to Tommy McMichen for having his paper accepted at CGO 2024! This work is about the first compiler's IR with collections (in SSA) as first-class citizen. This IR, called MemOIR, will make memory-centric analyses and transformations much, much, much easier (and, for many cases, finally possible!)

Proud advisor I'm very proud Enrico A. Deiana successfully defended his Ph.D. thesis last week. Enrico did a fantastic job both at presenting his research and at answering all questions, I'm very proud of him! I know he will do great in his next chapter of his life, good luck Enrico! Thank you Peter Dinda, Nikos Hardavellas, Robby Findler, Margo Seltzer, and Arthur Maccabe (Barney) for being part of Enrico's committee, we have greatly appreciated your work!

Teaching: Slides of the CAT class are now up-to-date to the ones used this year. I hope they will help others.

Teaching: Justin Dong won the competition for the best code analysis and transformation of the year for the CAT class. Justin is now in the Hall of Fame of the class. Congratulations!

Proud advisor I'm very proud to announce Enrico A. Deiana will join Google after his Ph.D.! congratulations Enrico (and Google for having recognized how good Enrico is!)

Research: Congratulations to Ziyang Xu for having his paper accepted at OOPSLA 2024! This work is about a profiling infrastructure for memory operations and their dependences to easily generate very efficient and scalable memory profilers. We can now profile memory operations and their dependences with little overhead, finally!

Research: Congratulations to Yian Su for having his paper accepted at ASPLOS 2024! This work is about a compiler that is capable to automatically generate parallel code that implements the heartbeat scheduling from fork-join parallelism declared in the source code (e.g., with OpenMP). No more hand-writing heartbeat scheduling solutions anymore!

Conference: I'm very happy to have been invited to serve on the ASPLOS program committee for 2025! ASPLOS is a great conference for research that cross hardware/software boundaries. Consider submitting your work!

Research: Congratulations to Celine for having her paper accepted at ICLR 2024! This work is a beautiful integration of large language models and compilers to exploit their relative strengths and overcome their relative weaknesses. I'm very happy about this paper because this is my first collaboration with Celine Lee, Abdulrahman Mahmoud, Michal Kurek, Stephen Chong, and Alexander M. Rush. Also, this is the first work I was involved with my mentors David Brooks and Gu-Yeon Wei since the end of my Post-doc (2015) and I've missed working with them during my pre-tenure journey.

Software: We have released GINO, the first parallelizing compiler that includes DOALL, HELIX, and DSWP parallelization techniques! GINO builds upon NOELLE, which is also open sourced.

Research: Congratulations to Nick Wanninger for having his paper accepted at ASPLOS 2024! This work proposes a compiler-runtime co-design to relocate C/C++ memory objects at run-time using memory handles.

Teaching: Ryan Wong and Ethan Havemann won the competition for the best compiler of the year for the CC class. Ryan and Ethan are now in the Hall of Fame of the class. Congratulations!

Teaching: Slides of the CC class are now up-to-date to the ones used this year. I hope they will help others.

Research: Congratulations to Ishita Chaturvedi for having her paper accepted at ISCA 2024! This work proposes an energy efficient solution to make cores within GPUs Out of Oder.

Conference: I'm very happy to have been invited to serve on the MICRO program committee for 2024! MICRO is a great conference for computer architecture research. Consider submitting your work!

Teaching: The student's evaluation of CC is out! Take a look at them. Thank you to all students that took the time to share their thoughts about this class.

Software: We have released HBC, the first compiler that transforms loop-based nested parallelism into binaries that benefit from heartbeat scheduling. HBC builds upon NOELLE, which is also open sourced.

Teaching: Slides of the ATC class are now up-to-date to the ones used this year. I hope they will help others.

Career: It is official: I'll start my sabbatical this coming September and I will work for Google for one year. I'm very excited about it and I look forward to experience the working environment at Google! If you are at Google and would like to catch up before I start, please reach out. I will be in the Chicago office.

Research: Congratulations to Jeremiah, Ziyang, and the rest of the team for having a new paper accepted at SC 2024! This paper describes a new study, building upon a decade-old survey that explored computational practices among researchers, aims to bridge the gap in understanding between those providing computational resources and the computational researchers.

Group: I'm happy to announce that Riley (Sophia) Boksenbaum will join the ARCANA group as a PhD Student this coming September. Sophia has been part of ARCANA as undergraduate student doing great research in NOELLE and GINO. I look forward to see what she will accomplish as a PhD student!

Software: I'm very happy to announce that myself, Yian, and Federico have completed our work for porting NOELLE (and most of the other codebases built upon it, like Gino) to LLVM 14.1.6 (from LLVM 9.0.0). We started this process 4 months ago, Yian has worked on this goal full-time for the last 2 months, and Federico helped us complete this work by dealing with CMake-related aspects. Also, Ziyang and Yebin handled the porting of the alias analysis engine SCAF from LLVM 9 to LLVM 14.
Porting our codebases from LLVM 9 to LLVM 14 highlighted something interesting. The IR as a language did not change much between these two LLVM versions, but the IR instances generated by the front-ends (e.g., clang) and by the IR optimizers (e.g., licm) changed significantly. The IR generated in LLVM 14 is significantly better (in terms of the amount of redundant computation) than the one generated by LLVM 9. These changes have triggered bugs in NOELLE (and software built upon it) that we were not aware of.
Our work has been to reproduce these bugs in LLVM 9 by adding new regression tests into our codebases, then fix these bugs in LLVM 9, and finally update these code changes (if necessary) to the LLVM 14 version. This process allowed us to maintain (at least) the same level of robustness of NOELLE (and the software built upon it) we had at the beginning of this process. But it was time-consuming and tiring; so I'm glad it's finally over :)
From now on, we will no longer maintain NOELLE (and the rest of our software built upon it) for LLVM 9 (YAY!) We are now officially working on LLVM 14!

External links:
LinkedIn profile LinkedIn Follow SimoneCampanoni on Twitter Twitter GitHub profile GitHub

Share this page with: