Closed prbzrg closed 7 months ago
From an autodiff theory perspective it doesn't really make sense, because reverse mode is actually split between forward and reverse sweep, but forward mode only does a forward sweep. In other words, splitting doesn't work or improve performance in forward mode
You can read https://arxiv.org/pdf/2403.14606.pdf#page145 to see the justification of split reverse mode
What would indeed speed up forward mode is batched/chunked derivative evaluation, which is something I plan to implement soon
Thanks for the answer.
I was looking for AbstractDifferentiation.value_and_pushforward_function
equivalent that got to this question.
It would be nice to have a table about the way to migrate from AbstractDifferentiation
to DifferentiationInterface
.
Although most of the APIs are similar.
I was looking for AbstractDifferentiation.value_and_pushforward_function equivalent that got to this question.
In this case you can just use the pushforward
function when you don't need the value
It would be nice to have a table about the way to migrate from AbstractDifferentiation to DifferentiationInterface.
Good point, I have opened an issue to keep track: https://github.com/gdalle/DifferentiationInterface.jl/issues/172
Will there be a
value_and_pushforward_split
?