-
Notifications
You must be signed in to change notification settings - Fork 17
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
Add the GTPSA.jl backend #329
Conversation
@mattsignorelli thank you for the contribution! |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #329 +/- ##
===========================================
- Coverage 98.51% 54.75% -43.76%
===========================================
Files 108 103 -5
Lines 4297 4597 +300
===========================================
- Hits 4233 2517 -1716
- Misses 64 2080 +2016
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
…nterface.jl into pr/mattsignorelli/329
Sorry for the delay on this, I've had my hands tied with all different projects. Two weeks ago I pushed major updates/fixes and finishing touches to |
The structure of the tests has changed a little since the last time you checked, can you merge |
@gdalle This should be ready soon.. For HVP, I'm having difficulty understanding the tangents. For example one of the tests gives a 6x6 Hessian matrix but the tangent is a scalar number. Shouldn't the tangent be a vector? |
OK other than I'm having a bit of trouble with |
Actually, I realized I made a mistake in which tests are being run when I made my previous comment. I found the problem |
This is ready for merge now |
thanks, I'll take a look! |
Hi any updates on this? |
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 and sorry for the delay! Here are my remarks.
I don't understand 100% of the code but I'm confident enough in my test suite and in your work, so if the last few comments are addressed, I will happily merge
DifferentiationInterface/ext/DifferentiationInterfaceGTPSAExt/twoarg.jl
Outdated
Show resolved
Hide resolved
DifferentiationInterface/ext/DifferentiationInterfaceGTPSAExt/onearg.jl
Outdated
Show resolved
Hide resolved
DifferentiationInterface/ext/DifferentiationInterfaceGTPSAExt/onearg.jl
Outdated
Show resolved
Hide resolved
DifferentiationInterface/ext/DifferentiationInterfaceGTPSAExt/onearg.jl
Outdated
Show resolved
Hide resolved
DifferentiationInterface/ext/DifferentiationInterfaceGTPSAExt/onearg.jl
Outdated
Show resolved
Hide resolved
Co-authored-by: Guillaume Dalle <[email protected]>
Note that you can commit the changes in a batch instead of one by one, by going to the "Files changed" tab |
OK thank you for your thorough review! The only remaining points to check are:
|
Yeah, I think the link to the GTPSA docs is enough. Btw, I was wondering what the point of
For reverse-mode backends, yes,
Yeah I think you should replace |
GTPSA also allows one to specify differentials for "parameters", and those can be truncated at a different order than for the "variables". The The distinguishing of "variables" and "parameters" is because if you have say a 3rd order map representing the transport of some particle beam through a machine ("variables" are deviations from the reference particle orbit), and then you can optimize certain higher order partial derivatives of this map using "parameters" to just first order.
Ah, I understand now. I'll remove these lines for 100% coverage then
OK! |
This should be ready to go |
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 and congrats on seeing this through!
#316