Alexander J Root
|
PhD Candidate Department of Computer Science Stanford University Email: ajroot [at] cs [dot] stanford [dot] edu Curriculum Vitae Google Scholar Github |
|
About
I build compilers and programming systems that make it tractable to write high-performance code for irregular computations. My goal is to make asymptotically efficient and architecture-aware code as easy to write as naive code.
I am a PhD candidate in Computer Science at Stanford University, advised by Fredrik Kjolstad. I also work closely with Andrew Adams, Kayvon Fatahalian, and Jonathan Ragan-Kelley. I received my bachelor’s (2021) and master’s (2022) from MIT, working under Jonathan Ragan-Kelley, Andrew Adams, and Frédo Durand.
I have done research internships on NVIDIA’s Real-Time Graphics team working on compiling spatial Monte Carlo integrators (2025); on the Adobe Research Programming Languages and Performance team working on tree traversal compilers and vector instruction selection (2021 - 2023); and on Intel’s Inteon team working on automatic scheduling for Halide (2021).
I am grateful for support from the NVIDIA Graduate Fellowship (2026 - 2027), the Qualcomm Innovation Fellowship (2025 - 2026) with Chris Gyurgyik, the NSF GRFP (2022 - 2025), and a Stanford School of Engineering Fellowship (2022 - 2023).
Research
My research interests broadly include domain-specific languages, compilers, and architectures for high-performance numerical computing. I aim to make it significantly easier to write high-performance code. To that end, I work on programming systems that enable the productive exploration of work-efficiency, compute, and memory tradeoffs in irregular applications such as sparse array programming and path tracing. Some projects I have worked on during my PhD are:
- A push-model user-schedulable language for parallelizing divergent and recursive workloads.
- A language for exploring the memory layout of tree data structures (recursive ADTs).
- Compiling spatial queries on sets into asymptotically efficient tree traversals.
- Automatically determining loop ordering, tiling, and formats for sparse tensor algebra kernels.
- Compiling and fusing shape operators (e.g., reshape) and convolutions for sparse arrays.
At MIT, I worked on vector instruction selection, fixed-point computing systems, and bounds inference, primarily in the context of the Halide compiler.
Publications
| PLDI 2026 | Data Layout Polymorphism for Bounding Volume Hierarchies | |
| (to appear in) Proceedings of the ACM on Programming Languages, Volume 10, Issue PLDI | ||
| Christophe Gyurgyik, Alexander J Root, and Fredrik Kjolstad | ||
|
|
||
| PLDI 2026 | Compiling Set Queries into Work-Efficient Tree Traversals | |
| (to appear in) Proceedings of the ACM on Programming Languages, Volume 10, Issue PLDI | ||
| Alexander J Root, Christophe Gyurgyik, Purvi Goel, Kayvon Fatahalian, Jonathan Ragan-Kelley, Andrew Adams, and Fredrik Kjolstad | ||
|
|
||
| CGO 2026 | Fast Autoscheduling for Sparse ML Frameworks | |
| Proceedings of the 24th ACM/IEEE International Symposium on Code Generation and Optimization (CGO) | ||
| Bobby Yan, Alexander J Root, Trevor Gale, David Broman, and Fredrik Kjolstad | ||
|
|
||
| OOPSLA 2024 | Compilation of Shape Operators on Sparse Arrays | |
| Proceedings of the ACM on Programming Languages, Volume 8, Issue OOPSLA | ||
| Alexander J Root, Bobby Yan, Peiming Liu, Christophe Gyurgyik, Aart J.C. Bik, and Fredrik Kjolstad | ||
|
|
||
| OOPSLA 2024 | Compiler Support for Sparse Tensor Convolutions | |
| Proceedings of the ACM on Programming Languages, Volume 8, Issue OOPSLA | ||
| Peiming Liu, Alexander J Root, Anlun Xu, Yinying Li, Fredrik Kjolstad, and Aart J.C. Bik | ||
|
|
||
| ASPLOS 2023 | Fast Instruction Selection for Fast Digital Signal Processing | |
| International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) | ||
| Alexander J Root, Maaz Bin Safeer Ahmad, Dillon Sharlet, Andrew Adams, Shoaib Kamil, and Jonathan Ragan-Kelley | ||
|
|
||
| ASPLOS 2022 | Vector Instruction Selection for Digital Signal Processors Using Program Synthesis | |
| International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) | ||
| Maaz Bin Safeer Ahmad, Alexander J Root, Andrew Adams, Shoaib Kamil, and Alvin Cheung | ||
|
|
Teaching
I enjoy teaching and have been involved with compilers classes at both Stanford and MIT. I also TAed MIT’s introductory algorithms class.
|
CS 343S: Domain-Specific Language Design Studio Teaching Fellow (TF), Spring 2024 and 2025, Stanford University |
|
CS 343D: Domain-Specific Programming Models and Compilers Course Assistant (CA), Winter 2023 and 2024, Stanford University |
|
6.818: Dynamic Computer Language Engineering Teaching Assistant (TA), Fall 2021, MIT |
|
6.006: Introduction to Algorithms Teaching Assistant (TA), Spring 2019 and 2020, MIT |
|
MEET Computer Science Instructor, January 2019, MIT MEET (Global Teaching Labs) |