-
Notifications
You must be signed in to change notification settings - Fork 27
Closed
Labels
backendRelated to one or more autodiff backendsRelated to one or more autodiff backendscoreRelated to the core utilities of the packageRelated to the core utilities of the package
Description
At the moment, DI only supports passing additional arguments if they are Constant, that is, their value is not modified by the function.
We also need to support passing Caches, which can be mutated with active (differentiated) values.
Here's a breakdown of how this can work, backend by backend:
- Finite differences: straightforward, active values are just standard floats
- ForwardDiff: preallocate a corresponding cache with
Dualnumbers, similar to PreallocationTools.jl - Enzyme: mark the caches with
(Batch)Duplicated
Metadata
Metadata
Assignees
Labels
backendRelated to one or more autodiff backendsRelated to one or more autodiff backendscoreRelated to the core utilities of the packageRelated to the core utilities of the package