Automatic Differentiation Backends

Note

We support all backends supported by DifferentiationInterface.jl. Please refer to the backends page for more information.

Summary of Finite Differencing Backends

  • AutoFiniteDiff: Finite differencing using FiniteDiff.jl, not optimal but always applicable.
  • AutoFiniteDifferences: Finite differencing using FiniteDifferences.jl, not optimal but always applicable.

Summary of Forward Mode AD Backends

Summary of Reverse Mode AD Backends

  • AutoZygote: The fastest choice for non-mutating array-based (BLAS) functions.
  • AutoEnzyme: Uses Enzyme.jl Reverse Mode and works for both in-place and out-of-place functions.
Tip

For sparsity detection and sparse AD take a look at sparsity detection.