Skip to content

Releases: auto-differentiation/xad

v1.7.0

30 Nov 22:08
Compare
Choose a tag to compare

This release features extensive performance improvements.

Added

  • Template Variables: Added support for C++17 type traits such as std::is_floating_point_v (#127).
  • CI/CD Workflows: Updated workflows to target the C++17 standard (#127).
  • New Sample: Introduced a Monte-Carlo swaption portfolio pricer, including path-wise derivative calculations (#126).

Changed

  • Performance Improvements (#150):

    • Optimised OperationsContainer for handling slots and multipliers.
    • Enhanced iteration efficiency in computeAdjoints by avoiding redundant operations.
    • Implemented joint tape appending for multipliers and slots in a single operation.
    • Removed the overhead of std::fma calls, relying on compiler-level optimisations.
    • Added pre-checks to skip derivative calculations when tape is not required.
    • Provided branch prediction hints using XAD_LIKELY and XAD_UNLIKELY.
    • Introduced a paired operations container variant for improved performance at a slight memory cost, with a XAD_REDUCED_MEMORY CMake option to toggle memory usage.
  • Documentation Updates: Improved and expanded documentation (#125).

  • CMake Module Renaming: Renamed helper modules to avoid name clashes (by @raneamri, #123).

Fixed

  • Move Behaviour of ChunkContainer Fixed move behaviour of ChunkContainer (by @rghouzra, #152)

Contributors

This release is a testament to the hard work and dedication of our contributors.
We extend our heartfelt gratitude to everyone who contributed their time and expertise to achieve these performance advancements.
Below is the list of contributors for this release:

Full Changelog: v1.6.0...v1.7.0

v1.6.0

17 Jul 20:30
cb3d7eb
Compare
Choose a tag to compare

This release mainly adds support for more architectures and compilers and provides higher level derivative functions as well as examples.

Added

  • Support for Mac M1+ architecture (ARM) as well as AppleClang 15 support (by @raneamri #116)
  • High level functions to compute Jacobian and Hessian matrices (by @raneamri #117)

Removed

  • Moved website to its own repository and keeping only the reference manual #112

New Contributors

Full Changelog: v1.5.2...v1.6.0

v1.5.2

04 Apr 12:58
Compare
Choose a tag to compare

What's Changed

This is a patch release after factoring out the Python bindings, to get the versioning consistent with the xad-py repository.

Full Changelog: v1.5.1...v1.5.2

v1.5.1

28 Mar 16:15
Compare
Choose a tag to compare

This is a patch release to allow interoperability with the QuantLib-Risks Python package.

What's Changed

  • Adds static tape functions to control tape activation in #102

Full Changelog: v1.5.0...v1.5.1

v1.5.0

25 Mar 08:30
Compare
Choose a tag to compare

Added

  • Python bindings as xad-autodiff in #98
  • Added std::is_signed trait to StdCompatibility.hpp header for consistency
  • Added application areas to docs & readme in #97
  • Added Natvis file to display XAD types as values in Visual Studio debugger by @dholden3 in #94

Changed

  • Updated Quantlib-XAD build documentation in #96
  • Cleaned up output of Swap Pricer example

New Contributors

Full Changelog: v1.4.1...v1.5.0

v1.4.1

10 Jan 09:44
Compare
Choose a tag to compare

This is a patch release to ensure compatibility with QuantLib 1.33.

Further details are listed below.

Added

  • support for hypot math function

Fixed

  • avoid overflow with complex abs function when real / imaginary parts are large

v1.4.0

09 Jan 15:04
Compare
Choose a tag to compare

This release fixes an issue with complex XAD types, updates documentation, and improves compiler support.

Further details are listed below.

Added

  • Supporting Clang version 16 and added to CI/CD
  • Adding complex arithmetics between complex XAD types and std::complex<double>

Fixed

  • Documentation updates

v1.3.0

16 Aug 15:08
Compare
Choose a tag to compare

This release fixes issues for supporting a wider range of compilers, improves CI/CD, and improves the documentation.

Further details are listed below:

Added

  • Improved CI/CD workflows with better caching and latest compilers

Changed

  • Documentation updates

Fixed

  • Fixed missing include of <memory> in ChunkContainer.hpp

v1.2.0

24 May 10:09
Compare
Choose a tag to compare

This release revamps the documentation site, fixes issues for a wider range of compilers, improves CI/CD, and adds new math functions.

Further details are listed below:

Added

  • More CI/CD workflows for all supported compiler versions
  • Added math function copysign

Changed

  • Revamped documentation site using mkdocs
  • Improved tests and testing infrastructure

Fixed

  • Throw exception when no tape is set on derivative calls
  • Some test errors with GCC versions not previously tested

v1.1.0

17 Nov 15:15
85abf5b
Compare
Choose a tag to compare

This release includes full MacOS support and can be fully integrated with QuantLib.

Further details are listed below:

Added

  • QuantLib integration by means of the qlxad integration module
  • Full MacOS support
  • Better CI pipeline with more platforms and compilers tested
  • Code coverage and quality measured on pull requests and reported in README.md
  • More tests to improve code coverage
  • Status badges in README.md
  • Documentation updates

Changed

  • Code quality improvements
  • Better use of caching in CI/CD pipelines for faster builds