-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enzyme support for TimerOutputs.jl #1480
Comments
ah famous GC segfault. MWE defintely needed, or at least a reproducer |
@ChrisRackauckas can you post a reproducer/MWE here? |
I wasn't able to reproduce the GC segfault, but also am using a different computer for this. But I was able to show that Enzyme errors in the GC, so maybe that's just the newer behavior since I did get a version update between the time that was found and now. using TimerOutputs, Enzyme
const to = TimerOutput()
function f(x::Array{Float64}, y::Array{Float64})
@timeit to "a bit of time" y[1] = x[1] * x[1] + x[2] * x[1]
return nothing
end;
x = [2.0, 2.0]
bx = [0.0, 0.0]
y = [0.0]
by = [1.0];
Enzyme.autodiff(Reverse, f, Duplicated(x, bx), Duplicated(y, by)); That gives:
|
Looking at the message:
it looks indeed like it might be the same thing, just Enzyme got better at not segfaulting. |
No that’s a different issue, I don’t need a MWE to fix it but add an issue
with the log ( it’s just marking that function as inactive).
…On Sun, Jun 16, 2024 at 9:25 AM Christopher Rackauckas < ***@***.***> wrote:
Looking at the message:
ijl_apply_generic at /cache/build/builder-amdci5-1/julialang/julia-release-1-dot-10/src/gf.c:3076
it looks indeed like it might be the same thing, just Enzyme got better at
not segfaulting.
—
Reply to this email directly, view it on GitHub
<#1480 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJTUXDKUHLQX7ZKBN4KXMLZHWG6NAVCNFSM6AAAAABIOJ4DM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZRGY2DKMZTGM>
.
You are receiving this because you commented.Message ID: <EnzymeAD/Enzyme.
***@***.***>
|
@ChrisRackauckas your micro test works on Enzyme main. What is the status of the bigger case? |
I think this solved it. I'll reopen if that test was done wrong. |
Included is the GC segfault I get when a TimerOutputs.jl
@timeit
command is within the Enzyme autodiff:message.txt
I think it's probably best to figure out what to label as inactive in that package as its timing data is inherently global I/O mess, though maybe fixing the GC stuff in that kind of situation is a better long-term solution.
I found this as part of a much larger push for Enzyme compatibility ODINN-SciML/ODINN.jl#151 so I don't have an MWE on hand, though I think if you take a standard autodiff test and add a
@timeit to begin ... end
inside of it you should hit the same thing.The text was updated successfully, but these errors were encountered: