4th year PhD student @ NU
Ciao! My name is Federico Sossai and I like trees.
I’m a fourth-year Computer Science PhD student at Northwestern University and part of the ARCANA Lab led by Simone Campanoni.
At the moment I’m working on parallelizing compilers.
In my vision, a powerful language allows users to express high-level properties of their algorithms, while a powerful compiler should exploit them and minimize the performance cost of the abstractions that permit such expressiveness.
During the implementation of an algorithm, it’s easy to get distracted by low-level details that pollute our code making it unreadable and inflexible.
When single-core performance is not enough, the problem is exacerbated by manual parallelization techniques that, for example, require data structures to be reshaped or, even worse, redesigned.
Automatic parallelization has been studied for decades with remarkable results for scientific codes. However, when programs are not dominated by well-structured array computation we are left in dim candlelight.
This is why I’m investigating the following questions:
To answer these questions I’m studying the nature of the data dependences that block parallelization and how we can satisfy them in less conventional ways.
Now that almost all hardware is parallel, the importance of a compiler that understands and manipulates parallelism will be hard to overstate.
|
Y Su, B Homerding, H Gao, F Sossai, Y Chon, DI August, S Campanoni The Parallel-Semantics Program Dependence Graph for Parallel Optimization |
|
J Giordani, Z Xu, E Colby, A Ning, AR Godala, I Chaturvedi, S Zhu,
Y Chon, G Chan, Z Tan, G Collier, JD Halverson, EA Deiana, J Liang,
F Sossai, Y Su, A Patel, B Pham, N Greiner, S Campanoni, DI August Revisiting Computation for Research: Practices and Trends |
|
T McMichen, N Greiner, P Zhong, F Sossai, A Patel, S Campanoni Representing Data Collections in an SSA Form |
|
S An, L Moneta, S Sengupta, A Hamdan, F Sossai, A Saxena C++ Code Generation for Fast Inference of Deep Learning Models in ROOT/TMVA |
I’ve always had a strong passion for programming. I’m fascinated by how much structure can emerge when spoken ideas become written algorithms, and how these structures come back again and again.
At the University of Padova, I realized how the love for learning did not only belong to computer science but extended to all the disciplines ruled by the rigor of math. For better or worse, calculus, electromagnetism, probability theory, and NP-completeness forever changed how I look at the world, and there’s no way back.
$ cat contacts.json{
"firstname": "Federico",
"lastname": "Sossai",
"email": "${firstname}.${lastname}@gmail.com",
"citizenships": ["Italy"],
"address": {
"building": "Mudd Library",
"room": 3304,
"street": "2233 Tech Drive",
"zip": 60208,
"city": "Evanston",
"state": "IL",
"country": "USA"
}
}