which shows that the rrule is used with no optional RuleConfig argument. This is proving cumbersome for ImplicitDifferentiation.jl, where the rrule needs to call back into AD and thus dispatch on the AD backend (aka RuleConfig).
Would you be open to a PR defining the following config?
using ChainRulesCore: RuleConfig, HasReverseMode, NoForwardsMode
struct MyReverseDiffRuleConfig <: RuleConfig{Union{HasReverseMode,NoForwardsMode}} end
I would need advice on how to add it to the macro though.
The macro
@grad_from_chainrules
contains the following linehttps://github.com/JuliaDiff/ReverseDiff.jl/blob/6c7b9cfbb06cc1e91d36be12746aaeb55e433ff4/src/macros.jl#L338
which shows that the
rrule
is used with no optionalRuleConfig
argument. This is proving cumbersome for ImplicitDifferentiation.jl, where therrule
needs to call back into AD and thus dispatch on the AD backend (akaRuleConfig
).Would you be open to a PR defining the following config?
I would need advice on how to add it to the macro though.
Pinging @mohamed82008