XAD is a fast and comprehensive open-source C++ library for automatic differentiation. It targets production-quality code at any scale, striving for both ease of use and high performance.

Key features:

  • Forward and adjoint mode for any order, using operator-overloading

  • Checkpointing support (for tape memory management)

  • External functions interface (to integrate external libraries)

  • Thread-safe tape

  • Formal exception-safety guarantees

  • High performance

  • Battle-tested in large production code bases

AAD training, consultancy, and commercial licensing is available from Xcelerit.

This manual describes how to use the XAD library in your projects.

Last update: January 2023