-
Notifications
You must be signed in to change notification settings - Fork 18
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
Caching interfaces #41
Comments
Agreed. One complication here is that the end user may construct a backend to pass to some package with no knowledge of which sequence of AD functions are being called within the package. e.g. the package may call A similar complication arose when considering how to support compiled tapes (#29 (comment) and following). |
SparseDiffTools now has a caching interface corresponding to ADTypes.jl https://github.com/JuliaDiff/SparseDiffTools.jl/blob/master/src/highlevel/common.jl |
All packages made for performance (ForwardDiff.jl, FiniteDiff.jl, SparseDiffTools.jl), include some kind of caching interface. For example, instead of
ForwardDiff.jacobian(f,x)
, you should callForwardDiff.jacobian(f,x,config)
.config
,cache
, etc. is all important for storing the cache vectors. So it would be good to extend the interface for allow each backend to have an (optional) config struct, which is just created on demand if not supplied by the user (which is how it's done in those packages anyways).The text was updated successfully, but these errors were encountered: