Gilbert Bernstein
Assistant Professor
in Computer Science & Engineering
Research Interests
High-Performance DSLs
Computer Graphics • Programming Languages
Physical Simulation • Geometry & Topology
Differentiable Programming • Hardware DSLs
Tools for Artists • Fabrication • HCI
Contact
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
- Debugging CAD Programs (with Felix Hahnlein and Adriana Schulz)
- A Compiler for Finite Element Methods (with Teo Collins and Oded Stein)
- Semantics and Compilation for Knitting Machines (with Jenny Lin, Jim McCann, and others)
- Algebraic Scheduling of Tensor Programs (with Amanda Liu, Jonathan Ragan-Kelley, and Adam Chlipala)
- Exocompilers (with Yuka Ikarashi, Jonathan Ragan-Kelley, and others)
- I am also collaborating on DSLs for networking, Counterstrike bots, gradient-based optimization of chaotic systems, memory management, hardware design languages, and garment design tools.
Current Students and Mentoring
- Felix Hahnlein (UW Postdoc)
- Ryan Zambrotta (Advising, UW PhD)
- Haoran Peng (Advising, UW PhD)
- Matthew Shang (Advising, UW Undergrad)
- Jiexiao (Jasper) Xu (Advising, UW Undergrad)
- Teo Collins (Mentoring, MIT PhD)
- Amanda Liu (Mentoring, MIT PhD)
- Yuka Ikarashi (Mentoring, MIT PhD)
- David Durst (Mentoring, Stanford PhD)
Previous Students and Mentoring
Teaching
Some Publications
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
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?"
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
Mackenzie Leake, Gilbert Bernstein, Maneesh Agrawala
UIST 2022
finding constructible completions of quilting patterns as they're being sketched
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
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
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
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.
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?
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)
Gilbert Bernstein
Doctoral Thesis, Stanford University 2019
Zachary DeVito, Michael Mara, Michael Zollhöfer, Gilbert Bernstein, Jonathan Ragan-Kelley, Christian Theobalt, Pat Hanrahan, Matthew Fisher, and Matthias Nießner
SIGGRAPH 2017
Manolis Papadakis, Gilbert Bernstein, Rahul Sharma, Alex Aiken, Pat Hanrahan
OOPSLA 2017
correctness, brevity, and performance for complex geometric data structures
Gilbert Bernstein, Fredrik Kjolstad
Perspectives in Transactions on Graphics 2016
why should we bother designing new programming languages for physical simulation tasks?
Gilbert Bernstein, Chinmayee Shah, Crystal Lemire, Zachary DeVito, Matthew Fisher, Philip Levis, Pat Hanrahan
SIGGRAPH 2016
a domain-specific language that automatically parallelizes code
Paul Guerrero, Gilbert Bernstein, Wilmot Li, Niloy J. Mitra
SIGGRAPH 2016
exploring design variations while editing geometric patterns by inferring constraints
Gilbert Bernstein, Wilmot Li
SIGGRAPH 2015
manipulating apparent objects in icon drawings
Gilbert Bernstein, Scott Klemmer
Poster at UIST 2014
Manolis Savva, Angel X. Chang, Gilbert Bernstein, Christopher Manning, Pat Hanrahan
SIGGRAPH Asia 2014 Workshop on Indoor Scene Understanding: Where Graphics Meets Vision
Gilbert Bernstein
Github 2013
fast, efficient boolean library with a C interface
Gilbert Bernstein, Chris Wojtan
SIGGRAPH 2013
A freeform method for poking holes and merging surfaces
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
Gilbert Bernstein, Don Fussell
Symposium on Geometry Processing 2009
robust boolean operations that are fast enough for interactive use.
Gilbert Bernstein, advised by Cameron Gordon
Undergraduate Thesis
knot theory meets graph theory. Hunting for the elusive minor minimal intrinsically knotted graphs