This document contains the release notes for the automatic differentiation plugin for clang Clad, release 1.2. 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.
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.
- Clad now works with clang-5.0 to clang-16
- Add experimental support for forward vector mode.
- Improve support of comma expressions.
- Add pushforwards for
std::floor
andstd::ceil
.
- Fill
clad::array
with 0s when assigned an empty brace-init list. - Improve documentation
- Improve AD function interfaces with bitmasked options. For example:
clad::differentiate<<clad::order::first, clad::opts::vector_mode>(f)
will be equivalent toclad::differentiate<<1, clad::opts::vector_mode>(f)
and will request the first order derivative off
in forward vector mode.
218 395 521 523 541 566 573 582
This release wouldn't have happened without the efforts of our contributors, listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Jonas Hahnfeld (27) Vaibhav Thakkar (18) Ris-Bali (5) Garima Singh (3) Vassil Vassilev (2) Rishabh Bali (2) vidushi (1) petro.zarytskyi (1) daemondzh (1) ShounakDas101 (1) Prajwal S N (1) PetroZarytskyi (1) Daemond (1)