-
Notifications
You must be signed in to change notification settings - Fork 5
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
Refactoring and Cleanup of Interface #84
Conversation
Should we also remove anything related to |
Yes for sure. Most of it should be gone. I just haven't reintegrated all parts of the codebase yet. |
|
Thank you! |
|
Sorry for late reply - I had some local changes on cleaning up the interface of |
CI stucks at testing |
Ok, I'll take a look and see if I can fix it. |
I think I see why - I will fix it now. |
Thank you, Jerry! |
So maybe my last question for @DexuanZhou and @CheukHinHoJerry -- do you need laplacians HERE in P4ML or is it enough for you that you can use P4ML layers with Duals and HyperDuals? |
I think it is enough for us just to make evaluation of |
so we are actually ready to merge this? If you confirm, I'll go ahead with it :) |
Yes please I am happy for this to be merged. |
Everyone - thank you for your feedback and help with this PR. I've now registereed this as |
This is now also registered in General |
The purpose of this PR started as an experiment moving the entire P4ML package over to using Bumper and WithAlloc and removing all usage of ObjectPools. It now includes
My sense now is that the extra cost of allocations in typical ACE models will cost a moderate % of runtime, somewhere between 30-50% typically. This is more than acceptable for prototyping. For fast final models we can then hand-write the chains to get the best possible performance.
I'm unifying and finalizing the pb/pfwd interface while I do this so I can write as much shared code as possible.
TODO
pullback!
andpushforward!
unifiedsecond pullback via ForwardDiffunifiedpushforward implementation via ForwardDiffwithalloc
toPooledSparseProduct
Leave for future PRs
test_***
scripts