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
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.