═════ 31 possible errors found ═════ ┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:48 AbstractDifferentiation.jacobian(Core.tuple(AbstractDifferentiation.lowest(ab), f), xs...) │┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:587 Core.kwfunc(AbstractDifferentiation.mapslices)(Core.apply_type(Core.NamedTuple, (:dims,))(Core.tuple(1)), AbstractDifferentiation.mapslices, #47, Base.getindex(identity_like, 1)) ││┌ @ abstractarray.jl:2749 Base.#mapslices#168(dims, _3, f, A) │││┌ @ abstractarray.jl:2770 r1 = f(Aslice) ││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:588 Core.getfield(#self#, :value_and_pbf)(Core.tuple(cols)) │││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:268 AbstractDifferentiation.pullback_function(Core.tuple(AbstractDifferentiation.lowest(Core.getfield(#self#, :ab)), #26), Core.getfield(#self#, :xs)...) ││││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/ruleconfig.jl:11 ChainRulesCore.rrule_via_ad(Core.tuple(Base.getproperty(ab, :ruleconfig), f), xs...) │││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:243 Zygote.#rrule_via_ad#42(Core.tuple(Base.pairs(Core.NamedTuple()), #self#, config), f_args...) ││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:253 = Zygote._pullback(Core.tuple(Base.getproperty(config, :context)), f_args...) │││││││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:269 Zygote._pullback(ctx, Core.setfield!, Base.getindex(Zygote._pullback(ctx, Zygote.literal_getfield, f, Val{:vs}()), 1), :contents, Base.getindex(Zygote._pullback(ctx, Core._apply_iterate, Base.iterate, Base.getindex(Zygote._pullback(ctx, Zygote.literal_getfield, f, Val{:f}()), 1), Base.identity(args)), 1)) ││││││││││┌ @ /home/guillaume/.julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 ZygoteRules.adjoint(__context__, 503, x, f, val) │││││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/lib/lib.jl:275 g = Zygote.grad_mut(__context__, x) ││││││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/lib/lib.jl:266 Zygote.haskey(ch, x) │││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(haskey), Nothing, Core.Box})): Zygote.haskey(ch::Union{Nothing, IdDict{Any, Any}}, x::Core.Box) ││││││││││││└─────────────────────────────────────────────────────────────────── │││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:268 pb = AbstractDifferentiation.pullback_function(Core.tuple(AbstractDifferentiation.lowest(Core.getfield(#self#, :ab)), #26), Core.getfield(#self#, :xs)...)(ws) ││││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/ruleconfig.jl:13 Core.getfield(#self#, :back)(AbstractDifferentiation.first(vs)) │││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:256 Zygote.zygote2differential(Core.getfield(#self#, :pb)(Zygote.wrap_chainrules_output(Δ)), Core.getfield(#self#, :f_args)) ││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:269 Zygote.map(Zygote.z2d, t, primal) │││││││││┌ @ tuple.jl:250 Base.map(f, Base.tail(t), Base.tail(s)) ││││││││││┌ @ tuple.jl:250 Base.map(f, Base.tail(t), Base.tail(s)) │││││││││││┌ @ tuple.jl:250 Base.getindex(s, 1) ││││││││││││┌ @ tuple.jl:29 Base.getfield(t, i, $(Expr(:boundscheck))) │││││││││││││ invalid builtin function call: Base.getfield(t::Tuple{}, i::Int64, $(Expr(:boundscheck))) ││││││││││││└─────────────── │││┌ @ abstractarray.jl:2802 Base.concatenate_setindex!(Core.tuple(R, r1), ridx...) ││││┌ @ abstractarray.jl:2835 Base.materialize!(Base.dotview(Core.tuple(R), I...), Base.broadcasted(Base.identity, Core.tuple(v))) │││││┌ @ broadcast.jl:1174 Base.Broadcast.materialize!(Base.Broadcast.SubArray(Base.getproperty(B, :parent), Base.Broadcast.to_indices(Base.getproperty(B, :parent), Core.tuple(Base.getproperty(B, :mask)))), bc) ││││││┌ @ broadcast.jl:868 Base.Broadcast.materialize!(Base.Broadcast.combine_styles(dest, bc), dest, bc) │││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/host/broadcast.jl:51 GPUArrays._copyto!(dest, GPUArrays.instantiate(Core.apply_type(GPUArrays.Broadcasted, _)(Base.getproperty(bc, :f), Base.getproperty(bc, :args), GPUArrays.axes(dest)))) ││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/host/broadcast.jl:73 heuristic = Core.kwfunc(GPUArrays.launch_heuristic)(Core.apply_type(Core.NamedTuple, (:elements, :elements_per_thread))(Core.tuple(elements, elements_per_thread)), GPUArrays.launch_heuristic, GPUArrays.backend(dest), broadcast_kernel, dest, bc′, 1) │││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/gpuarrays.jl:17 CUDA.#launch_heuristic#282(Core.tuple(elements, elements_per_thread, _3, _4, f), args...) ││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:99 kernel_f#357 = cudaconvert(f_var#356) │││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:152 CUDA.adapt(CUDA.Adaptor(), arg) ││││││││││││┌ @ /home/guillaume/.julia/packages/Adapt/wASZA/src/Adapt.jl:40 Adapt.adapt_structure(to, x) │││││││││││││┌ @ /home/guillaume/.julia/packages/Adapt/wASZA/src/base.jl:21 ftyp = Core.apply_type(Core.tuple(Base.getproperty(Base.getproperty(_, :name), :wrapper)), sparams, Adapt.map(Base.getproperty(Adapt.Core, :Typeof), fields)...) ││││││││││││││ invalid builtin function call: ftyp = Core.apply_type(Core.tuple(Base.getproperty(Base.getproperty(_::Type{GPUArrays.var"#broadcast_kernel#17"}, :name::Symbol)::Core.TypeName, :wrapper::Symbol)::Type{GPUArrays.var"#broadcast_kernel#17"})::Tuple{DataType}, sparams::Tuple{}, Adapt.map(Base.getproperty(Adapt.Core, :Typeof::Symbol)::typeof(Core.Typeof), fields::Tuple{})::Tuple{}...) │││││││││││││└────────────────────────────────────────────────────────────── ││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:102 kernel#360 = cufunction(kernel_f#357, kernel_tt#359) │││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:291 CUDA.#cufunction#255(CUDA.nothing, Base.pairs(Core.NamedTuple()), #self#, f, tt) ││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:294 = CUDA.CUDACompilerTarget(Base.getproperty(cuda, :device)) │││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:51 CUDA.#CUDACompilerTarget#240(Base.pairs(Core.NamedTuple()), #self#, dev) ││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:51 CUDA.device_properties(dev) │││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:7 props = CUDA.get!(#236, CUDA.__device_properties) ││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/lib/utils/threading.jl:46 CUDA.APIUtils.#get!#6(CUDA.APIUtils.nothing, #self#, constructor, x) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/lib/utils/threading.jl:47 CUDA.APIUtils.initialize!(x, constructor, hook) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/lib/utils/threading.jl:57 constructor() │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:27 goto %38 if not CUDA.<(cap, v"7.0.0") ││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Missing) used in boolean context: goto %38 if not CUDA.<(cap::Any, v"7.0.0")::Union{Missing, Bool} │││││││││││││││││││└───────────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:27 goto %42 if not CUDA.<(CUDA.toolkit_release(), v"11.3.0") ││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Missing) used in boolean context: goto %42 if not CUDA.<(CUDA.toolkit_release()::Any, v"11.3.0")::Union{Missing, Bool} │││││││││││││││││││└───────────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:35 goto %46 if not CUDA.<(cap, v"7.0.0") ││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Missing) used in boolean context: goto %46 if not CUDA.<(cap::Any, v"7.0.0")::Union{Missing, Bool} │││││││││││││││││││└───────────────────────────────────────────────────────────────────────────── ││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:297 GPUCompiler.cached_compilation(cache, job, CUDA.cufunction_compile, CUDA.cufunction_link) │││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/cache.jl:90 asm = compiler(job) ││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:324 GPUCompiler.emit_julia(job) │││││││││││││││┌ @ /home/guillaume/.julia/packages/TimerOutputs/nDhDw/src/TimerOutput.jl:252 GPUCompiler.check_method(job) ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:19 Base.return_types(Base.getproperty(Base.getproperty(job, :source), :f), Base.getproperty(Base.getproperty(job, :source), :tt), interp) │││││││││││││││││┌ @ reflection.jl:1246 ty = Base.getproperty(Core.Compiler, :typeinf_type)(interp, meth, Base.getproperty(match, :spec_types), Base.getproperty(match, :sparams)) ││││││││││││││││││┌ @ compiler/typeinfer.jl:931 Core.Compiler.typeinf(interp, frame, true) │││││││││││││││││││┌ @ compiler/typeinfer.jl:8 Core.Compiler.typeinf(interp, frame) ││││││││││││││││││││┌ @ compiler/typeinfer.jl:209 Core.Compiler._typeinf(interp, frame) │││││││││││││││││││││┌ @ compiler/typeinfer.jl:226 Core.Compiler.typeinf_nocycle(interp, frame) ││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:2026 Core.Compiler.typeinf_local(interp, caller) │││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1828 changes_else = Core.Compiler.conditional_changes(changes_else, Core.Compiler.getproperty(condt, :elsetype), Core.Compiler.getproperty(condt, :var)) ││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1986 Core.Compiler.⊑(Core.Compiler.ignorelimited(typ), Core.Compiler.ignorelimited(oldtyp)) │││││││││││││││││││││││││┌ @ compiler/typelattice.jl:176 Core.Compiler.issubconditional(a, b) ││││││││││││││││││││││││││ for 2 of 4 union split cases, no matching method found for call signatures (Tuple{typeof(Core.Compiler.issubconditional), Core.InterConditional, Core.Compiler.Conditional}, Tuple{typeof(Core.Compiler.issubconditional), Core.Compiler.Conditional, Core.InterConditional})): Core.Compiler.issubconditional(a::Union{Core.Compiler.Conditional, Core.InterConditional}, b::Union{Core.Compiler.Conditional, Core.InterConditional}) │││││││││││││││││││││││││└─────────────────────────────── ││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1988 typ = Core.Compiler.tmerge(typ, Core.Compiler.LimitedAccuracy(Core.Compiler.Bottom, Core.Compiler.getproperty(oldtyp, :causes))) │││││││││││││││││││││││││┌ @ compiler/typelimits.jl:331 Core.Compiler.tmerge(Core.Compiler.getproperty(typea, :typ), Core.Compiler.getproperty(typeb, :typ)) ││││││││││││││││││││││││││┌ @ compiler/typelimits.jl:362 goto %161 if not Core.Compiler.!=(vtype, elsetype) │││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %161 if not Core.Compiler.!=(vtype::Any, elsetype::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││││└────────────────────────────── ││││││││││││││││││││││││││┌ @ compiler/typelimits.jl:391 goto %223 if not Core.Compiler.!=(vtype, elsetype) │││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %223 if not Core.Compiler.!=(vtype::Any, elsetype::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││││└────────────────────────────── │││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1918 t = Core.Compiler.abstract_eval_statement(interp, stmt, changes, frame) ││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1534 callinfo = Core.Compiler.abstract_call(interp, ea, argtypes, sv) │││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1382 #self#(interp, fargs, argtypes, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS)) ││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1397 Core.Compiler.abstract_call_known(interp, f, fargs, argtypes, sv, max_methods) │││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1249 Core.Compiler.abstract_apply(interp, argtypes, sv, max_methods) ││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:937 cti_info = Core.Compiler.precise_container_type(interp, itft, Core.Compiler.unwrapva(ti), sv) │││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:816 Core.Compiler.abstract_iteration(interp, itft, typ, sv) ││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:898 Core.Compiler.abstract_call_known(interp, iteratef, Core.Compiler.nothing, Core.Compiler.getindex(Core.Compiler.Any, Core.Compiler.Const(iteratef), itertype, statetype), sv) │││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1245 #self#(interp, f, fargs, argtypes, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS)) ││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1253 Core.Compiler.abstract_modifyfield!(interp, argtypes, sv) │││││││││││││││││││││││││││││││││┌ @ compiler/tfuncs.jl:965 callinfo = Core.Compiler.abstract_call(interp, Core.Compiler.nothing, Core.Compiler.getindex(Core.Compiler.Any, op, TF, v), sv, 1) ││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1397 Core.Compiler.abstract_call_known(interp, f, fargs, argtypes, sv, max_methods) │││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1298 call = Core.Compiler.abstract_call_gf_by_type(interp, f, fargs, Core.Compiler.getindex(Core.Compiler.Any, Core.Compiler.Const(f), Core.Compiler.Bool), Core.apply_type(Core.Compiler.Tuple, Core.Compiler.typeof(f), Core.Compiler.Bool), sv) ││││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:34 #self#(interp, f, fargs, argtypes, atype, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS)) │││││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:39 Core.Compiler.method_table(interp, sv) ││││││││││││││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/jlgen.jl:229 GPUCompiler.OverlayMethodTable(Base.getproperty(interp, :world), Base.getproperty(interp, :method_table)) │││││││││││││││││││││││││││││││││││││││┌ @ compiler/methodtable.jl:38 Core.Compiler.convert(Core.fieldtype(Core.Compiler.OverlayMethodTable, 2), mt) ││││││││││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Core.Compiler.convert), Type{Core.MethodTable}, Nothing}): Core.Compiler.convert(Core.fieldtype(Core.Compiler.OverlayMethodTable::Type{Core.Compiler.OverlayMethodTable}, 2)::Type{Core.MethodTable}, mt::Nothing) │││││││││││││││││││││││││││││││││││││││└────────────────────────────── │││││││││││││││││││││┌ @ compiler/typeinfer.jl:255 Core.Compiler.optimize(interp, opt, Core.Compiler.OptimizationParams(interp), result_type) ││││││││││││││││││││││┌ @ compiler/optimize.jl:296 ir = Core.Compiler.run_passes(Core.Compiler.getproperty(opt, :src), nargs, opt) │││││││││││││││││││││││┌ @ compiler/optimize.jl:302 ir = Core.Compiler.convert_to_ircode(ci, Core.Compiler.copy_exprargs(Core.Compiler.getproperty(ci, :code)), preserve_coverage, nargs, sv) ││││││││││││││││││││││││┌ @ compiler/optimize.jl:398 Core.Compiler.collect(Core.Compiler.LineInfoNode, Core.Compiler.getproperty(ci, :linetable)) │││││││││││││││││││││││││┌ @ array.jl:584 Core.Compiler._collect(_, itr, Core.Compiler.IteratorSize(itr)) ││││││││││││││││││││││││││┌ @ array.jl:586 Core.Compiler._array_for(_, isz, Core.Compiler._similar_shape(itr, isz)) │││││││││││││││││││││││││││┌ @ array.jl:616 Core.Compiler._similar_shape(itr, isz) ││││││││││││││││││││││││││││┌ @ array.jl:601 Core.Compiler.axes(itr) │││││││││││││││││││││││││││││┌ @ abstractarray.jl:95 Core.Compiler.size(A) ││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Core.Compiler.size), Core.Compiler.HasLength}): Core.Compiler.size(A::Core.Compiler.HasLength) │││││││││││││││││││││││││││││└─────────────────────── ││││││││││││││││││││││││││││┌ @ array.jl:600 Core.Compiler.length(itr) │││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Core.Compiler.length), Core.Compiler.HasLength}): Core.Compiler.length(itr::Core.Compiler.HasLength) ││││││││││││││││││││││││││││└──────────────── │││││││││││││││││││││││┌ @ compiler/optimize.jl:303 ir = Core.Compiler.slot2reg(ir, ci, nargs, sv) ││││││││││││││││││││││││┌ @ compiler/optimize.jl:419 ir = Core.Compiler.construct_ssa!(ci, ir, domtree, defuse_insts, nargs, Core.Compiler.getproperty(sv, :slottypes)) │││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:689 Core.Compiler.rename_uses!(ir, ci, Core.Compiler.Int(edge), Core.Compiler.getindex(Core.Compiler.getproperty(stmt, :values), edgeidx), incoming_vals) ││││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:173 Core.Compiler.fixemup!(#345, #346, ir, ci, idx, stmt) │││││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:111 Core.Compiler.fixup_slot!(ir, ci, idx, Core.Compiler.slot_id(stmt), stmt, rename(stmt)) ││││││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:98 Core.Compiler.insert_node!(ir, idx, Core.Compiler.NewInstruction(Core.Compiler.Expr(:undefcheck, Core.Compiler.getindex(Core.Compiler.getproperty(ci, :slotnames), slot), ssa), Core.Compiler.Any)) │││││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:524 #self#(ir, pos, inst, false) ││││││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:528 Core.Compiler.stmt_effect_free(Core.Compiler.getproperty(inst, :stmt), Core.Compiler.getproperty(inst, :type), ir, Core.Compiler.getproperty(ir, :sptypes)) │││││││││││││││││││││││││││││││┌ @ compiler/ssair/queries.jl:36 Core.Compiler._builtin_nothrow(f, Core.Compiler._array_for(Core.Compiler.Any, Core.Compiler.:(2, Core.Compiler.length(ea)), Core.Compiler.IteratorSize(Core.Compiler.:(2, Core.Compiler.length(ea)))), rt) ││││││││││││││││││││││││││││││││┌ @ compiler/tfuncs.jl:1551 Core.Compiler.array_builtin_common_nothrow(argtypes, 3) │││││││││││││││││││││││││││││││││┌ @ compiler/tfuncs.jl:1532 goto %50 if not Core.Compiler.!(Core.Compiler.getproperty(Core.Compiler.getindex(argtypes, 1), :val)) ││││││││││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %50 if not Core.Compiler.!(Core.Compiler.getproperty(Core.Compiler.getindex(argtypes::Vector{Any}, 1)::Any, :val::Symbol)::Any)::Union{Bool, Core.Compiler.var"#84#85"} │││││││││││││││││││││││││││││││││└─────────────────────────── │││││││││││││││││││││││┌ @ compiler/optimize.jl:306 ir = Core.Compiler.compact!(ir) ││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1441 #self#(code, false) │││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1443 = Core.Compiler.iterate(compact) ││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1237 #self#(compact, Core.tuple(Core.Compiler.getproperty(compact, :idx), 1)) │││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1181 result_idx = Core.Compiler.process_node!(compact, old_result_idx, node, new_idx, Core.Compiler.-(idx, 1), active_bb, do_rename_ssa) ││││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1099 goto %277 if not Core.Compiler.!(before_def) │││││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %277 if not Core.Compiler.!(before_def::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││││││└───────────────────────────── │││││││││││││││││││││││┌ @ compiler/optimize.jl:316 ir = Core.Compiler.type_lift_pass!(ir) ││││││││││││││││││││││││┌ @ compiler/ssair/passes.jl:1013 goto %201 if not Core.Compiler.!(Core.Compiler.isassigned(Core.Compiler.getproperty(def, :values), i)) │││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %201 if not Core.Compiler.!(Core.Compiler.isassigned(Core.Compiler.getproperty(def::Any, :values::Symbol)::Any, i::Any)::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││└───────────────────────────────── ││││││││││││││││││││││┌ @ compiler/optimize.jl:297 Core.Compiler.finish(interp, opt, params, ir, result) │││││││││││││││││││││││┌ @ compiler/optimize.jl:286 Core.Compiler.isinlineable(def, opt, params, union_penalties, bonus) ││││││││││││││││││││││││┌ @ compiler/optimize.jl:177 inlineable = Core.Compiler.inline_worthy(Core.Compiler.getproperty(me, :ir), params, union_penalties, Core.Compiler.+(cost_threshold, bonus)) │││││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(Core.Compiler.inline_worthy), Nothing, Core.Compiler.OptimizationParams, Bool, Int64})): inlineable = Core.Compiler.inline_worthy(Core.Compiler.getproperty(me::Core.Compiler.OptimizationState, :ir::Symbol)::Union{Nothing, Core.Compiler.IRCode}, params::Core.Compiler.OptimizationParams, union_penalties::Bool, Core.Compiler.+(cost_threshold::Int64, bonus::Int64)::Int64) ││││││││││││││││││││││││└──────────────────────────── ││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:325 GPUCompiler.emit_llvm(job, mi) │││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:62 GPUCompiler.#emit_llvm#110(true, true, true, false, #self#, job, method_instance) ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:149 GPUCompiler.irgen(job, method_instance) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:57 GPUCompiler.process_entry!(job, mod, Core.getfield(entry, :contents)) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/ptx.jl:119 entry = GPUCompiler.invoke(GPUCompiler.process_entry!, Core.apply_type(GPUCompiler.Tuple, GPUCompiler.CompilerJob, LLVM.Module, LLVM.Function), job, mod, entry) │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/interface.jl:185 args = GPUCompiler.classify_arguments(job, GPUCompiler.eltype(GPUCompiler.llvmtype(entry))) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:299 GPUCompiler.isghosttype(source_typ) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/context.jl:20 ctx = LLVM.Context() ││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/context.jl:13 LLVM._install_handlers(ctx) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/context.jl:93 callback = $(Expr(:cfunction, Ptr{Nothing}, :($(QuoteNode(LLVM.yield_callback))), Nothing, svec(LLVM.Context, Ptr{Nothing}), :(:ccall))) ││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(LLVM.yield_callback), LLVM.Context, Ptr{Nothing}}): callback = $(Expr(:cfunction, Ptr{Nothing}, :($(QuoteNode(LLVM.yield_callback))), Nothing, svec(LLVM.Context, Ptr{Nothing}), :(:ccall))) │││││││││││││││││││││││└───────────────────────────────────────────────────────────────────── ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:158 runtime = Core.kwfunc(GPUCompiler.load_runtime)(Core.apply_type(Core.NamedTuple, (:ctx,))(Core.tuple(Core.getfield(ctx, :contents))), GPUCompiler.load_runtime, job) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:62 GPUCompiler.#load_runtime#91(ctx, _3, job) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:64 = GPUCompiler.lock(#92, GPUCompiler.runtime_lock) │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:149 GPUCompiler.irgen(job, method_instance) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/TimerOutputs/nDhDw/src/TimerOutput.jl:252 = GPUCompiler.compile_method_instance(job, method_instance) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/jlgen.jl:350 GPUCompiler.Cint(debug_info_kind) ││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{Type{Int32}, Nothing})): GPUCompiler.Cint(debug_info_kind::Union{Nothing, LLVM.API.LLVMDebugEmissionKind}) │││││││││││││││││││││└────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:253 GPUCompiler.InternalCompilerError(job, "isempty(uses(dyn_marker)), at /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:253") ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/error.jl:29 $(QuoteNode(GPUCompiler.var"#InternalCompilerError#7#8"()))(Base.pairs(Core.NamedTuple()), #self#, job, message) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/error.jl:29 Base.convert(Core.fieldtype(GPUCompiler.InternalCompilerError, 3), kwargs) ││││││││││││││││││││││┌ @ abstractdict.jl:525 h = _(x) │││││││││││││││││││││││┌ @ dict.jl:129 Base.dict_with_eltype(#317, kv, Base.eltype(kv)) ││││││││││││││││││││││││┌ @ abstractdict.jl:537 DT_apply(_, _)(kv) │││││││││││││││││││││││││┌ @ dict.jl:102 Base.sizehint!(h, Core.typeassert(Base.Int(Base.length(kv)), Base.Int)) ││││││││││││││││││││││││││┌ @ dict.jl:244 Base.rehash!(d, newsz) │││││││││││││││││││││││││││┌ @ dict.jl:202 v = Base.getindex(oldv, i) ││││││││││││││││││││││││││││┌ @ array.jl:861 Base.arrayref($(Expr(:boundscheck)), A, i1) │││││││││││││││││││││││││││││ invalid builtin function call: Base.arrayref($(Expr(:boundscheck)), A::Vector{Union{}}, i1::Int64) ││││││││││││││││││││││││││││└──────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:49 GPUCompiler.emit_julia(job) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:98 meth = Base.func_for_method_checked(meth, ti, env) │││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(Base.func_for_method_checked), Module, Any, Any})): meth = Base.func_for_method_checked::typeof(Base.func_for_method_checked)(meth::Union{Method, Module}, ti::Any, env::Any) ││││││││││││││││││││└────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:78 Core.kwfunc(GPUCompiler.emit_asm)(Core.apply_type(Core.NamedTuple, (:strip, :validate, :format))(Core.tuple(strip, validate, format)), GPUCompiler.emit_asm, job, ir) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:62 GPUCompiler.#emit_asm#137(strip, validate, format, _3, job, ir) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:327 GPUCompiler.check_ir(job, ir) ││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:116 errors = GPUCompiler.check_ir!(Core.tuple(job, Base.getindex(GPUCompiler.IRError)), args...) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:127 GPUCompiler.check_ir!(job, errors, f) ││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:134 GPUCompiler.blocks(f) │││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/function.jl:125 LLVM.FunctionBlockSet(f) ││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/function.jl:122 Base.convert(Core.fieldtype(LLVM.FunctionBlockSet, 2), Base.getindex(LLVM.BasicBlock)) │││││││││││││││││││││││││││┌ @ array.jl:554 _(a) ││││││││││││││││││││││││││││┌ @ array.jl:563 Base.copyto_axcheck!(Core.apply_type(Base.Array, _, _)(Base.undef, Base.size(x)), x) │││││││││││││││││││││││││││││┌ @ abstractarray.jl:1104 Base.copyto!(dest, src) ││││││││││││││││││││││││││││││┌ @ array.jl:343 Base.copyto!(dest, 1, src, 1, Base.length(src)) │││││││││││││││││││││││││││││││┌ @ array.jl:317 Base._copyto_impl!(dest, doffs, src, soffs, n) ││││││││││││││││││││││││││││││││┌ @ array.jl:331 Base.unsafe_copyto!(dest, doffs, src, soffs, n) │││││││││││││││││││││││││││││││││┌ @ array.jl:307 Base._unsafe_copyto!(dest, doffs, src, soffs, n) ││││││││││││││││││││││││││││││││││┌ @ array.jl:253 Base.setindex!(dest, Base.getindex(src, Base.-(Base.+(soffs, i), 1)), Base.-(Base.+(doffs, i), 1)) │││││││││││││││││││││││││││││││││││┌ @ array.jl:903 Base.convert(_, x) ││││││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(convert), Type{Ptr{LLVM.API.LLVMOpaqueValue}}, LLVM.BasicBlock}): Base.convert(_::Type{Ptr{LLVM.API.LLVMOpaqueValue}}, x::LLVM.BasicBlock) │││││││││││││││││││││││││││││││││││└──────────────── ││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:136 GPUCompiler.check_ir!(job, errors, inst) │││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:146 bt = GPUCompiler.backtrace(inst) ││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:9 #self#(inst, Base.getindex(Base.StackTraces.StackFrame)) │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:37 GPUCompiler.filter!(#102, callers) ││││││││││││││││││││││││││││┌ @ array.jl:2529 f(ai) │││││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:39 GPUCompiler.haskey(md, LLVM.MD_dbg) ││││││││││││││││││││││││││││││┌ @ abstractdict.jl:17 Base.in(k, Base.keys(d)) │││││││││││││││││││││││││││││││┌ @ abstractdict.jl:69 Base.get(Base.getproperty(v, :dict), k, Base.secret_table_token) ││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(get), LLVM.ModuleMetadataIterator, LLVM.MD, Symbol}): Base.get(Base.getproperty(v::Base.KeySet{String, LLVM.ModuleMetadataIterator}, :dict::Symbol)::LLVM.ModuleMetadataIterator, k::LLVM.MD, Base.secret_table_token) │││││││││││││││││││││││││││││││└────────────────────── │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:43 call_sites = GPUCompiler.unique(#103, callers) ││││││││││││││││││││││││││││┌ @ set.jl:191 Base.#unique#326(Base.nothing, #self#, f, C) │││││││││││││││││││││││││││││┌ @ set.jl:208 y = f(x) ││││││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:46 Base.getindex(md, LLVM.MD_dbg) │││││││││││││││││││││││││││││││┌ @ abstractdict.jl:497 v = Base.get(t, key, Base.secret_table_token) ││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(get), LLVM.ModuleMetadataIterator, LLVM.MD, Symbol}): v = Base.get(t::LLVM.ModuleMetadataIterator, key::LLVM.MD, Base.secret_table_token) │││││││││││││││││││││││││││││││└─────────────────────── │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:33 f = LLVM.parent(LLVM.parent(inst)) ││││││││││││││││││││││││││││ for 1 of 3 union split cases, no matching method found for call signatures (Tuple{typeof(LLVM.parent), LLVM.Module})): f = LLVM.parent::typeof(LLVM.parent)(LLVM.parent::typeof(LLVM.parent)(inst::Any)::Union{LLVM.BasicBlock, LLVM.Function, LLVM.Module}) │││││││││││││││││││││││││││└───────────────────────────────────────────────────────────────────── │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:35 GPUCompiler.uses(f) ││││││││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(LLVM.uses), LLVM.Module})): GPUCompiler.uses(f::Union{LLVM.Function, LLVM.Module}) │││││││││││││││││││││││││││└───────────────────────────────────────────────────────────────────── │││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:197 Base.setindex!(GPUCompiler.libjulia, Base.getproperty(GPUCompiler.Libdl, :dlopen)(GPUCompiler.first(paths))) ││││││││││││││││││││││││││┌ @ refvalue.jl:57 Base.setproperty!(b, :x, x) │││││││││││││││││││││││││││┌ @ Base.jl:43 Base.convert(Base.fieldtype(Base.typeof(x), f), v) ││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(convert), Type{Ptr{Nothing}}, Nothing}): Base.convert(Base.fieldtype(Base.typeof(x::Base.RefValue{Ptr{Nothing}})::Type{Base.RefValue{Ptr{Nothing}}}, f::Symbol)::Type{Ptr{Nothing}}, v::Nothing) │││││││││││││││││││││││││││└────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/rtlib.jl:144 cachedirs = Base.collect(Base.Generator(#93, GPUCompiler.DEPOT_PATH)) ││││││││││││││││││││┌ @ array.jl:724 y = Base.iterate(itr) │││││││││││││││││││││┌ @ generator.jl:47 Base.getproperty(g, :f)(Base.getindex(y, 1)) ││││││││││││││││││││││┌ @ none:0 GPUCompiler.cachedir(depot) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/rtlib.jl:24 Base.cache_file_entry(Base.PkgId(GPUCompiler.GPUCompiler)) ││││││││││││││││││││││││┌ @ loading.jl:718 = Base.package_slug(Base.getproperty(pkg, :uuid)) │││││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(Base.package_slug), Nothing})): = Base.package_slug(Base.getproperty(pkg::Base.PkgId, :uuid::Symbol)::Union{Nothing, Base.UUID}) ││││││││││││││││││││││││└────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:231 Base.getproperty(dyn_meta, :compiled) ││││││││││││││││││││┌ @ Base.jl:42 Base.getfield(x, f) │││││││││││││││││││││ type Tuple{} has no field compiled ││││││││││││││││││││└────────────── ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:193 entry = GPUCompiler.finish_module!(job, Core.getfield(ir, :contents), entry) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/ptx.jl:187 entry = GPUCompiler.lower_byval(job, mod, entry) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:459 GPUCompiler.Builder(#60, ctx) │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/irbuilder.jl:19 LLVM.#Builder#63(Core.tuple(Base.pairs(Core.NamedTuple()), #self#, f), args...) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/irbuilder.jl:21 = f(builder) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:476 = Base.iterate(GPUCompiler.enumerate(GPUCompiler.parameters(Core.getfield(#self#, :ft))), Core.getfield(_4, 2)) ││││││││││││││││││││││┌ @ iterators.jl:159 n = Base.Iterators.iterate(Core.tuple(Base.getproperty(e, :itr)), rest...) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/function.jl:102 LLVM.Argument(state) ││││││││││││││││││││││││ no matching method found for call signature (Tuple{Type{LLVM.Argument}, Int64}): LLVM.Argument(state::Int64) │││││││││││││││││││││││└─────────────────────────────────────────────────────────────────────── ││││││││││││││││││││││┌ @ iterators.jl:159 n = Base.Iterators.iterate(Core.tuple(Base.getproperty(e, :itr)), rest...) │││││││││││││││││││││││┌ @ array.jl:835 Base.%(i, Base.UInt) ││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(rem), Ptr{LLVM.API.LLVMOpaqueValue}, Type{UInt64}}): Base.%(i::Ptr{LLVM.API.LLVMOpaqueValue}, Base.UInt) │││││││││││││││││││││││└──────────────── ││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/host/broadcast.jl:77 Core.kwfunc(GPUArrays.gpu_call)(Core.apply_type(Core.NamedTuple, (:threads, :blocks))(Core.tuple(Base.getproperty(config, :threads), Base.getproperty(config, :blocks))), GPUArrays.gpu_call, broadcast_kernel, dest, bc′, Base.getproperty(config, :elements_per_thread)) │││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:48 GPUArrays.#gpu_call#1(Core.tuple(target, elements, threads, blocks, name, _3, kernel), args...) ││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:76 Core.kwfunc(GPUArrays.gpu_call)(Core.apply_type(Core.NamedTuple, (:name,))(Core.tuple(name)), GPUArrays.gpu_call, GPUArrays.backend(target), kernel, args, threads, blocks) │││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:48 GPUArrays.#gpu_call#1(Core.tuple(target, elements, threads, blocks, name, _3, kernel), args...) ││││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:72 Core.kwfunc(GPUArrays.gpu_call)(Core.apply_type(Core.NamedTuple, (:name,))(Core.tuple(name)), GPUArrays.gpu_call, GPUArrays.backend(target), kernel, args, Base.getproperty(config, :threads), Base.getproperty(config, :blocks)) │││││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:75 GPUArrays.>(blocks, 0) ││││││││││││││┌ @ operators.jl:378 Base.<(y, x) │││││││││││││││┌ @ operators.jl:352 Base.isless(x, y) ││││││││││││││││ no matching method found for call signature (Tuple{typeof(isless), Int64, Nothing}): Base.isless(x::Int64, y::Nothing) │││││││││││││││└──────────────────── julia> using AbstractDifferentiation, JET, Zygote julia> f(x) = sum(abs2, x) f (generic function with 1 method) julia> x = rand(100); julia> ab = AD.ZygoteBackend() AbstractDifferentiation.ReverseRuleConfigBackend{Zygote.ZygoteRuleConfig{Zygote.Context}}(Zygote.ZygoteRuleConfig{Zygote.Context}(Zygote.Context(nothing))) julia> @report_call vscode_console_output=stdout Zygote.gradient(f, x) No errors detected julia> @report_call vscode_console_output=stdout AD.gradient(ab, f, x) ═════ 31 possible errors found ═════ ┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:48 AbstractDifferentiation.jacobian(Core.tuple(AbstractDifferentiation.lowest(ab), f), xs...) │┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:587 Core.kwfunc(AbstractDifferentiation.mapslices)(Core.apply_type(Core.NamedTuple, (:dims,))(Core.tuple(1)), AbstractDifferentiation.mapslices, #47, Base.getindex(identity_like, 1)) ││┌ @ abstractarray.jl:2749 Base.#mapslices#168(dims, _3, f, A) │││┌ @ abstractarray.jl:2770 r1 = f(Aslice) ││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:588 Core.getfield(#self#, :value_and_pbf)(Core.tuple(cols)) │││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:268 AbstractDifferentiation.pullback_function(Core.tuple(AbstractDifferentiation.lowest(Core.getfield(#self#, :ab)), #26), Core.getfield(#self#, :xs)...) ││││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/ruleconfig.jl:11 ChainRulesCore.rrule_via_ad(Core.tuple(Base.getproperty(ab, :ruleconfig), f), xs...) │││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:243 Zygote.#rrule_via_ad#42(Core.tuple(Base.pairs(Core.NamedTuple()), #self#, config), f_args...) ││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:253 = Zygote._pullback(Core.tuple(Base.getproperty(config, :context)), f_args...) │││││││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:269 Zygote._pullback(ctx, Core.setfield!, Base.getindex(Zygote._pullback(ctx, Zygote.literal_getfield, f, Val{:vs}()), 1), :contents, Base.getindex(Zygote._pullback(ctx, Core._apply_iterate, Base.iterate, Base.getindex(Zygote._pullback(ctx, Zygote.literal_getfield, f, Val{:f}()), 1), Base.identity(args)), 1)) ││││││││││┌ @ /home/guillaume/.julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:65 ZygoteRules.adjoint(__context__, 503, x, f, val) │││││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/lib/lib.jl:275 g = Zygote.grad_mut(__context__, x) ││││││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/lib/lib.jl:266 Zygote.haskey(ch, x) │││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(haskey), Nothing, Core.Box})): Zygote.haskey(ch::Union{Nothing, IdDict{Any, Any}}, x::Core.Box) ││││││││││││└─────────────────────────────────────────────────────────────────── │││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/AbstractDifferentiation.jl:268 pb = AbstractDifferentiation.pullback_function(Core.tuple(AbstractDifferentiation.lowest(Core.getfield(#self#, :ab)), #26), Core.getfield(#self#, :xs)...)(ws) ││││││┌ @ /home/guillaume/.julia/packages/AbstractDifferentiation/vmzhh/src/ruleconfig.jl:13 Core.getfield(#self#, :back)(AbstractDifferentiation.first(vs)) │││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:256 Zygote.zygote2differential(Core.getfield(#self#, :pb)(Zygote.wrap_chainrules_output(Δ)), Core.getfield(#self#, :f_args)) ││││││││┌ @ /home/guillaume/.julia/packages/Zygote/H6vD3/src/compiler/chainrules.jl:269 Zygote.map(Zygote.z2d, t, primal) │││││││││┌ @ tuple.jl:250 Base.map(f, Base.tail(t), Base.tail(s)) ││││││││││┌ @ tuple.jl:250 Base.map(f, Base.tail(t), Base.tail(s)) │││││││││││┌ @ tuple.jl:250 Base.getindex(s, 1) ││││││││││││┌ @ tuple.jl:29 Base.getfield(t, i, $(Expr(:boundscheck))) │││││││││││││ invalid builtin function call: Base.getfield(t::Tuple{}, i::Int64, $(Expr(:boundscheck))) ││││││││││││└─────────────── │││┌ @ abstractarray.jl:2802 Base.concatenate_setindex!(Core.tuple(R, r1), ridx...) ││││┌ @ abstractarray.jl:2835 Base.materialize!(Base.dotview(Core.tuple(R), I...), Base.broadcasted(Base.identity, Core.tuple(v))) │││││┌ @ broadcast.jl:1174 Base.Broadcast.materialize!(Base.Broadcast.SubArray(Base.getproperty(B, :parent), Base.Broadcast.to_indices(Base.getproperty(B, :parent), Core.tuple(Base.getproperty(B, :mask)))), bc) ││││││┌ @ broadcast.jl:868 Base.Broadcast.materialize!(Base.Broadcast.combine_styles(dest, bc), dest, bc) │││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/host/broadcast.jl:51 GPUArrays._copyto!(dest, GPUArrays.instantiate(Core.apply_type(GPUArrays.Broadcasted, _)(Base.getproperty(bc, :f), Base.getproperty(bc, :args), GPUArrays.axes(dest)))) ││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/host/broadcast.jl:73 heuristic = Core.kwfunc(GPUArrays.launch_heuristic)(Core.apply_type(Core.NamedTuple, (:elements, :elements_per_thread))(Core.tuple(elements, elements_per_thread)), GPUArrays.launch_heuristic, GPUArrays.backend(dest), broadcast_kernel, dest, bc′, 1) │││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/gpuarrays.jl:17 CUDA.#launch_heuristic#282(Core.tuple(elements, elements_per_thread, _3, _4, f), args...) ││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:99 kernel_f#357 = cudaconvert(f_var#356) │││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:152 CUDA.adapt(CUDA.Adaptor(), arg) ││││││││││││┌ @ /home/guillaume/.julia/packages/Adapt/wASZA/src/Adapt.jl:40 Adapt.adapt_structure(to, x) │││││││││││││┌ @ /home/guillaume/.julia/packages/Adapt/wASZA/src/base.jl:21 ftyp = Core.apply_type(Core.tuple(Base.getproperty(Base.getproperty(_, :name), :wrapper)), sparams, Adapt.map(Base.getproperty(Adapt.Core, :Typeof), fields)...) ││││││││││││││ invalid builtin function call: ftyp = Core.apply_type(Core.tuple(Base.getproperty(Base.getproperty(_::Type{GPUArrays.var"#broadcast_kernel#17"}, :name::Symbol)::Core.TypeName, :wrapper::Symbol)::Type{GPUArrays.var"#broadcast_kernel#17"})::Tuple{DataType}, sparams::Tuple{}, Adapt.map(Base.getproperty(Adapt.Core, :Typeof::Symbol)::typeof(Core.Typeof), fields::Tuple{})::Tuple{}...) │││││││││││││└────────────────────────────────────────────────────────────── ││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:102 kernel#360 = cufunction(kernel_f#357, kernel_tt#359) │││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:291 CUDA.#cufunction#255(CUDA.nothing, Base.pairs(Core.NamedTuple()), #self#, f, tt) ││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:294 = CUDA.CUDACompilerTarget(Base.getproperty(cuda, :device)) │││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:51 CUDA.#CUDACompilerTarget#240(Base.pairs(Core.NamedTuple()), #self#, dev) ││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:51 CUDA.device_properties(dev) │││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:7 props = CUDA.get!(#236, CUDA.__device_properties) ││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/lib/utils/threading.jl:46 CUDA.APIUtils.#get!#6(CUDA.APIUtils.nothing, #self#, constructor, x) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/lib/utils/threading.jl:47 CUDA.APIUtils.initialize!(x, constructor, hook) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/lib/utils/threading.jl:57 constructor() │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:27 goto %38 if not CUDA.<(cap, v"7.0.0") ││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Missing) used in boolean context: goto %38 if not CUDA.<(cap::Any, v"7.0.0")::Union{Missing, Bool} │││││││││││││││││││└───────────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:27 goto %42 if not CUDA.<(CUDA.toolkit_release(), v"11.3.0") ││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Missing) used in boolean context: goto %42 if not CUDA.<(CUDA.toolkit_release()::Any, v"11.3.0")::Union{Missing, Bool} │││││││││││││││││││└───────────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/gpucompiler.jl:35 goto %46 if not CUDA.<(cap, v"7.0.0") ││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Missing) used in boolean context: goto %46 if not CUDA.<(cap::Any, v"7.0.0")::Union{Missing, Bool} │││││││││││││││││││└───────────────────────────────────────────────────────────────────────────── ││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:297 GPUCompiler.cached_compilation(cache, job, CUDA.cufunction_compile, CUDA.cufunction_link) │││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/cache.jl:90 asm = compiler(job) ││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:324 GPUCompiler.emit_julia(job) │││││││││││││││┌ @ /home/guillaume/.julia/packages/TimerOutputs/nDhDw/src/TimerOutput.jl:252 GPUCompiler.check_method(job) ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:19 Base.return_types(Base.getproperty(Base.getproperty(job, :source), :f), Base.getproperty(Base.getproperty(job, :source), :tt), interp) │││││││││││││││││┌ @ reflection.jl:1246 ty = Base.getproperty(Core.Compiler, :typeinf_type)(interp, meth, Base.getproperty(match, :spec_types), Base.getproperty(match, :sparams)) ││││││││││││││││││┌ @ compiler/typeinfer.jl:931 Core.Compiler.typeinf(interp, frame, true) │││││││││││││││││││┌ @ compiler/typeinfer.jl:8 Core.Compiler.typeinf(interp, frame) ││││││││││││││││││││┌ @ compiler/typeinfer.jl:209 Core.Compiler._typeinf(interp, frame) │││││││││││││││││││││┌ @ compiler/typeinfer.jl:226 Core.Compiler.typeinf_nocycle(interp, frame) ││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:2026 Core.Compiler.typeinf_local(interp, caller) │││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1828 changes_else = Core.Compiler.conditional_changes(changes_else, Core.Compiler.getproperty(condt, :elsetype), Core.Compiler.getproperty(condt, :var)) ││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1986 Core.Compiler.⊑(Core.Compiler.ignorelimited(typ), Core.Compiler.ignorelimited(oldtyp)) │││││││││││││││││││││││││┌ @ compiler/typelattice.jl:176 Core.Compiler.issubconditional(a, b) ││││││││││││││││││││││││││ for 2 of 4 union split cases, no matching method found for call signatures (Tuple{typeof(Core.Compiler.issubconditional), Core.InterConditional, Core.Compiler.Conditional}, Tuple{typeof(Core.Compiler.issubconditional), Core.Compiler.Conditional, Core.InterConditional})): Core.Compiler.issubconditional(a::Union{Core.Compiler.Conditional, Core.InterConditional}, b::Union{Core.Compiler.Conditional, Core.InterConditional}) │││││││││││││││││││││││││└─────────────────────────────── ││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1988 typ = Core.Compiler.tmerge(typ, Core.Compiler.LimitedAccuracy(Core.Compiler.Bottom, Core.Compiler.getproperty(oldtyp, :causes))) │││││││││││││││││││││││││┌ @ compiler/typelimits.jl:331 Core.Compiler.tmerge(Core.Compiler.getproperty(typea, :typ), Core.Compiler.getproperty(typeb, :typ)) ││││││││││││││││││││││││││┌ @ compiler/typelimits.jl:362 goto %161 if not Core.Compiler.!=(vtype, elsetype) │││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %161 if not Core.Compiler.!=(vtype::Any, elsetype::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││││└────────────────────────────── ││││││││││││││││││││││││││┌ @ compiler/typelimits.jl:391 goto %223 if not Core.Compiler.!=(vtype, elsetype) │││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %223 if not Core.Compiler.!=(vtype::Any, elsetype::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││││└────────────────────────────── │││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1918 t = Core.Compiler.abstract_eval_statement(interp, stmt, changes, frame) ││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1534 callinfo = Core.Compiler.abstract_call(interp, ea, argtypes, sv) │││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1382 #self#(interp, fargs, argtypes, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS)) ││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1397 Core.Compiler.abstract_call_known(interp, f, fargs, argtypes, sv, max_methods) │││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1249 Core.Compiler.abstract_apply(interp, argtypes, sv, max_methods) ││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:937 cti_info = Core.Compiler.precise_container_type(interp, itft, Core.Compiler.unwrapva(ti), sv) │││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:816 Core.Compiler.abstract_iteration(interp, itft, typ, sv) ││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:898 Core.Compiler.abstract_call_known(interp, iteratef, Core.Compiler.nothing, Core.Compiler.getindex(Core.Compiler.Any, Core.Compiler.Const(iteratef), itertype, statetype), sv) │││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1245 #self#(interp, f, fargs, argtypes, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS)) ││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1253 Core.Compiler.abstract_modifyfield!(interp, argtypes, sv) │││││││││││││││││││││││││││││││││┌ @ compiler/tfuncs.jl:965 callinfo = Core.Compiler.abstract_call(interp, Core.Compiler.nothing, Core.Compiler.getindex(Core.Compiler.Any, op, TF, v), sv, 1) ││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1397 Core.Compiler.abstract_call_known(interp, f, fargs, argtypes, sv, max_methods) │││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1298 call = Core.Compiler.abstract_call_gf_by_type(interp, f, fargs, Core.Compiler.getindex(Core.Compiler.Any, Core.Compiler.Const(f), Core.Compiler.Bool), Core.apply_type(Core.Compiler.Tuple, Core.Compiler.typeof(f), Core.Compiler.Bool), sv) ││││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:34 #self#(interp, f, fargs, argtypes, atype, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS)) │││││││││││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:39 Core.Compiler.method_table(interp, sv) ││││││││││││││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/jlgen.jl:229 GPUCompiler.OverlayMethodTable(Base.getproperty(interp, :world), Base.getproperty(interp, :method_table)) │││││││││││││││││││││││││││││││││││││││┌ @ compiler/methodtable.jl:38 Core.Compiler.convert(Core.fieldtype(Core.Compiler.OverlayMethodTable, 2), mt) ││││││││││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Core.Compiler.convert), Type{Core.MethodTable}, Nothing}): Core.Compiler.convert(Core.fieldtype(Core.Compiler.OverlayMethodTable::Type{Core.Compiler.OverlayMethodTable}, 2)::Type{Core.MethodTable}, mt::Nothing) │││││││││││││││││││││││││││││││││││││││└────────────────────────────── │││││││││││││││││││││┌ @ compiler/typeinfer.jl:255 Core.Compiler.optimize(interp, opt, Core.Compiler.OptimizationParams(interp), result_type) ││││││││││││││││││││││┌ @ compiler/optimize.jl:296 ir = Core.Compiler.run_passes(Core.Compiler.getproperty(opt, :src), nargs, opt) │││││││││││││││││││││││┌ @ compiler/optimize.jl:302 ir = Core.Compiler.convert_to_ircode(ci, Core.Compiler.copy_exprargs(Core.Compiler.getproperty(ci, :code)), preserve_coverage, nargs, sv) ││││││││││││││││││││││││┌ @ compiler/optimize.jl:398 Core.Compiler.collect(Core.Compiler.LineInfoNode, Core.Compiler.getproperty(ci, :linetable)) │││││││││││││││││││││││││┌ @ array.jl:584 Core.Compiler._collect(_, itr, Core.Compiler.IteratorSize(itr)) ││││││││││││││││││││││││││┌ @ array.jl:586 Core.Compiler._array_for(_, isz, Core.Compiler._similar_shape(itr, isz)) │││││││││││││││││││││││││││┌ @ array.jl:616 Core.Compiler._similar_shape(itr, isz) ││││││││││││││││││││││││││││┌ @ array.jl:601 Core.Compiler.axes(itr) │││││││││││││││││││││││││││││┌ @ abstractarray.jl:95 Core.Compiler.size(A) ││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Core.Compiler.size), Core.Compiler.HasLength}): Core.Compiler.size(A::Core.Compiler.HasLength) │││││││││││││││││││││││││││││└─────────────────────── ││││││││││││││││││││││││││││┌ @ array.jl:600 Core.Compiler.length(itr) │││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Core.Compiler.length), Core.Compiler.HasLength}): Core.Compiler.length(itr::Core.Compiler.HasLength) ││││││││││││││││││││││││││││└──────────────── │││││││││││││││││││││││┌ @ compiler/optimize.jl:303 ir = Core.Compiler.slot2reg(ir, ci, nargs, sv) ││││││││││││││││││││││││┌ @ compiler/optimize.jl:419 ir = Core.Compiler.construct_ssa!(ci, ir, domtree, defuse_insts, nargs, Core.Compiler.getproperty(sv, :slottypes)) │││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:689 Core.Compiler.rename_uses!(ir, ci, Core.Compiler.Int(edge), Core.Compiler.getindex(Core.Compiler.getproperty(stmt, :values), edgeidx), incoming_vals) ││││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:173 Core.Compiler.fixemup!(#345, #346, ir, ci, idx, stmt) │││││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:111 Core.Compiler.fixup_slot!(ir, ci, idx, Core.Compiler.slot_id(stmt), stmt, rename(stmt)) ││││││││││││││││││││││││││││┌ @ compiler/ssair/slot2ssa.jl:98 Core.Compiler.insert_node!(ir, idx, Core.Compiler.NewInstruction(Core.Compiler.Expr(:undefcheck, Core.Compiler.getindex(Core.Compiler.getproperty(ci, :slotnames), slot), ssa), Core.Compiler.Any)) │││││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:524 #self#(ir, pos, inst, false) ││││││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:528 Core.Compiler.stmt_effect_free(Core.Compiler.getproperty(inst, :stmt), Core.Compiler.getproperty(inst, :type), ir, Core.Compiler.getproperty(ir, :sptypes)) │││││││││││││││││││││││││││││││┌ @ compiler/ssair/queries.jl:36 Core.Compiler._builtin_nothrow(f, Core.Compiler._array_for(Core.Compiler.Any, Core.Compiler.:(2, Core.Compiler.length(ea)), Core.Compiler.IteratorSize(Core.Compiler.:(2, Core.Compiler.length(ea)))), rt) ││││││││││││││││││││││││││││││││┌ @ compiler/tfuncs.jl:1551 Core.Compiler.array_builtin_common_nothrow(argtypes, 3) │││││││││││││││││││││││││││││││││┌ @ compiler/tfuncs.jl:1532 goto %50 if not Core.Compiler.!(Core.Compiler.getproperty(Core.Compiler.getindex(argtypes, 1), :val)) ││││││││││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %50 if not Core.Compiler.!(Core.Compiler.getproperty(Core.Compiler.getindex(argtypes::Vector{Any}, 1)::Any, :val::Symbol)::Any)::Union{Bool, Core.Compiler.var"#84#85"} │││││││││││││││││││││││││││││││││└─────────────────────────── │││││││││││││││││││││││┌ @ compiler/optimize.jl:306 ir = Core.Compiler.compact!(ir) ││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1441 #self#(code, false) │││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1443 = Core.Compiler.iterate(compact) ││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1237 #self#(compact, Core.tuple(Core.Compiler.getproperty(compact, :idx), 1)) │││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1181 result_idx = Core.Compiler.process_node!(compact, old_result_idx, node, new_idx, Core.Compiler.-(idx, 1), active_bb, do_rename_ssa) ││││││││││││││││││││││││││││┌ @ compiler/ssair/ir.jl:1099 goto %277 if not Core.Compiler.!(before_def) │││││││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %277 if not Core.Compiler.!(before_def::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││││││└───────────────────────────── │││││││││││││││││││││││┌ @ compiler/optimize.jl:316 ir = Core.Compiler.type_lift_pass!(ir) ││││││││││││││││││││││││┌ @ compiler/ssair/passes.jl:1013 goto %201 if not Core.Compiler.!(Core.Compiler.isassigned(Core.Compiler.getproperty(def, :values), i)) │││││││││││││││││││││││││ for 1 of 2 union split cases, non-boolean (Core.Compiler.var"#84#85") used in boolean context: goto %201 if not Core.Compiler.!(Core.Compiler.isassigned(Core.Compiler.getproperty(def::Any, :values::Symbol)::Any, i::Any)::Any)::Union{Bool, Core.Compiler.var"#84#85"} ││││││││││││││││││││││││└───────────────────────────────── ││││││││││││││││││││││┌ @ compiler/optimize.jl:297 Core.Compiler.finish(interp, opt, params, ir, result) │││││││││││││││││││││││┌ @ compiler/optimize.jl:286 Core.Compiler.isinlineable(def, opt, params, union_penalties, bonus) ││││││││││││││││││││││││┌ @ compiler/optimize.jl:177 inlineable = Core.Compiler.inline_worthy(Core.Compiler.getproperty(me, :ir), params, union_penalties, Core.Compiler.+(cost_threshold, bonus)) │││││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(Core.Compiler.inline_worthy), Nothing, Core.Compiler.OptimizationParams, Bool, Int64})): inlineable = Core.Compiler.inline_worthy(Core.Compiler.getproperty(me::Core.Compiler.OptimizationState, :ir::Symbol)::Union{Nothing, Core.Compiler.IRCode}, params::Core.Compiler.OptimizationParams, union_penalties::Bool, Core.Compiler.+(cost_threshold::Int64, bonus::Int64)::Int64) ││││││││││││││││││││││││└──────────────────────────── ││││││││││││││┌ @ /home/guillaume/.julia/packages/CUDA/5jdFl/src/compiler/execution.jl:325 GPUCompiler.emit_llvm(job, mi) │││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:62 GPUCompiler.#emit_llvm#110(true, true, true, false, #self#, job, method_instance) ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:149 GPUCompiler.irgen(job, method_instance) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:57 GPUCompiler.process_entry!(job, mod, Core.getfield(entry, :contents)) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/ptx.jl:119 entry = GPUCompiler.invoke(GPUCompiler.process_entry!, Core.apply_type(GPUCompiler.Tuple, GPUCompiler.CompilerJob, LLVM.Module, LLVM.Function), job, mod, entry) │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/interface.jl:185 args = GPUCompiler.classify_arguments(job, GPUCompiler.eltype(GPUCompiler.llvmtype(entry))) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:299 GPUCompiler.isghosttype(source_typ) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/context.jl:20 ctx = LLVM.Context() ││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/context.jl:13 LLVM._install_handlers(ctx) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/context.jl:93 callback = $(Expr(:cfunction, Ptr{Nothing}, :($(QuoteNode(LLVM.yield_callback))), Nothing, svec(LLVM.Context, Ptr{Nothing}), :(:ccall))) ││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(LLVM.yield_callback), LLVM.Context, Ptr{Nothing}}): callback = $(Expr(:cfunction, Ptr{Nothing}, :($(QuoteNode(LLVM.yield_callback))), Nothing, svec(LLVM.Context, Ptr{Nothing}), :(:ccall))) │││││││││││││││││││││││└───────────────────────────────────────────────────────────────────── ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:158 runtime = Core.kwfunc(GPUCompiler.load_runtime)(Core.apply_type(Core.NamedTuple, (:ctx,))(Core.tuple(Core.getfield(ctx, :contents))), GPUCompiler.load_runtime, job) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:62 GPUCompiler.#load_runtime#91(ctx, _3, job) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:64 = GPUCompiler.lock(#92, GPUCompiler.runtime_lock) │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:149 GPUCompiler.irgen(job, method_instance) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/TimerOutputs/nDhDw/src/TimerOutput.jl:252 = GPUCompiler.compile_method_instance(job, method_instance) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/jlgen.jl:350 GPUCompiler.Cint(debug_info_kind) ││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{Type{Int32}, Nothing})): GPUCompiler.Cint(debug_info_kind::Union{Nothing, LLVM.API.LLVMDebugEmissionKind}) │││││││││││││││││││││└────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:253 GPUCompiler.InternalCompilerError(job, "isempty(uses(dyn_marker)), at /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:253") ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/error.jl:29 $(QuoteNode(GPUCompiler.var"#InternalCompilerError#7#8"()))(Base.pairs(Core.NamedTuple()), #self#, job, message) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/error.jl:29 Base.convert(Core.fieldtype(GPUCompiler.InternalCompilerError, 3), kwargs) ││││││││││││││││││││││┌ @ abstractdict.jl:525 h = _(x) │││││││││││││││││││││││┌ @ dict.jl:129 Base.dict_with_eltype(#317, kv, Base.eltype(kv)) ││││││││││││││││││││││││┌ @ abstractdict.jl:537 DT_apply(_, _)(kv) │││││││││││││││││││││││││┌ @ dict.jl:102 Base.sizehint!(h, Core.typeassert(Base.Int(Base.length(kv)), Base.Int)) ││││││││││││││││││││││││││┌ @ dict.jl:244 Base.rehash!(d, newsz) │││││││││││││││││││││││││││┌ @ dict.jl:202 v = Base.getindex(oldv, i) ││││││││││││││││││││││││││││┌ @ array.jl:861 Base.arrayref($(Expr(:boundscheck)), A, i1) │││││││││││││││││││││││││││││ invalid builtin function call: Base.arrayref($(Expr(:boundscheck)), A::Vector{Union{}}, i1::Int64) ││││││││││││││││││││││││││││└──────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:49 GPUCompiler.emit_julia(job) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:98 meth = Base.func_for_method_checked(meth, ti, env) │││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(Base.func_for_method_checked), Module, Any, Any})): meth = Base.func_for_method_checked::typeof(Base.func_for_method_checked)(meth::Union{Method, Module}, ti::Any, env::Any) ││││││││││││││││││││└────────────────────────────────────────────────────────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:78 Core.kwfunc(GPUCompiler.emit_asm)(Core.apply_type(Core.NamedTuple, (:strip, :validate, :format))(Core.tuple(strip, validate, format)), GPUCompiler.emit_asm, job, ir) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/utils.jl:62 GPUCompiler.#emit_asm#137(strip, validate, format, _3, job, ir) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:327 GPUCompiler.check_ir(job, ir) ││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:116 errors = GPUCompiler.check_ir!(Core.tuple(job, Base.getindex(GPUCompiler.IRError)), args...) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:127 GPUCompiler.check_ir!(job, errors, f) ││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:134 GPUCompiler.blocks(f) │││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/function.jl:125 LLVM.FunctionBlockSet(f) ││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/function.jl:122 Base.convert(Core.fieldtype(LLVM.FunctionBlockSet, 2), Base.getindex(LLVM.BasicBlock)) │││││││││││││││││││││││││││┌ @ array.jl:554 _(a) ││││││││││││││││││││││││││││┌ @ array.jl:563 Base.copyto_axcheck!(Core.apply_type(Base.Array, _, _)(Base.undef, Base.size(x)), x) │││││││││││││││││││││││││││││┌ @ abstractarray.jl:1104 Base.copyto!(dest, src) ││││││││││││││││││││││││││││││┌ @ array.jl:343 Base.copyto!(dest, 1, src, 1, Base.length(src)) │││││││││││││││││││││││││││││││┌ @ array.jl:317 Base._copyto_impl!(dest, doffs, src, soffs, n) ││││││││││││││││││││││││││││││││┌ @ array.jl:331 Base.unsafe_copyto!(dest, doffs, src, soffs, n) │││││││││││││││││││││││││││││││││┌ @ array.jl:307 Base._unsafe_copyto!(dest, doffs, src, soffs, n) ││││││││││││││││││││││││││││││││││┌ @ array.jl:253 Base.setindex!(dest, Base.getindex(src, Base.-(Base.+(soffs, i), 1)), Base.-(Base.+(doffs, i), 1)) │││││││││││││││││││││││││││││││││││┌ @ array.jl:903 Base.convert(_, x) ││││││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(convert), Type{Ptr{LLVM.API.LLVMOpaqueValue}}, LLVM.BasicBlock}): Base.convert(_::Type{Ptr{LLVM.API.LLVMOpaqueValue}}, x::LLVM.BasicBlock) │││││││││││││││││││││││││││││││││││└──────────────── ││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:136 GPUCompiler.check_ir!(job, errors, inst) │││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:146 bt = GPUCompiler.backtrace(inst) ││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:9 #self#(inst, Base.getindex(Base.StackTraces.StackFrame)) │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:37 GPUCompiler.filter!(#102, callers) ││││││││││││││││││││││││││││┌ @ array.jl:2529 f(ai) │││││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:39 GPUCompiler.haskey(md, LLVM.MD_dbg) ││││││││││││││││││││││││││││││┌ @ abstractdict.jl:17 Base.in(k, Base.keys(d)) │││││││││││││││││││││││││││││││┌ @ abstractdict.jl:69 Base.get(Base.getproperty(v, :dict), k, Base.secret_table_token) ││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(get), LLVM.ModuleMetadataIterator, LLVM.MD, Symbol}): Base.get(Base.getproperty(v::Base.KeySet{String, LLVM.ModuleMetadataIterator}, :dict::Symbol)::LLVM.ModuleMetadataIterator, k::LLVM.MD, Base.secret_table_token) │││││││││││││││││││││││││││││││└────────────────────── │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:43 call_sites = GPUCompiler.unique(#103, callers) ││││││││││││││││││││││││││││┌ @ set.jl:191 Base.#unique#326(Base.nothing, #self#, f, C) │││││││││││││││││││││││││││││┌ @ set.jl:208 y = f(x) ││││││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:46 Base.getindex(md, LLVM.MD_dbg) │││││││││││││││││││││││││││││││┌ @ abstractdict.jl:497 v = Base.get(t, key, Base.secret_table_token) ││││││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(get), LLVM.ModuleMetadataIterator, LLVM.MD, Symbol}): v = Base.get(t::LLVM.ModuleMetadataIterator, key::LLVM.MD, Base.secret_table_token) │││││││││││││││││││││││││││││││└─────────────────────── │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:33 f = LLVM.parent(LLVM.parent(inst)) ││││││││││││││││││││││││││││ for 1 of 3 union split cases, no matching method found for call signatures (Tuple{typeof(LLVM.parent), LLVM.Module})): f = LLVM.parent::typeof(LLVM.parent)(LLVM.parent::typeof(LLVM.parent)(inst::Any)::Union{LLVM.BasicBlock, LLVM.Function, LLVM.Module}) │││││││││││││││││││││││││││└───────────────────────────────────────────────────────────────────── │││││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/debug.jl:35 GPUCompiler.uses(f) ││││││││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(LLVM.uses), LLVM.Module})): GPUCompiler.uses(f::Union{LLVM.Function, LLVM.Module}) │││││││││││││││││││││││││││└───────────────────────────────────────────────────────────────────── │││││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/validation.jl:197 Base.setindex!(GPUCompiler.libjulia, Base.getproperty(GPUCompiler.Libdl, :dlopen)(GPUCompiler.first(paths))) ││││││││││││││││││││││││││┌ @ refvalue.jl:57 Base.setproperty!(b, :x, x) │││││││││││││││││││││││││││┌ @ Base.jl:43 Base.convert(Base.fieldtype(Base.typeof(x), f), v) ││││││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(convert), Type{Ptr{Nothing}}, Nothing}): Base.convert(Base.fieldtype(Base.typeof(x::Base.RefValue{Ptr{Nothing}})::Type{Base.RefValue{Ptr{Nothing}}}, f::Symbol)::Type{Ptr{Nothing}}, v::Nothing) │││││││││││││││││││││││││││└────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/rtlib.jl:144 cachedirs = Base.collect(Base.Generator(#93, GPUCompiler.DEPOT_PATH)) ││││││││││││││││││││┌ @ array.jl:724 y = Base.iterate(itr) │││││││││││││││││││││┌ @ generator.jl:47 Base.getproperty(g, :f)(Base.getindex(y, 1)) ││││││││││││││││││││││┌ @ none:0 GPUCompiler.cachedir(depot) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/rtlib.jl:24 Base.cache_file_entry(Base.PkgId(GPUCompiler.GPUCompiler)) ││││││││││││││││││││││││┌ @ loading.jl:718 = Base.package_slug(Base.getproperty(pkg, :uuid)) │││││││││││││││││││││││││ for 1 of 2 union split cases, no matching method found for call signatures (Tuple{typeof(Base.package_slug), Nothing})): = Base.package_slug(Base.getproperty(pkg::Base.PkgId, :uuid::Symbol)::Union{Nothing, Base.UUID}) ││││││││││││││││││││││││└────────────────── │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:231 Base.getproperty(dyn_meta, :compiled) ││││││││││││││││││││┌ @ Base.jl:42 Base.getfield(x, f) │││││││││││││││││││││ type Tuple{} has no field compiled ││││││││││││││││││││└────────────── ││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/driver.jl:193 entry = GPUCompiler.finish_module!(job, Core.getfield(ir, :contents), entry) │││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/ptx.jl:187 entry = GPUCompiler.lower_byval(job, mod, entry) ││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:459 GPUCompiler.Builder(#60, ctx) │││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/irbuilder.jl:19 LLVM.#Builder#63(Core.tuple(Base.pairs(Core.NamedTuple()), #self#, f), args...) ││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/irbuilder.jl:21 = f(builder) │││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/GPUCompiler/I9fZc/src/irgen.jl:476 = Base.iterate(GPUCompiler.enumerate(GPUCompiler.parameters(Core.getfield(#self#, :ft))), Core.getfield(_4, 2)) ││││││││││││││││││││││┌ @ iterators.jl:159 n = Base.Iterators.iterate(Core.tuple(Base.getproperty(e, :itr)), rest...) │││││││││││││││││││││││┌ @ /home/guillaume/.julia/packages/LLVM/tVv0H/src/core/function.jl:102 LLVM.Argument(state) ││││││││││││││││││││││││ no matching method found for call signature (Tuple{Type{LLVM.Argument}, Int64}): LLVM.Argument(state::Int64) │││││││││││││││││││││││└─────────────────────────────────────────────────────────────────────── ││││││││││││││││││││││┌ @ iterators.jl:159 n = Base.Iterators.iterate(Core.tuple(Base.getproperty(e, :itr)), rest...) │││││││││││││││││││││││┌ @ array.jl:835 Base.%(i, Base.UInt) ││││││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(rem), Ptr{LLVM.API.LLVMOpaqueValue}, Type{UInt64}}): Base.%(i::Ptr{LLVM.API.LLVMOpaqueValue}, Base.UInt) │││││││││││││││││││││││└──────────────── ││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/host/broadcast.jl:77 Core.kwfunc(GPUArrays.gpu_call)(Core.apply_type(Core.NamedTuple, (:threads, :blocks))(Core.tuple(Base.getproperty(config, :threads), Base.getproperty(config, :blocks))), GPUArrays.gpu_call, broadcast_kernel, dest, bc′, Base.getproperty(config, :elements_per_thread)) │││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:48 GPUArrays.#gpu_call#1(Core.tuple(target, elements, threads, blocks, name, _3, kernel), args...) ││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:76 Core.kwfunc(GPUArrays.gpu_call)(Core.apply_type(Core.NamedTuple, (:name,))(Core.tuple(name)), GPUArrays.gpu_call, GPUArrays.backend(target), kernel, args, threads, blocks) │││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:48 GPUArrays.#gpu_call#1(Core.tuple(target, elements, threads, blocks, name, _3, kernel), args...) ││││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:72 Core.kwfunc(GPUArrays.gpu_call)(Core.apply_type(Core.NamedTuple, (:name,))(Core.tuple(name)), GPUArrays.gpu_call, GPUArrays.backend(target), kernel, args, Base.getproperty(config, :threads), Base.getproperty(config, :blocks)) │││││││││││││┌ @ /home/guillaume/.julia/packages/GPUArrays/VNhDf/src/device/execution.jl:75 GPUArrays.>(blocks, 0) ││││││││││││││┌ @ operators.jl:378 Base.<(y, x) │││││││││││││││┌ @ operators.jl:352 Base.isless(x, y) ││││││││││││││││ no matching method found for call signature (Tuple{typeof(isless), Int64, Nothing}): Base.isless(x::Int64, y::Nothing) │││││││││││││││└────────────────────