-
Couldn't load subscription status.
- Fork 79
Closed
Description
julia> using Enzyme
julia> function error_not_within_autodiff()
!Enzyme.within_autodiff() && error("Not within autodiff")
return nothing
end
error_not_within_autodiff (generic function with 1 method)
julia> fwd_within_autodiff(Mode, RT) = Enzyme.autodiff(Mode, error_not_within_autodiff, RT)
fwd_within_autodiff (generic function with 1 method)
julia> error_not_within_autodiff()
ERROR: Not within autodiff
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] error_not_within_autodiff()
@ Main ./REPL[5]:2
[3] top-level scope
@ REPL[7]:1
[4] top-level scope
@ none:1
julia> fwd_within_autodiff(Forward, Const)
()
julia> error_not_within_autodiff()
julia> Enzyme.within_autodiff()
falseI am extremely confused why is the 2nd call not throw an error here. Only happens if I call fwd_within_autodiff in between. cc @wsmoses this is in isolation from Reactant
Originally posted by @avik-pal in EnzymeAD/Reactant.jl#490 (comment)
Metadata
Metadata
Assignees
Labels
No labels