HackerPapers

arXiv:1910.00935cs.LG

DiffTaichi: Differentiable Programming for Physical Simulation

Yuanming Hu, Luke Anderson, Tzu-Mao Li, Qi Sun, Nathan Carr, Jonathan Ragan-Kelley, Frédo Durand

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.

arXiv comments
Published at ICLR 2020
Journal reference
DOI
Subjects
cs.LGMachine Learning cs.GRGraphics physics.comp-phComputational Physics stat.MLMachine Learning (Statistics)

On Hacker News

Linked by 2 identifiable commenters in 2 comments across 2 threads, from Nov 2019 to Mar 2021. Found in 2 HN submissions from Oct 2019 to Jan 2020. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments2 threads

    • That's a really nice write up. It's insane how similar our approaches are. Could it be a case of [1] (but on a non grand scale) :P? I can list my sources of inspiration: [2] [3] [4]. I also tried training convolutional networks, using the soft life set-up, but failed to get them…

      montebicycleloView on HNParent context

    • My point is that the parent's comment is mostly right: a frequent challenge in ML is black box computational units which don't expose the necessary information to run autograd. Even if the underlying mathematical function is not differentiable everywhere, but only on most…

      MrMoentyView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.