-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[clad] Bump to v2.1 #19932
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clad] Bump to v2.1 #19932
Conversation
@guitargeek, can you take a look at the failures and interpret them for us? IIUC, there is nothing clad related... |
Test Results 22 files 22 suites 3d 20h 12m 8s ⏱️ Results for commit 122d0d0. ♻️ This comment has been updated with latest results. |
You probably want a clean build because there may be files left over when just changing the |
There are comparison failures with numeric gradients now that fail all over the place, so the current failures seem Clad related. I'll have time to investigate this later in the afternoon after the ROOT meeting. I can create a reproducer and open an issue in Clad a usual. |
Thank you, @guitargeek! cc: @PetroZarytskyi |
I'm checking now Clad |
f6e027b
to
36383bb
Compare
Note that while the ROOT CI will pass now, there is still a regression in Clad |
Ah, okay, thanks for clarifying. |
722d357
to
612cfc8
Compare
Clad 2.1 introduces major advancements in reverse mode differentiation, bringing smarter handling of loops, assignments, and method calls, alongside the new clad::restore_tracker for functions that modify their inputs. Forward mode gains static scheduling for Hessians and higher-order derivatives, while CUDA support expands with custom derivatives for key Thrust algorithms such as reduce, transform, and transform_reduce, plus optimizations that reduce unnecessary GPU atomics. The release also strengthens error estimation, simplifies adjoint initialization, improves tape efficiency, and enhances diagnostics. With a migration to C++17, support extended up to clang-21, and numerous bug fixes, Clad 2.1 delivers faster, safer, and more reliable automatic differentiation across CPU and GPU workflows.
612cfc8
to
122d0d0
Compare
There was a problem hiding this 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!
Clad 2.1 introduces major advancements in reverse mode differentiation, bringing smarter handling of loops, assignments, and method calls, alongside the new clad::restore_tracker for functions that modify their inputs. Forward mode gains static scheduling for Hessians and higher-order derivatives, while CUDA support expands with custom derivatives for key Thrust algorithms such as reduce, transform, and transform_reduce, plus optimizations that reduce unnecessary GPU atomics. The release also strengthens error estimation, simplifies adjoint initialization, improves tape efficiency, and enhances diagnostics. With a migration to C++17, support extended up to clang-21, and numerous bug fixes, Clad 2.1 delivers faster, safer, and more reliable automatic differentiation across CPU and GPU workflows.