Skip to content

Commit

Permalink
Prepare for release v1.6.
Browse files Browse the repository at this point in the history
  • Loading branch information
vgvassilev committed Jul 17, 2024
1 parent 0792ff2 commit 3604cc9
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 51 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.6~dev
1.6
99 changes: 49 additions & 50 deletions docs/internalDocs/ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Introduction
============

This document contains the release notes for the automatic differentiation
plugin for clang Clad, release 1.5. Clad is built on top of
plugin for clang Clad, release 1.6. Clad is built on top of
[Clang](http://clang.llvm.org) and [LLVM](http://llvm.org>) compiler
infrastructure. Here we describe the status of Clad in some detail, including
major improvements from the previous release and new feature work.
Expand All @@ -11,7 +11,7 @@ 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.5?
What's New in Clad 1.6?
========================

Some of the major new features and improvements to Clad are listed here. Generic
Expand All @@ -26,52 +26,53 @@ External Dependencies

Forward Mode & Reverse Mode
---------------------------
* Add support for C-style memory alloc and free
* Add support for simple lambda functions


Reverse Mode
Forward Mode
------------
* Replace array_ref with pointers in gradient signature
* Initial support for new and delete operations in reverse mode
* Support condition declarations and assignments
* Enable logical operators in for loops
* Support top level custom derivatives in vector mode
* Add support for assignments in while-loops
* Support for initializer_list
* Support for const_cast
* Add support for `std::string` variables


Error Estimation
----------------
* Only track sizes of independent arrays
* Remove .size() from error estimation
* Simplify error estimation by removing `_EERepl_` and `_delta_`
Reverse Mode
------------
* Improve consistency in the tape usage
* Support pointer reference parameters
* Remove redundant goto/label statements from the generated code

Misc
----
* Teach binder to use the newest available version of clad
* Simplify pullback calls by replacing `_grad`/`_r` pairs with single `_r`
variables
* Delay the differentiation process until the end of TU -- Clad now can operate
just like clang and visit the entire translation unit to construct a precise
differentiation plan
* Remove extra lines generated when using clad::array or array_ref
* Added timings report if `-ftime-report` flag is enabled
* Improved CMake infrastructure via `AddClad.cmake`
* Remove unnecessary clad::array_ref usages
* Add support for computing only the diagonal hessian entries
* Basic support for custom constructor pushforward functions


Fixed Bugs
----------

[248](https://github.com/vgvassilev/clad/issues/248)
[350](https://github.com/vgvassilev/clad/issues/350)
[704](https://github.com/vgvassilev/clad/issues/704)
[715](https://github.com/vgvassilev/clad/issues/715)
[765](https://github.com/vgvassilev/clad/issues/765)
[769](https://github.com/vgvassilev/clad/issues/769)
[790](https://github.com/vgvassilev/clad/issues/790)
[792](https://github.com/vgvassilev/clad/issues/792)
[798](https://github.com/vgvassilev/clad/issues/798)
[805](https://github.com/vgvassilev/clad/issues/805)
[854](https://github.com/vgvassilev/clad/issues/854)
[865](https://github.com/vgvassilev/clad/issues/865)
[867](https://github.com/vgvassilev/clad/issues/867)
[886](https://github.com/vgvassilev/clad/issues/886)
[887](https://github.com/vgvassilev/clad/issues/887)
[890](https://github.com/vgvassilev/clad/issues/890)
[897](https://github.com/vgvassilev/clad/issues/897)
[273](https://github.com/vgvassilev/clad/issues/273)
[352](https://github.com/vgvassilev/clad/issues/352)
[509](https://github.com/vgvassilev/clad/issues/509)
[789](https://github.com/vgvassilev/clad/issues/789)
[874](https://github.com/vgvassilev/clad/issues/874)
[899](https://github.com/vgvassilev/clad/issues/899)
[908](https://github.com/vgvassilev/clad/issues/908)
[911](https://github.com/vgvassilev/clad/issues/911)
[913](https://github.com/vgvassilev/clad/issues/913)
[922](https://github.com/vgvassilev/clad/issues/922)
[927](https://github.com/vgvassilev/clad/issues/927)
[951](https://github.com/vgvassilev/clad/issues/951)
[965](https://github.com/vgvassilev/clad/issues/965)
[972](https://github.com/vgvassilev/clad/issues/972)
[974](https://github.com/vgvassilev/clad/issues/974)
[978](https://github.com/vgvassilev/clad/issues/978)

Special Kudos
=============
Expand All @@ -83,17 +84,15 @@ FirstName LastName (#commits)

A B (N)

petro.zarytskyi (30)
Vaibhav Thakkar (24)
Vassil Vassilev (21)
mcbarton (6)
Mihail Mihov (4)
dependabot[bot] (2)
Atell Krasnopolski (2)
Alexander Penev (2)
sauravUppoor (1)
kchristin22 (1)
Warren Jacinto (1)
Jonas Hahnfeld (1)
Deeptendu Santra (1)
Christina Koutsou (1)
Vaibhav Thakkar (16)
petro.zarytskyi (13)
Vassil Vassilev (13)
Atell Krasnopolski (11)
parth-07 (3)
dependabot[bot] (3)
Rohan Julka (2)
Jonas Rembser (2)
PetroZarytskyi (1)
Maxxxx (1)
Max Andriychuk (1)
Alexander Penev (1)

0 comments on commit 3604cc9

Please sign in to comment.