[clad] Bump clad to version 2.3#21681
Conversation
|
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.. |
|
I opened an issue about the problem: vgvassilev/clad#1799 |
Test Results 21 files 21 suites 3d 2h 51m 35s ⏱️ Results for commit 53e2727. ♻️ This comment has been updated with latest results. |
|
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 |
Ok. Then I am waiting for your green light here once we have it I can release. |
|
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! |
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.
guitargeek
left a comment
There was a problem hiding this comment.
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!
|
@guitargeek the windows failure seems somehow related… |
|
It's unrelated and because of recent changes to the ML DataLoader. We have the same errors in the nightlies: If x64 works fine, I think we're good. I think the x86 Windows also passed last time when we tried Clad |
|
Merging then! |
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.