Skip to content

Commit b245235

Browse files
committed
Bump clad version to 2.3
1 parent 7d29924 commit b245235

2 files changed

Lines changed: 14 additions & 71 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.2.0
1+
2.3.0~dev

docs/ReleaseNotes.md

Lines changed: 13 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Introduction
22
============
33

44
This document contains the release notes for the automatic differentiation
5-
plugin for clang Clad, release 2.2. Clad is built on top of
5+
plugin for clang Clad, release 2.3. Clad is built on top of
66
[Clang](http://clang.llvm.org) and [LLVM](http://llvm.org>) compiler
77
infrastructure. Here we describe the status of Clad in some detail, including
88
major improvements from the previous release and new feature work.
@@ -11,7 +11,7 @@ Note that if you are reading this file from a git checkout,
1111
this document applies to the *next* release, not the current one.
1212

1313

14-
What's New in Clad 2.2?
14+
What's New in Clad 2.3?
1515
========================
1616

1717
Some of the major new features and improvements to Clad are listed here. Generic
@@ -22,88 +22,39 @@ External Dependencies
2222
---------------------
2323

2424
* Clad now works with clang-11 to clang-21
25-
* Removed unused coverage libraries for faster CI builds.
26-
* Fixed Python 3.12 linking issue in LLVM 16 installs on macOS.
27-
* macOS ARM CI updated to macOS 26.
2825

2926

3027
Forward Mode & Reverse Mode
3128
---------------------------
32-
33-
* Major internal cleanup and generalization of differentiation pipelines.
34-
* Unified initialization logic for adjoints and original variables.
35-
* Improved compatibility across pointer, tensor, and reference types.
36-
* Added support for conversion operators and `std::reference_wrapper`.
37-
* Enhanced handling of initialization lists, pseudo-destructors, and complex
38-
expressions.
39-
29+
*
4030

4131
Forward Mode
4232
------------
43-
44-
* OpenMP Support (Experimental): Introduced basic OpenMP support for forward
45-
mode differentiation.
46-
* Simplified adjoint and initializer handling for forward-pass variables.
33+
*
4734

4835
Reverse Mode
4936
------------
50-
51-
* Added reverse mode checkpointing for loops, improving memory efficiency in
52-
long iterations.
53-
* Elidable Reverse Passes: Introduced `elidable_reverse_forw` attribute to skip
54-
redundant reverse passes for trivially invertible functions.
55-
* `constructor_reverse_forw` now supports static scheduling and
56-
`elidable_reverse_forw`.
57-
* Added support for `CompoundLiteralExpr` and improved differentiation through
58-
compound expressions.
59-
* Simplified handling of deallocations and memory operations via attributes.
60-
* Improved function differentiation sequence by resolving pullbacks before
61-
argument differentiation.
62-
* Unified differentiation order for pointer and reference types.
63-
* Optimized unary operator simplification (removed redundant &*_d_x patterns).
64-
37+
*
6538

6639
CUDA
6740
----
41+
*
6842

69-
* Extended Thrust differentiation support:
70-
- `thrust::reduce_by_key`
71-
- `thrust::sort_by_key`
72-
- `thrust::adjacent_difference`
73-
- segmented scans and prefix-sum operations
74-
* Added thrust::device_vector support.
75-
* Introduced BoW (Bag-of-Words) logistic regression demo using Thrust.
76-
* Replaced iterator-based std::move with CUDA-safe clad::move.
77-
* Added generic functor support for Thrust transform.
78-
43+
Error Estimation
44+
----------------
45+
*
7946

8047
Misc
8148
----
82-
83-
* Added thread-safe tape access functions:
84-
- Zero overhead in single-threaded mode.
85-
- Controlled locking for multithreaded differentiation.
86-
* Improved handling of ill-formed code by skipping Clad runs when Clang
87-
compilation fails.
88-
* Refined diagnostic messages and simplified deallocation functions through
89-
attribute-based design.
90-
* Updated testing and build infrastructure:
91-
- Added STL test coverage (starting with <cmath>).
92-
- Cleaned up coverage configuration.
93-
- Enhanced CI stability and performance.
49+
*
9450

9551
Fixed Bugs
9652
----------
9753

98-
[679](https://github.com/vgvassilev/clad/issues/679)
99-
[1413](https://github.com/vgvassilev/clad/issues/1413)
100-
[1482](https://github.com/vgvassilev/clad/issues/1482)
101-
[1496](https://github.com/vgvassilev/clad/issues/1496)
102-
[1521](https://github.com/vgvassilev/clad/issues/1521)
103-
[1522](https://github.com/vgvassilev/clad/issues/1522)
54+
[XXX](https://github.com/vgvassilev/clad/issues/XXX)
10455

10556
<!---Get release bugs. Check for close, fix, resolve
106-
git log v2.1..master | grep -i "close" | grep '#' | sed -E 's,.*\#([0-9]*).*,\[\1\]\(https://github.com/vgvassilev/clad/issues/\1\),g' | sort -t'[' -k2,2n
57+
git log v2.2..master | grep -i "close" | grep '#' | sed -E 's,.*\#([0-9]*).*,\[\1\]\(https://github.com/vgvassilev/clad/issues/\1\),g' | sort -t'[' -k2,2n
10758
--->
10859

10960
<!--- https://github.com/vgvassilev/clad/issues?q=is%3Aissue%20state%3Aclosed%20closed%3A%3E2025-10-01 --->
@@ -118,14 +69,6 @@ FirstName LastName (#commits)
11869

11970
A B (N)
12071

121-
Petro Zarytskyi (33; reverse mode, loop checkpointing, elidable reverse passes)
122-
Abdelrhman Elrawy (9; CUDA/Thrust derivatives, demos, logistic regression)
123-
Vassil Vassilev (9; compiler integration, CI, and build infrastructure)
124-
Matthew Barton (2; macOS and Python 3.12 CI fixes)
125-
Aditi Joshi (1; thread-safe tape access implementation)
126-
Max Andriychuk (1; analyses)
127-
Errant (1; OpenMP differentiation support)
128-
12972
<!---Find contributor list for this release
130-
git log --pretty=format:"%an" v2.1...master | sort | uniq -c | sort -rn | sed -E 's,^ *([0-9]+) (.*)$,\2 \(\1\),'
73+
git log --pretty=format:"%an" v2.2...master | sort | uniq -c | sort -rn | sed -E 's,^ *([0-9]+) (.*)$,\2 \(\1\),'
13174
--->

0 commit comments

Comments
 (0)