Some AD backends, e.g. ReverseDiff, have a compiled mode which relies on the particular input value provided in the ADgradient call. Since we're currently just checking gradient evaluations for the same input values as the one we use for compilation of the tape, we don't catch issues related to this.
This PR just makes the input values we run benchmarks on part of the kwargs, with the default values differing from the values present in the varinfo we use for compilation.
Some AD backends, e.g. ReverseDiff, have a compiled mode which relies on the particular input value provided in the
ADgradient
call. Since we're currently just checking gradient evaluations for the same input values as the one we use for compilation of the tape, we don't catch issues related to this.This PR just makes the input values we run benchmarks on part of the kwargs, with the default values differing from the values present in the
varinfo
we use for compilation.Related discussion: https://github.com/TuringLang/Turing.jl/issues/2091#issuecomment-1778824039
Example from that discussion is now correctly identified to have issues: