Last updated December 11th, 2024.

Gus Smith

Contact: gussmith@cs.washington.edu

2024-09-27: I’m leaving for Bonderman Fellowship travel! Link to my travel blog. (for full timeline, see Timeline)

(who I am)

I’m a recently-graduated PhD student from the University of Washington’s PLSE Lab, where I worked with Zach Tatlock and Luis Ceze.

It’s my belief that compilers can and should be automatically generated from formal descriptions of the hardware to which they compile. The goal of my research is to convince you of the same.

(my projects)

I’m currently working on Churchroad—a new FPGA synthesis tool leveraging equality saturation and program synthesis.

I also continue to maintain Lakeroad, a tool which uses program synthesis and automatic semantics extraction from Verilog to generate hardware designs for FPGAs given just the vendor-provided Verilog models of an FPGA’s hardware primitives.

I am also the author of Glenside, a pure, functional, low-level tensor language for machine learning which is amenable to powerful term rewriting techniques such as equality saturation. Myself and my collaborators at Harvard, Princeton, and UW utilized Glenside when building 3LA: an end-to-end design methodology for deep learning accelerators.

(selected papers)

My colleagues and I have published a number of papers on the theme of automatically generating compilers from formal models of hardware. For a full list, please see my CV.

Scaling Program Synthesis Based Technology Mapping with Equality Saturation. WOSET 2024. Arxiv link. Presentation video. Gus Henry Smith, Colin Knizek, Daniel Petrisko, Zachary Tatlock, Jonathan Balkind, Gilbert Louis Bernstein, Haobin Ni, and Chandrakana Nandi. (The Churchroad workshop paper.)

FPGA Technology Mapping Using Sketch-Guided Program Synthesis. ASPLOS 2024. Arxiv link. Gus Henry Smith, Ben Kushigian, Vishal Canumalla, Andrew Cheung, Steven Lyubomirsky, Sorawee Porncharoenwase, René Just, and Zachary Tatlock. (The Lakeroad paper.)

Application-Level Validation of Accelerator Designs Using a Formal Software/Hardware Interface. TODAES 2023. Arxiv link. Bo-Yuan Huang, Steven Lyubomirsky, Yi Li, Mike He, Gus Henry Smith, Thierry Tambe, Akash Gaonkar, Vishal Canumalla, Gu-Yeon Wei, Aarti Gupta, Zachary Tatlock, Sharad Malik. (The 3LA paper.)

Pure Tensor Program Rewriting via Access Patterns (Representation Pearl). MAPS 2021. Arxiv link. Gus Henry Smith, Andrew Liu, Steven Lyubomirsky, Scott Davidson, Joseph McMahan, Michael Taylor, Luis Ceze, Zachary Tatlock. (The Glenside paper.)

I’m also lucky enough to collaborate with colleagues in computational biology, which has led to at least one publication:

Fridge Compiler: Optimal Circuits from Molecular Inventories. International Conference on Computational Methods in Systems Biology. Lancelot Wathieu, Gus Smith, Luis Ceze, and Chris Thachuk.

(industry experience)

I’ve had many great internships in industry. In late 2023 through summer 2024, I worked with Noah Evans at Sandia National Labs, advocating for the use of Yosys at Sandia. In the summer of 2021, I worked with Aart Bik at Google on a sparse compiler autotuner for MLIR, and I continued that work as a part-time Student Researcher in 2022 with Penporn Koanantakool. In the summer of 2019, I worked with Marco Heddes on static analysis of TVM/Relay programs as part of Azure’s AI and Advanced Architectures team. Pre-Ph.D., I also interned a bunch at Google: implementing the Bluetooth protocol RFCOMM for Fuchsia with Marie Janssen, improving the Chrome Remote Desktop experience on Raspberry Pis with Scott Nichols, and working with Mona El Mahdy on profiling Android apps.

(mentors)

In addition to Zach, Luis, and my many great mentors in industry, I’ve also been mentored by Vijay Narayanan and Jack Sampson, who advised me during my BS and Master’s degrees at Penn State.

(mentees)

I have been lucky enough to mentor many great students in my short career. During my PhD at UW, I worked with Vishal Canumalla (now a PhD student at Stanford; GitHub, LinkedIn) and Andrew Cheung (now a PhD student at UCSD; GitHub, LinkedIn). Previously at UW, I also worked with Andrew Liu (now at Jane Street). While at Penn State, I worked with a great team of motivated undergrads: Nelson Troncoso Aldas, Christopher Pratt, David de Matheu, and Tom Kawchak.

(fun stuff)

I’m lucky to have called Pennsylvania home throughout all the previous chapters of my life, having lived there until 2018 when I started a new chapter in Seattle. I grew up in Mountain Top (in the Wyoming Valley, outside of Wilkes-Barre) and have traveled to/lived in all corners of the state. In my free time, I write fiction and poetry, program, surf, run, and just generally try to enjoy life in and around Seattle.