vix.ing · top · new · best · stats · spec

DiffTaichi: Differentiable Programming for Physical Simulation

2019/10/01 by Yuanming Hu, Luke Anderson, Hu, Yuanming +13 · 2 voices · 30 citations
Computer Science · Engineering · Mathematics · Physics and Astronomy · #3D Shape Modeling and Analysis #Computational Physics (physics.comp-ph) #Computer Graphics and Visualization Techniques #FOS: Computer and information sciences #FOS: Physical sciences #Graphics (cs.GR) #Machine Learning (cs.LG) #Machine Learning (stat.ML) #Model Reduction and Neural Networks #cs.GR #cs.LG #physics.comp-ph #stat.ML

paper · pdf · doi:10.48550/arxiv.1910.00935

openalex publication_date 2019/10/01 · arxiv published 2019/10/01 · arxiv updated 2020/02/14 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

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.

Citations

Cited by

Discussions

Related