English

Dynamic Automatic Differentiation of GPU Broadcast Kernels

Mathematical Software 2018-10-26 v3

Abstract

We show how forward-mode automatic differentiation (AD) can be employed within larger reverse-mode computations to dynamically differentiate broadcast operations in a GPU-friendly manner. Our technique fully exploits the broadcast Jacobian's inherent sparsity structure, and unlike a pure reverse-mode approach, this "mixed-mode" approach does not require a backwards pass over the broadcasted operation's subgraph, obviating the need for several reverse-mode-specific programmability restrictions on user-authored broadcast operations. Most notably, this approach allows broadcast fusion in primal code despite the presence of data-dependent control flow. We discuss an experiment in which a Julia implementation of our technique outperformed pure reverse-mode TensorFlow and Julia implementations for differentiating through broadcast operations within an HM-LSTM cell update calculation.

Cite

@article{arxiv.1810.08297,
  title  = {Dynamic Automatic Differentiation of GPU Broadcast Kernels},
  author = {Jarrett Revels and Tim Besard and Valentin Churavy and Bjorn De Sutter and Juan Pablo Vielma},
  journal= {arXiv preprint arXiv:1810.08297},
  year   = {2018}
}
R2 v1 2026-06-23T04:45:14.853Z