Computer Graphics and Visual Computing problems challenge us with a near inexhaustible demand for more resolution and scale in order to simulate the climate, reconstruct 3d environments, train neural networks, and produce games & movies. Building such applications requires integrating disciplinary expertise (e.g. physics, numerical methods, geometry and custom hardware) into a single system. However, abstraction barriers are regularly discarded in the name of higher-performance, leading to code that must be written and maintained by super-experts—programmers who simultaneously possess deep knowledge of all relevant disciplines. Programming languages, especially Domain Specific Languages (DSLs) are perhaps the most promising approach to recovering a separation of concerns in such high-performance systems.
In this talk, I will first describe my work on DSLs to enable parallel portability of physical simulation and optimization programs, including the use of relational algebra and automatic differentiation to structure these problem domains. Then I will discuss more recent work on “horizontal DSLs” designed to dig into specific sub-problems: maximizing utilization of novel hardware accelerators, formally verifying optimizations of tensor programs, and extending automatic differentiation to correctly handle discontinuities in inverse rendering and simulation problems.
Bio: Gilbert Bernstein is a Postdoctoral Scholar at the University of California, Berkeley and MIT CSAIL, working with Professor Jonathan Ragan-Kelley. His research lies in Computer Graphics and Programming Languages, especially the design of high-performance domain specific languages for numeric computing applications such as physical simulation, optimization and inverse problems. His work spans the gamut from user interfaces, to differentiable programming, parallel-portability, and new hardware design languages. His work has been published at SIGGRAPH, POPL, PLDI, & OOPSLA, as well as being incorporated into products at Adobe, Autodesk, and Disney. He holds a Ph.D. in Computer Science from Stanford University, where he was advised by Pat Hanrahan.
This talk will be recorded and live-streamed at https://mediacentrallive.princeton.edu/