-
Notifications
You must be signed in to change notification settings - Fork 92
Use _SubexpressionStorage inside _FunctionStorage #2747
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
Conversation
In addition to getting these tests passing, we also need to run |
This is only marginally a net win for lines of code. I'd err towards not merging this as-is. I'm all for cleaning up the |
@@ -297,12 +296,7 @@ Reverse-mode evaluation of an expression tree given in `f`. | |||
* This function assumes `f.partials_storage` is already updated. | |||
* This function assumes that `f.reverse_storage` has been initialized with 0.0. | |||
""" | |||
function _reverse_eval( | |||
# !!! warning |
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.
The fact that we get rid of these warnings is a good sign
I'm not planning much deeper refactoring but I think this one helps a lot in readability and simplifies the logic. |
This broke EAGO because it is accessing the fields of |
Breaking a solver, even if it was using private API, is a reason to close this PR. I really don't think we need to make changes to ReverseAD unless necessary. |
We can overload |
I don't want to complicate things by overloading Perhaps we need to talk in person to understand the motivation for all this work on ReverseAD. I'd strongly prefer that we just left it alone. If you're interested in writing a new AD engine, prototype it in a separate package. We can swap AD backends now, so we don't need to make changes to ReverseAD. |
The motivation is that I'd like to add support for vector AD in |
We can close as it was moved to blegat/ArrayAD.jl#3 |
No description provided.