Replies: 1 comment 3 replies
-
The recent manuscript better explains some of https://arxiv.org/abs/1812.01892 . Basically, ForwardDiff.gradient is going to scale better with stiff ODE solvers unless the adjoint is (This is all in the stiff case of course, which acts very different from the non-stiff case) |
Beta Was this translation helpful? Give feedback.
-
Currently, RMS is using
InterpolatingAdjoint(autojacvec=ReverseDiffVJP(false))
for adjoint sensitivity.ReactionMechanismSimulator.jl/src/Simulation.jl
Line 141 in 53fe904
For stiff systems like combustion chemistry, call
ForwardDiff.gradient(fsol, u0)
might be more efficient, something like.https://github.com/DENG-MIT/Arrhenius.jl/blob/99dfd44f78c0c26743087e423e763f54d93d631d/example/pyrolysis.jl#L102
But this is case dependent, and unfortunately,
Arrhenius.jl
doesn't support reverse-mode AD currently, due to mutable array. Therefore, I haven't really benchmarked the forward and reverse mode AD + adjoint yet.@ChrisRackauckas might have better explanations for this point and can suggest what to try.
Beta Was this translation helpful? Give feedback.
All reactions