EnzymeAD/Enzyme.jl

"could not find jl_wait fn to create shadow of jl_enq_work"

Ouverte

#1 959 ouverte le 10 oct. 2024

 (1 commentaire) (0 réaction) (0 personne assignée)Julia (96 forks)batch import
help wanted

Métriques du dépôt

Stars
 (563 étoiles)
Métriques de merge PR
 (Merge moyen 5j 1h) (76 PRs mergées en 30 j)

Description

@boriskaus found this while trying to differentiate through Chmy.jl ( cc: @utkinis )

In particular, this is the put! on a Channel. Enzyme v0.13.8 and Julia 1.10 on MacOS

ERROR: LoadError: Enzyme execution failed.
Enzyme: could not find jl_wait fn to create shadow of jl_enq_work

Stacktrace:
  [1] list_deletefirst!
    @ ./linked_list.jl:95 [inlined]
  [2] #schedule#673
    @ ./task.jl:853 [inlined]
  [3] augmented_julia__schedule_673_15453wrap
    @ ./task.jl:0
  [4] macro expansion
    @ ~/.julia/packages/Enzyme/Vjlrr/src/compiler.jl:8839 [inlined]
  [5] enzyme_call
    @ ~/.julia/packages/Enzyme/Vjlrr/src/compiler.jl:8405 [inlined]
  [6] AdjointThunk
    @ ~/.julia/packages/Enzyme/Vjlrr/src/compiler.jl:8210 [inlined]
  [7] runtime_generic_rev(activity::Type{…}, runtimeActivity::Val{…}, width::Val{…}, ModifiedBetween::Val{…}, tape::Enzyme.Compiler.Tape{…}, f::Base.var"##schedule#673", df::Nothing, primal_1::Bool, shadow_1_1::Nothing, primal_2::typeof(schedule), shadow_2_1::Nothing, primal_3::Task, shadow_3_1::Nothing, primal_4::Chmy.KernelLaunch.var"#14#17"{…}, shadow_4_1::Base.RefValue{…})
    @ Enzyme.Compiler ~/.julia/packages/Enzyme/Vjlrr/src/rules/jitrules.jl:689
  [8] schedule
    @ ./task.jl:849 [inlined]
  [9] put_unbuffered
    @ ./channels.jl:396 [inlined]
 [10] put_unbuffered
    @ ./channels.jl:0 [inlined]
 [11] diffejulia_put_unbuffered_15047_inner_1wrap
    @ ./channels.jl:0
 [12] macro expansion
    @ ~/.julia/packages/Enzyme/Vjlrr/src/compiler.jl:8839 [inlined]
 [13] enzyme_call(::Val{…}, ::Ptr{…}, ::Type{…}, ::Val{…}, ::Val{…}, ::Type{…}, ::Type{…}, ::Const{…}, ::Type{…}, ::Const{…}, ::MixedDuplicated{…}, ::Chmy.KernelLaunch.var"#14#17"{…}, ::@NamedTuple{…})
    @ Enzyme.Compiler ~/.julia/packages/Enzyme/Vjlrr/src/compiler.jl:8405
 [14] (::Enzyme.Compiler.AdjointThunk{Ptr{…}, Const{…}, MixedDuplicated{…}, Tuple{…}, 1, @NamedTuple{…}})(::Const{typeof(Base.put_unbuffered)}, ::Const{Channel{…}}, ::Vararg{Any})
    @ Enzyme.Compiler ~/.julia/packages/Enzyme/Vjlrr/src/compiler.jl:8210
 [15] runtime_generic_rev(activity::Type{…}, runtimeActivity::Val{…}, width::Val{…}, ModifiedBetween::Val{…}, tape::Enzyme.Compiler.Tape{…}, f::typeof(Base.put_unbuffered), df::Nothing, primal_1::Channel{…}, shadow_1_1::Nothing, primal_2::Chmy.KernelLaunch.var"#14#17"{…}, shadow_2_1::Base.RefValue{…})
    @ Enzyme.Compiler ~/.julia/packages/Enzyme/Vjlrr/src/rules/jitrules.jl:682
 [16] put!
    @ ./channels.jl:342 [inlined]
 [17] put!
    @ ~/.julia/packages/Chmy/rFxgg/src/Workers.jl:54 [inlined]
 [18] #13
    @ ~/.julia/packages/Chmy/rFxgg/src/KernelLaunch.jl:147 [inlined]
 [19] ntuple
    @ ./ntuple.jl:49 [inlined]
 [20] #12
    @ ~/.julia/packages/Chmy/rFxgg/src/KernelLaunch.jl:146 [inlined]
 [21] ntuple
    @ ./ntuple.jl:48 [inlined]
 [22] launch_with_bc
    @ ~/.julia/packages/Chmy/rFxgg/src/KernelLaunch.jl:142 [inlined]

Guide contributeur