PhD Candidate
Department of Computer Science
Stanford University
Email: ajroot [at] cs [dot] stanford [dot] edu
Curriculum Vitae
Google Scholar
Github
Headshot of Alexander J Root

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
pdf Paper
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
pdf Paper
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
pdf Paper code Code
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
pdf Paper code Code
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
pdf Paper code Code
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
pdf Paper code Code
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
pdf Paper code Code

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)