Skip to content

Chapter 21. Major AD Systems

ADIFOR, short for Automatic Differentiation of Fortran, is one of the classical source-transformation systems for automatic differentiation. It was designed for numerical...

SectionTitle
1Chapter 21. Major AD Systems
2Tapenade
3TensorFlow Autograd
4PyTorch Autograd
5JAX
6Zygote
7Enzyme
8Tinygrad
9Comparative Architecture Analysis
10Differentiation of Large Stateful Systems
Chapter 21. Major AD SystemsADIFOR, short for Automatic Differentiation of Fortran, is one of the classical source-transformation systems for automatic differentiation. It was designed for numerical...
7 min
TapenadeTapenade is a source-transformation automatic differentiation system developed at INRIA. Like ADIFOR, it takes an existing program and produces a new differentiated program....
5 min
TensorFlow AutogradTensorFlow Autograd refers to TensorFlow’s automatic differentiation system, mainly exposed through tf.GradientTape. It is a reverse-mode AD system designed for tensor...
6 min
PyTorch AutogradPyTorch Autograd is a dynamic reverse-mode automatic differentiation system. It records tensor operations as they execute, builds a computation graph at runtime, and then...
6 min
JAXJAX is an automatic differentiation and array programming system for Python. It combines NumPy-like syntax with composable program transformations. Its core transformations...
6 min
ZygoteZygote is a source-to-source reverse-mode automatic differentiation system for the Julia programming language. It was designed to differentiate high-level Julia code directly,...
6 min
EnzymeEnzyme is a compiler-based automatic differentiation system for LLVM and MLIR. Instead of differentiating source code directly, or recording tensor operations at runtime,...
7 min
TinygradTinygrad is a small deep learning framework centered around a minimal reverse-mode automatic differentiation engine. It was created by entity"people","George...
5 min
Comparative Architecture AnalysisThe systems in this chapter show that automatic differentiation is not one implementation technique. It is a family of program transformations. Each system chooses a different...
8 min
Differentiation of Large Stateful SystemsAutomatic differentiation works naturally on pure mathematical functions:
7 min