PhD Student
Department of Computer Science
Stanford University
Office: 464 Gates
Email: ajroot [at] stanford [dot] edu
Curriculum Vitae
Google Scholar
Github

I am a Stanford CS PhD student advised by Fredrik Kjolstad, currently working on compilers for sparse array programming and high-performance simulations. My research interests broadly include domain-specific languages, compilers, and architectures for high-performance numerical computing, with an emphasis on visual computing applications. I am generously supported by the NSF GFRP and a Stanford School of Engineering fellowship.

I graduated with my bachelor’s (‘21) and master’s (‘22) from MIT, working under Jonathan Ragan-Kelley and Andrew Adams, where I worked on vector instruction selection, fixed-point computing systems, and bounds inference. I also interned with Andrew, Shoaib Kamil, and Maaz Bin Safeer Ahmad at Adobe Research in the summers of 2021 and 2022, on the same topics. Part of my undergraduate work on fixed-point compute systems was advised by Frédo Durand.

Much of my pre-PhD research was applied to the Halide compiler, and I remain somewhat active in the language’s development.

Publications

Fast Instruction Selection for Fast Digital Signal Processing
Alexander J. Root, Maaz Bin Safeer Ahmad, Dillon Sharlet, Andrew Adams, Shoaib Kamil, and Jonathan Ragan-Kelley
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2023

link Website pdf Paper code Code

Vector Instruction Selection for Digital Signal Processors Using Program Synthesis
Maaz Bin Safeer Ahmad, Alexander J. Root, Andrew Adams, Shoaib Kamil, and Alvin Cheung
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2022

link Website pdf Paper code Code

Teaching

CS 343S: Domain-Specific Language Design Studio
Teaching Fellow (TF)
Spring 2024, 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)