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
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