CS Talk - Alexander Reinking
Title: Ongoing Efforts to Formalize the Halide Programming Language
Host: Ruzica Piskac
Please let Ruzica know if you would like to meet with Alex.
Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern CPUs and GPUs. It is widely used in industry to optimize image filters, camera pipelines, machine learning systems and more. However, its precise behavior is implementation-defined and surprising interactions between several novel features have led to tricky bugs and left users confused. This ongoing work seeks to formalize enough of Halide to prove its safety guarantees and to specify the language separately from its compiler.
Alex is a graduate student at UC Berkeley advised by Jonathan Ragan-Kelley, and a 2016 graduate of Yale College with a degree in Computer Science and Mathematics. His work focuses on designing and implementing domain-specific languages for performance, safety, and correctness. Past projects include designing a new compiler and IR for the P programming language from Microsoft Research, and Winston, a type-directed tool for synthesizing and repairing expressions in Java.