Clad version 1.4
Introduction
This document contains the release notes for the automatic differentiation plugin for clang Clad, release 1.4. Clad is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Clad in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout, this document applies to the next release, not the current one.
What's New in Clad 1.4?
Some of the major new features and improvements to Clad are listed here. Generic improvements to Clad as a whole or to its underlying infrastructure are described first.
External Dependencies
- Clad now works with clang-7 to clang-17
Forward Mode & Reverse Mode
- Improve handling of char and string literals
Reverse Mode
- Add support for differentiating switch statements
- Supportpassing pointers as call arguments
- Fix pointer arithmetic for array types
Misc
- Support BUILD_SHARED_LIBS=On
Fixed Bugs
Special Kudos
This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
A B (N)
Vassil Vassilev (9)
Vaibhav Thakkar (6)
maximusron (1)
bedupako12mas (1)
Parth (1)
Krishna Narayanan (1)
Aaron Jomy (1)
What's Changed
- Fix for char and string literals as function args by @vaithak in #749
- [cmake] Properly compute the path to gtest. by @vgvassilev in #754
- [cmake] Move away from flat namespaces. by @vgvassilev in #755
- Add support for differentiating switch stmt in the reverse mode AD. by @parth-07 in #339
- [cmake] Clean up flags and treat warnings as errors in the ci. by @vgvassilev in #756
- Fix passing pointers as call arguments by @vaithak in #763
- Fix pointer arithmetic for array types by @vaithak in #764
- [cmake] Make the compilation of gtest parallel by @vgvassilev in #770
- [ci] Schedule the builds with debug clang earlier. by @vgvassilev in #771
- [cmake] Support BUILD_SHARED_LIBS=On flags by @vgvassilev in #775
- [cmake] Kokkos always requires rtti. by @vgvassilev in #776
- Update InstallationAndUsage.rst by @bedupako12mas in #778
- Remove implicit bool conversion check from clang-tidy by @vaithak in #784
- [cmake] Only require git when running benchmarks. by @vgvassilev in #788
- Update docs with dev build and higher order custom derivatives example by @maximusron in #787
- Add support for 32bit CI build by @Krishna-13-cyber in #782
- Add tests supporting higher order custom derivatives by @maximusron in #786
New Contributors
- @bedupako12mas made their first contribution in #778
Full Changelog: v1.3...v1.4