Doctoral Defense: Distribution Programming for Physics-Based Computations
Kiva (32-G449)
By: Jesse Michel
Committee: Michael Carbin (supervisor), Martin Rinard, and Fredo Durand
Details
- Date: Wednesday, September 24
- Time: 2:00 pm - 4:00 pm
- Location: Kiva (32-G449)
Additional Location Details:
Abstract:
Building accurate and efficient simulations of the world is a grand challenge spanning science and engineering. Math models of these problems use continuous operators such as integrals and derivatives. Programming languages that make it easy to express and accurately estimate these models have enabled recent breakthroughs in physical simulation, rendering, and deep learning. These problems often have discontinuities due to phenomena such as contact, occlusion, and fracture. Simulating mixed continuous-discontinuous models is challenging because of the difficulty of the math and the complexity of implementation.
I argue that distribution theory, a subarea of functional analysis that generalizes integration and differentiation, serves as a theoretical foundation for math models that include integration, differentiation, and discontinuous functions (e.g., jump discontinuities and singularities). I introduce distribution programming, which internalizes complexities of math modeling into the compiler by introducing differentiable language primitives that denote distributions. Distribution programming ensures sound (e.g., unbiased and consistent) and modular implementation of primitives for integration and differentiation that compose with conditional statements and division.
I formally analyze and implement prototype languages for distribution programming and use these languages to solve inverse problems including physical simulation with contact, rendering with occlusion, and composite-material modeling and fracture. I expect that my work will advance theory and implementation for domain-specific languages in physical simulation, rendering, and differential equations, and for general-purpose languages for differentiable and probabilistic programming.
zoom link: https://mit.zoom.us/j/93676424069.
Host
- Jesse Michel