Michel Schanen

Results 89 comments of Michel Schanen

Could it be that Enzyme takes decisions based on the code `synchronize(backend::T) where T`? I think in the case of `CUDABackend()` it goes through the `KA.synchronize(::CUDABackend) = CUDA.synchronize()`, whereas `KA.synchronize(::CPU)...

Narrowed it down. ```julia using Enzyme using EnzymeCore using EnzymeCore.EnzymeRules struct MyConst end struct MyConst2 v::Vector{Float64} end MyConst2() = MyConst2(zeros(5)) bar(x::MyConst)::Nothing = nothing function bar(x::MyConst2) x.v .*= 2.0 nothing end...

As per our chat, this should be all resolved and ready to be merged.

I thought users who want to get a gradient using Enzyme.jl might be overwhelmed by the notion of shadow copies etc. In one example, there maybe should only be one...

No worries. This is how we butchered it to use it in `Checkpointing.jl`. @vchuravy I think I'll bring the `heat.jl` example over from `Checkpointing.jl` for some variety. This can be...

I would add `Checkpointing.jl` and make it an example of using Enzyme on a time-dependent model. @swilliamson7 I see your comment here. Would that change be okay with you? Since...

ROCm 6.0 it was on an MI250.

Let's postpone for now until we have our entire stack running.

@JuliaRegistrator register

@JuliaRegistrator register