DiffTaichi: Differentiable Programming for Physical Simulation
By Yuanming Hu, Luke Anderson, Tzu-Mao Li, Qi Sun, Nathan A. Carr, Jonathan Ragan-Kelley, Frédo Durand. 2019
516 citations recorded by the source corpus.
We present DiffTaichi, a new differentiable programming language tailored for building high-performance differentiable physical simulators. Based on an imperative programming language, DiffTaichi generates gradients of simulation steps using source code transformations that preserve arithmetic intensity and parallelism. A light-weight tape is used to record the whole simulation program structure and replay the gradient kernels in a reversed order, for end-to-end backpropagation. We demonstrate the performance and productivity of our language in gradient-based learning and optimization tasks on 10 different physical simulators. For example, a differentiable elastic object simulator written in our language is 4.2x shorter than the hand-engineered CUDA version yet runs as fast, and is 188x faster than the TensorFlow implementation. Using our differentiable programs, neural network controllers are typically optimized within only tens of iterations.
Subfields: Computational Mechanics, Computer Graphics and Computer-Aided Design, Statistical and Nonlinear Physics
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computational Mechanics
- Jiajun Wu
- Josh Tenenbaum
- Ben Mildenhall
- Matthias Nießner
- Christian Theobalt
- Gordon Wetzstein
- Michael Zollhöfer
- Justus Thies
In Computer Graphics and Computer-Aided Design
- Matthias Nießner
- Vincent Sitzmann
- Gordon Wetzstein
- Christian Theobalt
- Justus Thies
- Jiajun Wu
- Ben Mildenhall
- Andreas Geiger
In Statistical and Nonlinear Physics
- Jiajun Wu
- Josh Tenenbaum
- Nils Thürey
- Peter W. Battaglia
- Rex Ying
- Yunzhu Li
- Alvaro Sanchez-Gonzalez
- Chuang Gan
Citations in the corpus
- Learning to Simulate Complex Physics with Graph Networks (2020, background): “…al., 2018; Li et al., 2019; Sanchez-Gonzalez et al., 2019), as well as non-physical systems, such as multi-agent dynamics (Tacchetti et al., 2018; Sun et al., 2019), algorithm execution (Velikovi et al., 2020), and other dynamic graph settings (Trivedi et al., 2019; 2017; Yan et al., 2018;…”
- Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation (2021, background): “Differentiating through long trajectories is an active area of research[38, 21, 18] and is known to be difficult to optimize[39, 40], thus we defer more advanced differentiable algorithms to future releases.”
- Visual Grounding of Learned Physical Models (2020, methodology): “…simulators to extract gradients (Todorov et al., 2012; Tedrake & the Drake Development Team, 2019; Degrave et al., 2019; Schenck & Fox, 2018; Hu et al., 2019; de Avila Belbute-Peres et al., 2018; Hu et al., 2020; Liang et al., 2019), which showed strong results in solving inverse problems…”
- Advances in Neural Rendering (2021, background): “In addition, Mitsuba 2 [NDVZJ19] and Taichi [HLA ∗ 19,HAL ∗ 20] are general-purpose physically based renderers that support differentiable mesh rendering via automatic differentiation, among many other graphics techniques.”
- Grasp'D: Differentiable Contact-rich Grasp Synthesis for Multi-fingered Hands (2022, background): “There has been significant progress in the development of differentiable physics engines [28, 33, 40, 41, 43, 44, 73, 87, 88].”
- Solver-in-the-Loop: Learning from Differentiable Physics to Interact with Iterative PDE-Solvers (2020, background): “Differentiable physics solvers were proposed for inverse problems in the context of liquids [49], cloth [34], soft robots [25], and molecular dynamics [63].”
- Dynamic Visual Reasoning by Learning Differentiable Physics Models from Video and Language (2021, methodology): “Our physics model is implemented as an impulse-based differentiable rigid-body simulator [35, 60, 14].”
- Modeling, learning, perception, and control methods for deformable object manipulation (2021, background): “Pioneering works explore this for learning-based dynamics (5, 93), differentiable cloth simulation (80), and soft robotics (123).”