Alexander’s research focuses on compilation techniques for achieving both portability and high performance for irregular problems (e.g., sparse array programming or path tracing). He designs programming languages with data structure and machine independence, employing scheduling languages as a means of specifying data- and machine-specific acceleration details. He is particularly interested in programming systems that expose performance optimization as a productive co-exploration of data structures and parallelization schedules. His ultimate research goal is to make high-performance irregular code as easy to write (and portable) as naive code.
Alexander (AJ) is a rising fifth-year Ph.D. candidate at Stanford University, advised by Fredrik Kjolstad and collaborating with Kayvon Fatahalian. He earned his undergraduate degree and master’s degree in EECS at MIT, working with Jonathan Ragan-Kelley and Andrew Adams on vector instruction selection for the Halide compiler; he still collaborates closely with them. He has interned at NVIDIA Research, Adobe Research, and on Intel’s Inteon team. He is an NSF GRFP recipient and Qualcomm Innovation Fellow.