Differentiate the Solver, Not the Equation: Reverse-Sweep Adjoints for Block Implicit Simulation
Not on the map. Why?
Abstract (arXiv)
Differentiable simulation is a key component in learning, control, and inverse problems, where gradients through nonlinear implicit solvers are required. Existing approaches either rely on unrolled automatic differentiation, whose memory grows with solver depth, or on equation-level implicit differentiation, which assembles global Jacobians and solves large sparse adjoint systems, discarding the locality of the forward solver -- and differentiating the converged equation rather than the finite computation that actually ran. We propose solver-level differentiation, which differentiates the executed solver itself. When a solver is composed of block implicit updates, its discrete adjoint is obtained by applying the corresponding adjoint updates in reverse order, yielding a reverse-sweep formulation whose backward pass mirrors the forward solver. From an operator perspective, the forward pass realizes an approximate inverse through ordered local solves, and the backward applies its transpose through reverse local adjoint solves, constructing no global system. We instantiate this idea on Vertex Block Descent, yielding a differentiable solver whose reverse colored Gauss-Seidel sweeps are composed entirely of local 3× 3 adjoint solves. The backward matches automatic differentiation through the identical executed forward to machine precision at every solver depth, where the equation-level adjoint is off by 37% after one sweep; in a controlled same-codebase, same-GPU comparison it is 33x faster and uses 71x less memory than unrolled automatic differentiation; and the same construction is exact on projective dynamics and extended position-based dynamics. We scale differentiable elastodynamics to 106 contact-coupled soft bodies (8M vertices) on one GPU. Overall, this work highlights solver structure as a practical organizing principle for efficient differentiable simulation.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). Builds on 20 of its 39 references that are in the map. First posted on arXiv 9 Aug 2026.
Builds on
20 of 39 references.
References · 20
- 2018Neural Ordinary Differential Equationscited by 3,779
- 2019Expressive Body Capture: 3D Hands, Face, and Body from a Single Imagecited by 1,612
- 2016Training Deep Nets with Sublinear Memory Costcited by 848
- 2019Deep Equilibrium Modelscited by 615
- 2017OptNet: Differentiable Optimization as a Layer in Neural Networkscited by 599
- 2019DiffTaichi: Differentiable Programming for Physical Simulationcited by 258
- 2021Efficient and Modular Implicit Differentiationcited by 203
- 2020Learning to Control PDEs with Differentiable Physicscited by 132
- 2016A Differentiable Physics Engine for Deep Learning in Roboticscited by 108
- 2021gradSim: Differentiable simulation for system identification and visuomotor controlcited by 100
- 2018ChainQueen: A Real-Time Differentiable Physical Simulator for Soft Roboticscited by 98
- 2022Do Differentiable Simulators Give Better Policy Gradients?cited by 89
8 more
- 2021Gradients are Not All You Needcited by 86
- 2020Scalable Differentiable Physics for Learning and Controlcited by 73
- 2021DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contactcited by 65
- 2021DiffPD: Differentiable Projective Dynamicscited by 62
- 2021Fast and Feature-Complete Differentiable Physics for Articulated Rigid Bodies with Contactcited by 52
- 2022Differentiable solver for time-dependent deformation problems with contactcited by 12
- 2024Vertex Block Descentcited by 6
- 2025Physically Valid Biomolecular Interaction Modeling with Gauss-Seidel Projectioncited by 4
Built on by
Citing papers per year: 2026: 1.
1 paper.