LGGRCOMP-PHMLOct 1, 2019

DiffTaichi: Differentiable Programming for Physical Simulation

arXiv:1910.00935v3500 citations
Originality Highly original
AI Analysis

This enables efficient gradient-based learning and optimization for physical simulation tasks, benefiting researchers and engineers in fields like robotics and computer graphics.

The authors developed DiffTaichi, a differentiable programming language for building high-performance physical simulators, which achieved a 4.2x reduction in code length compared to hand-engineered CUDA while matching its speed and being 188x faster than TensorFlow implementations.

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.

Code Implementations3 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes