Skip to content

[clad] Bump clad to version 2.3#21681

Merged
vgvassilev merged 1 commit intoroot-project:masterfrom
vgvassilev:clad-v2.3
Apr 19, 2026
Merged

[clad] Bump clad to version 2.3#21681
vgvassilev merged 1 commit intoroot-project:masterfrom
vgvassilev:clad-v2.3

Conversation

@vgvassilev
Copy link
Copy Markdown
Member

@vgvassilev vgvassilev commented Mar 25, 2026

This release brings substantial improvements across both forward and reverse modes, including expanded custom derivative support, new derivatives for standard library functions like std::beta, std::expint, and std::comp_ellint, and better handling of lambdas and nested differentiation. Reverse mode gains basic OpenMP support, reduced overhead by skipping unnecessary reverse_forw passes when custom pullbacks are available, and important correctness fixes for nested Hessian computations and complex record adjoints. A major highlight is the new dual-mode tape memory system, offering an in-memory RAM-disk backend via mmap with automatic disk offloading, plus hooks for user-defined tape implementations. Error estimation has been unified with reverse mode behind a cleaner function-based interface, CUDA support is stronger thanks to compute-sanitizer integration, and nearly 40 tracked issues have been resolved.

@vgvassilev vgvassilev requested a review from guitargeek March 25, 2026 06:47
@guitargeek guitargeek added the clean build Ask CI to do non-incremental build on PR label Mar 25, 2026
@guitargeek
Copy link
Copy Markdown
Contributor

Adding the clean build tag - incremental builds don't rebuild Clad actually, which is why we only only se the failures on macOS so far. But I see them also locally. I'll open a reproducer on GitHub in a sec

@vgvassilev
Copy link
Copy Markdown
Member Author

Adding the clean build tag - incremental builds don't rebuild Clad actually, which is why we only only se the failures on macOS so far. But I see them also locally. I'll open a reproducer on GitHub in a sec

Looks like things now fail and I bet is the new clad master... Can you help reducing or maybe we have not landed all fixes we were supposed to..

@guitargeek
Copy link
Copy Markdown
Contributor

I opened an issue about the problem: vgvassilev/clad#1799

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 25, 2026

Test Results

    21 files      21 suites   3d 2h 51m 35s ⏱️
 3 830 tests  3 829 ✅  1 💤 0 ❌
73 059 runs  73 041 ✅ 18 💤 0 ❌

Results for commit 53e2727.

♻️ This comment has been updated with latest results.

@guitargeek
Copy link
Copy Markdown
Contributor

Thanks for this! By the way, before releasing a new Clad version, it would be nice to wait until this PR is merged so we can easily test Clad master with that new neural network flow:

@vgvassilev
Copy link
Copy Markdown
Member Author

Thanks for this! By the way, before releasing a new Clad version, it would be nice to wait until this PR is merged so we can easily test Clad master with that new neural network flow:

Ok. Then I am waiting for your green light here once we have it I can release.

@vgvassilev vgvassilev closed this Mar 29, 2026
@vgvassilev vgvassilev reopened this Mar 29, 2026
@guitargeek
Copy link
Copy Markdown
Contributor

The RooFit and SOFIE gradient applications work. But it would be quite nice if the next Clad release would support also some basic RooFit Hessian examples. This is right now blocked by vgvassilev/clad#1804, which is representative for all combined fits because they use this nested function pattern.

But we have not promised the Hessians for CHEP 2026. This is just in the general 2026 plan of work. So up to you @vgvassilev if you want to release now, or if you want to do this only after fixing the Hessians. I'm fine with both, as long as there will be another Clad release planned at the end of the next quarter that we could pick up for working Hessians in ROOT 6.42!

@vgvassilev vgvassilev closed this Apr 17, 2026
@vgvassilev vgvassilev reopened this Apr 17, 2026
This release  brings substantial improvements across both forward and reverse
modes, including expanded custom derivative support, new derivatives for
standard library functions like std::beta, std::expint, and std::comp_ellint,
and better handling of lambdas and nested differentiation. Reverse mode gains
basic OpenMP support, reduced overhead by skipping unnecessary reverse_forw
passes when custom pullbacks are available, and important correctness fixes for
nested Hessian computations and complex record adjoints. A major highlight is
the new dual-mode tape memory system, offering an in-memory RAM-disk backend
via mmap with automatic disk offloading, plus hooks for user-defined tape
implementations. Error estimation has been unified with reverse mode behind a
cleaner function-based interface, CUDA support is stronger thanks to
compute-sanitizer integration, and nearly 40 tracked issues have been resolved.
@vgvassilev vgvassilev changed the title [clad] Test clad master [clad] Bump clad to version 2.3 Apr 19, 2026
@vgvassilev vgvassilev marked this pull request as ready for review April 19, 2026 11:48
@vgvassilev vgvassilev requested a review from bellenot as a code owner April 19, 2026 11:48
Copy link
Copy Markdown
Contributor

@guitargeek guitargeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much! I tested the same commit already before when there was no release yet, so all good for me. Good that the new Clad release made it into ROOT before the 6.40 release!

@vgvassilev
Copy link
Copy Markdown
Member Author

@guitargeek the windows failure seems somehow related…

@guitargeek
Copy link
Copy Markdown
Contributor

It's unrelated and because of recent changes to the ML DataLoader. We have the same errors in the nightlies:
https://github.com/root-project/root/actions/runs/24618331316/job/72003535328

If x64 works fine, I think we're good. I think the x86 Windows also passed last time when we tried Clad master with the same commit.

@vgvassilev
Copy link
Copy Markdown
Member Author

Merging then!

@vgvassilev vgvassilev merged commit 0481b1d into root-project:master Apr 19, 2026
29 of 30 checks passed
@vgvassilev vgvassilev deleted the clad-v2.3 branch April 19, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants