Comparison of Julia autodiff packages

Julia now has so many different autodiff packages. Can somebody summarize the status of these packages?

From what I know, there is Forwarddiff (which uses dual numbers), and then there is the Reversediff, which I’m not sure about. Then there is Zygote, which is said to be quite good and general, Enzyme, which operates at the LLVM level, and Diffractor, an experimental package non-contributors are recommended to ignore for now.

Then there are more.

How are they right now?

2 Likes