Gilbert Bernstein
Assistant Professor
in Computer Science & Engineering
@ the University of Washington
Research Interests
High-Performance DSLs
Computer Graphics • Programming Languages
Physical Simulation • Geometry & Topology
Differentiable Programming • Hardware DSLs
Tools for Artists • Fabrication • HCI
Contact
Office at Gates (CSE2) 235
gilbo@cs.washington.edu (work)
gilbert@gilbertbernstein.com (personal)

Gilbert Bernstein is a new professor at the University of Washington in Computer Science & Engineering. He specializes in Computer Graphics and Programming Languages, especially high-performance domain-specific languages (DSLs). He was a post-doctorate scholar at UC Berkeley and MIT with Joanthan Ragan-Kelley, and received his PhD from Stanford University working with Pat Hanrahan.

Some Ongoing Research
Current Students and Mentoring
Previous Students and Mentoring
Teaching
Some Publications
Jenga: Responsive Tiered Memory Management without Thrashing
Rohan Kadekodi, Haoran Peng, Gilbert Bernstein, Michael D Ernst, Baris Kasikci
arXiv preprint (uploaded 2025)

CXL memory management

Polynomial-Time Program Equivalence for Machine Knitting
Nathan Hurtig, Jenny Han Lin, Thomas S Price, Adriana Schulz, James McCann, Gilbert Louis Bernstein
ICFP 2025

An algebraic theory of knitting machine programs leveraging category theory. This paper shows that equivalence in this algebra is efficiently decidable in theory.

Piper: Towards Flexible Pipeline Parallelism for PyTorch
Megan Frisella, Arvin Oentoro, Xiangyu Gao, Gilbert Bernstein, Stephanie Wang
PACMI 2025

user-scheduling for pipeline parallelism in distributed AI training systems

High Level Programming for Application Networks
Xiangfeng Zhu, Yuyao Wang, Banruo Liu, Yongtong Wu, Nikola Bojanic, Jingrong Chen, Gilbert Bernstein, Arvind Krishnamurthy, Sam Kumar, Ratul Mahajan, Danyang Zhuo
NSDI 2025

Application-level configuration of network middleware with user-scheduling of where in-network processing should happen

Oops: A Language for Formalizing Fallible Biological Protocols
Matthew Shang, Eric Klavins, Gilbert Bernstein
BioRxiv (uploaded 2025)

Using probabilistic programming to model errors in wetlab experimental processes

Exo 2: Growing a Scheduling Language
Yuka Ikarashi, Kevin Qian, Samir Droubi, Alex Reinking, Gilbert Bernstein, Jonathan Ragan-Kelley
ASPLOS 2025

an extension to the Exo language tackling the question of how to build libraries of reusable scheduling code. Demonstrated beating industrial BLAS implementations across a broad swath of the API surface.

UFO Instruction Graphs are Machine Knittable
Jenny Lin, Yuka Ikarashi, Gilbert Louis Bernstein, Jim McCann
SIGGRAPH Asia 2024

An extension of our knitting semantics work. This paper leverages the insight that monotonicity of time coincides with monotonicity of many other observable properties of objects to characterarize when they can be successfully knit.

Understanding and Supporting Debugging Workflows in CAD
Felix Hähnlein, Gilbert Bernstein, Adriana Schulz
UIST 2024

Debugging CAD models is like debugging programs. Since CAD is visual and geometric, a good debugger must use smart choices of visualizations.

WasteBanned: Supporting Zero Waste Fashion Design with Linked Edits
Ruowang Zhang, Stefanie Mueller, Gilbert Bernstein, Adriana Schulz, Mackenzie Leake
UIST 2024

zero-waste fashion design seeks to create tightly-packed sewing patterns, without scrap fabric. We designed a tool that allows for co-design of the garment pattern and layout on the fabric bolt to help achieve such designs.

Learning to Move like Professional Counter-Strike Players
David Durst, Feng Xie, Vishnu Sarkkai, Brennan Shacklett, Iuri Frosio, Chen Tessler, Joohwan Kim, Carly Taylor, Gilbert Bernstein, Sanjiban Choudhury, Pat Hanrahan, Kayvon Fatahalian
SCA 2024

training neural networks to create more human-like counterstrike bots

Distributions for Compositionally Differentiating Parametric Discontinuities
Jesse Michel, Kevin Mu, Xuanda Yang, Sai Praveen Bangaru, Elias Rojas Collins, Gilbert Bernstein, Jonathan Ragan-Kelley, Michael Carbin, Tzu-Mao Li
OOPSLA 2024

A language looking at how to differentiate discontinuities from the standpoint of the theory of distributions rather than functions.

A Verified Compiler for a Functional Tensor Language
Amanda Liu, Gilbert Bernstein, Adam Chlipala, Jonathan Ragan-Kelley
PLDI 2024

proof of correctness for lowering in the ATL compiler

FPGA Technology Mapping Using Sketch-Guided Synthesis
Gus Henry Smith, Ben Kushigan, Vishal Canumalla, Andrew Cheung, Steven Lyubormirsky, Sorawee Porncharoenwase, Rene Just, Gilbert Louis Bernstein, Zachary Tatlock
ASPLOS 2024

using program synthesis to find more efficient utilization of complex DSP units on FPGAs

SLANG.D: Fast, Modular & Differentiable Shader Programming
Sai Praveen Bangaru, Lifan Wu, Tzu-Mao Li, Jacob Munkberg, Gilbert Bernstein, Jonathan Ragan-Kelley, Fredo Durand, Aaron Lefohn, Yong He
SIGGRAPH Asia 2023

an HLSL-like shading language (Slang) with full language support for automatic-differntiation, including generics & interfaces

Semantics and Scheduling for Machine Knitting Compilers
Jenny Lin, Vidya Narayanan, Yuka Ikarashi, Jonathan Ragan-Kelley, Gilbert Bernstein, Jim McCann
SIGGRAPH 2023

applying knot theory to the question "what does a program for a knitting machine mean?"

Differentiable Rendering of Neural SDFs through Reparameterization
Sai Praveen Bangaru, Michael Gharbi, Tzu-Mao Li, Fujun Luan, Kalyan Sunkavalli, Milos Hasan, Sai Bi, Zexiang Xu, Gilbert Bernstein, Fredo Durand
SIGGRAPH Asia 2022

differentiable rendering of implicit surfaces

Sketch-Based Design of Foundation Paper Pieceable Quilts
Mackenzie Leake, Gilbert Bernstein, Maneesh Agrawala
UIST 2022

finding constructible completions of quilting patterns as they're being sketched

Exocompilation for Productive Programming of Hardware Accelerators
Yuka Ikarashi, Gilbert Bernstein, Alex Reinking, Hasan Genc, Jonathan Ragan-Kelley
PLDI 2022

a low-level language (and exocompiler) designed to help performance engineers write, optimize, and target high-performance computing kernels onto new hardware accelerators

Verified Tensor-Program Optimization Via High-Level Scheduling Rewrites
Amanda Liu, Gilbert Louis Bernstein, Adam Chlipala, Jonathan Ragan-Kelley
POPL 2022

optimizing imperative array (tensor) code by rewriting functional programs in a verified way using Coq

Systematically Differentiating Parametric Discontinuities
Sai Praveen Bangaru, Jesse Michel, Kevin Mu, Gilbert Bernstein, Tzu-Mao Li, Jonathan Ragan-Kelley
SIGGRAPH 2021

handling automatic differentiation through discontinuous phenomena, such as collisions, boundaries, and phase changes

A Mathematical Foundation for Foundation Paper Pieceable Quilts
Mackenzie Leake, Gilbert Bernstein, Abe Davis, Maneesh Agrawala
SIGGRAPH 2021

A mathematical theory of which quilt designs are constructable via a popular and easy to learn quilting process.

What Are the Semantics of Hardware?
Gilbert Bernstein, Ross Daly, Jonathan Ragan-Kelley, Pat Hanrahan
LATTE: Workshop on Languages, Tools, and Techniques for Accelerator Design 2021

Why are Hardware Design Languages the way they are?

Type-directed Scheduling of Streaming Accelerators
David Durst, Matthew Feldman, Dillon Huff, David Akeley, Ross Daly, Gilbert Bernstein, Marco Patrignani, Kayvon Fatahalian, Pat Hanrahan
PLDI 2020

A Domain-Specific Hardware Design Language for trading off transistor usage (space) against pipeline latency (time)

Designing Languages for Parallel Portability of Physical Simulations, Using Relational Algebraic Abstractions
Gilbert Bernstein
Doctoral Thesis, Stanford University 2019

Opt: A Domain Specific Langauge for Non-Linear Least Squares Optimization in Graphics and Imaging
Zachary DeVito, Michael Mara, Michael Zollhöfer, Gilbert Bernstein, Jonathan Ragan-Kelley, Christian Theobalt, Pat Hanrahan, Matthew Fisher, and Matthias Nießner
SIGGRAPH 2017

Seam: Provably Safe Local Edits on Graphs
Manolis Papadakis, Gilbert Bernstein, Rahul Sharma, Alex Aiken, Pat Hanrahan
OOPSLA 2017

correctness, brevity, and performance for complex geometric data structures

Why New Programming Languages for Simulation?
Gilbert Bernstein, Fredrik Kjolstad
Perspectives in Transactions on Graphics 2016

why should we bother designing new programming languages for physical simulation tasks?

Ebb: A DSL for Physical Simulation on CPUs and GPUs
Gilbert Bernstein, Chinmayee Shah, Crystal Lemire, Zachary DeVito, Matthew Fisher, Philip Levis, Pat Hanrahan
SIGGRAPH 2016

a domain-specific language that automatically parallelizes code

PATEX: Exploring Pattern Variations
Paul Guerrero, Gilbert Bernstein, Wilmot Li, Niloy J. Mitra
SIGGRAPH 2016

exploring design variations while editing geometric patterns by inferring constraints

Lillicon: Using Transient Widgets to Create Scale Variations of Icons
Gilbert Bernstein, Wilmot Li
SIGGRAPH 2015

manipulating apparent objects in icon drawings

Towards responsive retargeting of existing websites
Gilbert Bernstein, Scott Klemmer
Poster at UIST 2014

On Being the Right Scale: Sizing Large Collections of 3D Models
Manolis Savva, Angel X. Chang, Gilbert Bernstein, Christopher Manning, Pat Hanrahan
SIGGRAPH Asia 2014 Workshop on Indoor Scene Understanding: Where Graphics Meets Vision

Cork Boolean Library
Gilbert Bernstein
Github 2013

fast, efficient boolean library with a C interface

Putting Holes in Holey Geometry
Gilbert Bernstein, Chris Wojtan
SIGGRAPH 2013

A freeform method for poking holes and merging surfaces

Motion Fields for Interactive Character Animation
Yongjoon Lee, Kevin Wampler, Gilbert Bernstein, Jovan Popović, Zoran Popović
SIGGRAPH Asia 2010

getting characters to turn on a dime, using non-parametric alternatives to motion graphs

Fast, Exact, Linear Booleans
Gilbert Bernstein, Don Fussell
Symposium on Geometry Processing 2009

robust boolean operations that are fast enough for interactive use.

When is a Graph Knotted?
Gilbert Bernstein, advised by Cameron Gordon
Undergraduate Thesis

knot theory meets graph theory. Hunting for the elusive minor minimal intrinsically knotted graphs