We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
I am on Enzyme 0.13.12, StaticArrays 1.9.8 and Julia 1.10.5 on Mac.
using Enzyme, StaticArrays, LinearAlgebra function mvp(a, b) o = zeros(size(a, 1)) for i in axes(a, 1) s = 0.0 for j in axes(a, 2) s += a[i, j] * b[j] end o[i] = s end return o end function g(E_rep, params) w1, b1, w2, b2 = params h1 = mvp(w1, E_rep) .+ b1 return mvp(w2, h1) .+ b2 end function f(coords, params) E_rep = norm.(coords) E = g(E_rep, params) return E[1] end coords = rand(SVector{3, Float64}, 8) params = (rand(16, 8), rand(16), rand(1, 16), rand(1)) f(coords, params) function f2(coords, params) d_coords = zero(coords) autodiff( set_runtime_activity(Reverse), f, Active, Duplicated(coords, d_coords), Const(params), ) return -d_coords end loss(coords, params) = f2(coords, params)[1][1] loss(coords, params) # First order works d_params = (zeros(16, 8), zeros(16), zeros(1, 16), zeros(1)) autodiff( set_runtime_activity(Reverse), loss, Active, Const(coords), Duplicated(params, d_params), ) # Second order errors
freeing without malloc %2 = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 4 freeing without malloc %2 = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 4 ERROR: LoadError: Enzyme cannot deduce type Current scope: ; Function Attrs: mustprogress willreturn define private fastcc void @preprocess_diffejulia_mvp_3682({} addrspace(10)* nocapture nonnull readonly align 16 dereferenceable(40) "enzyme_type"="{[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}" "enzymejl_parmtype"="4721353664" "enzymejl_parmtype_ref"="2" %0, {} addrspace(10)* nocapture readonly align 16 "enzyme_type"="{[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}" "enzymejl_parmtype"="4721353664" "enzymejl_parmtype_ref"="2" %"'", { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg) unnamed_addr #20 !dbg !3379 { top: %1 = call {}*** @julia.get_pgcstack() #33 %2 = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 4 %arraysize = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 1, !dbg !3380 %3 = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 0, !dbg !3380 %arraylen = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 2, !dbg !3386 %.not = icmp eq i64 %arraylen, 0, !dbg !3386 %.not73 = icmp eq i64 %arraysize, 0, !dbg !3392 br i1 %.not73, label %invertL33, label %invertidxend51.preheader, !dbg !3396 inverttop: ; preds = %invertL33, %inverttop.L15_crit_edge fence syncscope("singlethread") seq_cst ret void inverttop.L15_crit_edge: ; preds = %invertL33 %_unwrap = shl nuw i64 %arraylen, 3, !dbg !3397 %"'ipc_unwrap" = addrspacecast {} addrspace(10)* %3 to i8 addrspace(13)* addrspace(11)*, !dbg !3397 %"arrayptr.pre7190'il_phi_unwrap" = load i8 addrspace(13)*, i8 addrspace(13)* addrspace(11)* %"'ipc_unwrap", align 8, !dbg !3397, !tbaa !128, !alias.scope !3399, !noalias !3408 call void @llvm.memset.p13i8.i64(i8 addrspace(13)* align 8 %"arrayptr.pre7190'il_phi_unwrap", i8 noundef 0, i64 %_unwrap, i1 noundef false) #33, !dbg !3397, !tbaa !424, !noalias !3410 br label %inverttop invertL33: ; preds = %invertL33.L45_crit_edge, %top br i1 %.not, label %inverttop, label %inverttop.L15_crit_edge invertL33.L45_crit_edge: ; preds = %invertL45 %4 = bitcast double* %2 to i8* call void @free(i8* nonnull %4) #33, !dbg !3411 br label %invertL33 invertL45.loopexit: ; preds = %invertidxend38_amerge br label %invertL45 invertL45: ; preds = %invertL45.loopexit, %invertidxend51 %"'de.0" = phi double [ %19, %invertidxend51 ], [ 0.000000e+00, %invertL45.loopexit ] %5 = icmp eq i64 %storemerge, 0 br i1 %5, label %invertL33.L45_crit_edge, label %invertidxend51 invertidxend51.preheader: ; preds = %top %arraysize18.pre = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 3 %.not74 = icmp eq i64 %arraysize18.pre, 0 %"'ipc30_unwrap" = addrspacecast {} addrspace(10)* %3 to double addrspace(13)* addrspace(11)* %"arrayptr5379'il_phi_unwrap" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc30_unwrap", align 8, !tbaa !128, !alias.scope !3399, !noalias !3408, !nonnull !0 %_unwrap21 = addrspacecast {} addrspace(10)* %0 to double addrspace(13)* addrspace(11)* %arrayptr4077_unwrap = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %_unwrap21, align 16, !alias.scope !3412 %"'ipc11_unwrap" = addrspacecast {} addrspace(10)* %"'" to double addrspace(13)* addrspace(11)* br label %invertidxend51 invertidxend38: ; preds = %invertidxend38.preheader, %invertidxend38_amerge %iv1 = phi i64 [ 0, %invertidxend38.preheader ], [ %iv.next2, %invertidxend38_amerge ] %6 = mul nsw i64 %iv1, -1 %iv.next2 = add nuw nsw i64 %iv1, 1 %7 = add nsw i64 %arraysize18.pre, %6 %storemerge1 = add nsw i64 %7, -1 br i1 %.not2, label %invertidxend38_amerge, label %invertidxend38_active, !dbg !3413 invertidxend38_active: ; preds = %invertidxend38 %8 = add nuw nsw i64 %storemerge1, %20, !dbg !3415 %9 = getelementptr inbounds double, double* %2, i64 %8, !dbg !3415 %10 = load double, double* %9, align 8, !dbg !3416, !tbaa !424, !alias.scope !41, !noalias !1118, !invariant.group !3417 %"'ipg_unwrap" = getelementptr inbounds double, double addrspace(13)* %"arrayptr4077'ipl_unwrap", i64 %storemerge1, !dbg !3413 %11 = fmul fast double %10, %19, !dbg !3415 %12 = load double, double addrspace(13)* %"'ipg_unwrap", align 8, !dbg !3413, !tbaa !424, !alias.scope !3418, !noalias !3421 %13 = fadd fast double %12, %11, !dbg !3413 store double %13, double addrspace(13)* %"'ipg_unwrap", align 8, !dbg !3413, !tbaa !424, !alias.scope !3418, !noalias !3423 br label %invertidxend38_amerge, !dbg !3413 invertidxend38_amerge: ; preds = %invertidxend38_active, %invertidxend38 %14 = icmp eq i64 %storemerge1, 0 br i1 %14, label %invertL45.loopexit, label %invertidxend38 invertidxend51: ; preds = %invertidxend51.preheader, %invertL45 %iv = phi i64 [ 0, %invertidxend51.preheader ], [ %iv.next, %invertL45 ] %"'de.2" = phi double [ %"'de.0", %invertL45 ], [ 0.000000e+00, %invertidxend51.preheader ] %15 = mul nsw i64 %iv, -1 %iv.next = add nuw nsw i64 %iv, 1 %16 = add nsw i64 %arraysize, %15 %storemerge = add nsw i64 %16, -1 %"'ipg29_unwrap" = getelementptr inbounds double, double addrspace(13)* %"arrayptr5379'il_phi_unwrap", i64 %storemerge, !dbg !3424 %17 = load double, double addrspace(13)* %"'ipg29_unwrap", align 8, !dbg !3424, !tbaa !424, !alias.scope !3426, !noalias !3429 store double 0.000000e+00, double addrspace(13)* %"'ipg29_unwrap", align 8, !dbg !3424, !tbaa !424, !alias.scope !3426, !noalias !3431 %18 = select fast i1 %.not74, double 0.000000e+00, double %17 %19 = fadd fast double %18, %"'de.2" br i1 %.not74, label %invertL45, label %invertidxend38.preheader invertidxend38.preheader: ; preds = %invertidxend51 %"arrayptr4077'ipl_unwrap" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc11_unwrap", align 16, !alias.scope !3432, !noalias !3435, !invariant.group !3437 %.not2 = icmp eq double addrspace(13)* %arrayptr4077_unwrap, %"arrayptr4077'ipl_unwrap" %20 = mul nuw nsw i64 %storemerge, %arraysize18.pre br label %invertidxend38, !dbg !3413 } Type analysis state: <analysis> i64 1: {[-1]:Integer}, intvals: {1,} i64 0: {[-1]:Anything}, intvals: {0,} i64 3: {[-1]:Integer}, intvals: {3,} i64 -1: {[-1]:Anything}, intvals: {-1,} double 0.000000e+00: {[-1]:Anything}, intvals: {} %18 = select fast i1 %.not74, double 0.000000e+00, double %17: {[-1]:Float@double}, intvals: {} %"'ipg_unwrap" = getelementptr inbounds double, double addrspace(13)* %"arrayptr4077'ipl_unwrap", i64 %storemerge1, !dbg !82: {[-1]:Pointer, [-1,-1]:Float@double}, intvals: {} %"'ipg29_unwrap" = getelementptr inbounds double, double addrspace(13)* %"arrayptr5379'il_phi_unwrap", i64 %storemerge, !dbg !99: {[-1]:Pointer, [-1,0]:Float@double}, intvals: {} call void @free(i8* nonnull %4) #33, !dbg !80: {}, intvals: {} %9 = getelementptr inbounds double, double* %2, i64 %8, !dbg !86: {[-1]:Pointer, [-1,0]:Float@double}, intvals: {} %12 = load double, double addrspace(13)* %"'ipg_unwrap", align 8, !dbg !82, !tbaa !76, !alias.scope !93, !noalias !96: {[-1]:Float@double}, intvals: {} %"arrayptr.pre7190'il_phi_unwrap" = load i8 addrspace(13)*, i8 addrspace(13)* addrspace(11)* %"'ipc_unwrap", align 8, !dbg !51, !tbaa !54, !alias.scope !59, !noalias !70: {[-1]:Pointer}, intvals: {} %arrayptr4077_unwrap = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %_unwrap21, align 16, !alias.scope !81: {[-1]:Pointer, [-1,-1]:Float@double}, intvals: {} %"'ipc_unwrap" = addrspacecast {} addrspace(10)* %3 to i8 addrspace(13)* addrspace(11)*, !dbg !51: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %10 = load double, double* %9, align 8, !dbg !89, !tbaa !76, !alias.scope !90, !noalias !91, !invariant.group !92: {[-1]:Float@double}, intvals: {} %4 = bitcast double* %2 to i8*: {[-1]:Pointer}, intvals: {} %"'ipc30_unwrap" = addrspacecast {} addrspace(10)* %3 to double addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %"arrayptr5379'il_phi_unwrap" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc30_unwrap", align 8, !tbaa !54, !alias.scope !59, !noalias !70, !nonnull !0: {[-1]:Pointer}, intvals: {} %17 = load double, double addrspace(13)* %"'ipg29_unwrap", align 8, !dbg !99, !tbaa !76, !alias.scope !101, !noalias !104: {[-1]:Float@double}, intvals: {} %_unwrap21 = addrspacecast {} addrspace(10)* %0 to double addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %"'ipc11_unwrap" = addrspacecast {} addrspace(10)* %"'" to double addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %"arrayptr4077'ipl_unwrap" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc11_unwrap", align 16, !alias.scope !107, !noalias !110, !invariant.group !112: {[-1]:Pointer, [-1,-1]:Float@double}, intvals: {} %iv1 = phi i64 [ 0, %invertidxend38.preheader ], [ %iv.next2, %invertidxend38_amerge ]: {[-1]:Integer}, intvals: {0,} %iv = phi i64 [ 0, %invertidxend51.preheader ], [ %iv.next, %invertL45 ]: {[-1]:Integer}, intvals: {0,} %"'de.0" = phi double [ %19, %invertidxend51 ], [ 0.000000e+00, %invertL45.loopexit ]: {[-1]:Float@double}, intvals: {} %"'de.2" = phi double [ %"'de.0", %invertL45 ], [ 0.000000e+00, %invertidxend51.preheader ]: {[-1]:Float@double}, intvals: {} %1 = call {}*** @julia.get_pgcstack() #33: {}, intvals: {} %.not73 = icmp eq i64 %arraysize, 0, !dbg !46: {[-1]:Integer}, intvals: {} %14 = icmp eq i64 %storemerge1, 0: {[-1]:Integer}, intvals: {} %storemerge1 = add nsw i64 %7, -1: {[-1]:Integer}, intvals: {} %16 = add nsw i64 %arraysize, %15: {[-1]:Integer}, intvals: {} %iv.next = add nuw nsw i64 %iv, 1: {[-1]:Integer}, intvals: {1,} %storemerge = add nsw i64 %16, -1: {[-1]:Integer}, intvals: {} %20 = mul nuw nsw i64 %storemerge, %arraysize18.pre: {[-1]:Integer}, intvals: {} %arraysize = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 1, !dbg !22: {[-1]:Integer}, intvals: {} %.not2 = icmp eq double addrspace(13)* %arrayptr4077_unwrap, %"arrayptr4077'ipl_unwrap": {[-1]:Integer}, intvals: {} %11 = fmul fast double %10, %19, !dbg !86: {[-1]:Float@double}, intvals: {} %2 = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 4: {[-1]:Pointer}, intvals: {} %7 = add nsw i64 %arraysize18.pre, %6: {[-1]:Integer}, intvals: {} %5 = icmp eq i64 %storemerge, 0: {[-1]:Integer}, intvals: {} %arraysize18.pre = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 3: {[-1]:Integer}, intvals: {} %13 = fadd fast double %12, %11, !dbg !82: {[-1]:Float@double}, intvals: {} %arraylen = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 2, !dbg !32: {}, intvals: {} {} addrspace(10)* %0: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} {} addrspace(10)* %"'": {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg: {[0]:Pointer, [0,0]:Pointer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Pointer}, intvals: {} %8 = add nuw nsw i64 %storemerge1, %20, !dbg !86: {[-1]:Integer}, intvals: {} %15 = mul nsw i64 %iv, -1: {[-1]:Integer}, intvals: {0,} %3 = extractvalue { {} addrspace(10)*, i64, i64, i64, double* } %tapeArg, 0, !dbg !22: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %6 = mul nsw i64 %iv1, -1: {[-1]:Integer}, intvals: {0,} %19 = fadd fast double %18, %"'de.2": {[-1]:Float@double}, intvals: {} %.not74 = icmp eq i64 %arraysize18.pre, 0: {[-1]:Integer}, intvals: {} %iv.next2 = add nuw nsw i64 %iv1, 1: {[-1]:Integer}, intvals: {1,} %_unwrap = shl nuw i64 %arraylen, 3, !dbg !51: {}, intvals: {} %.not = icmp eq i64 %arraylen, 0, !dbg !32: {[-1]:Integer}, intvals: {} </analysis> Cannot deduce type of memset call void @llvm.memset.p13i8.i64(i8 addrspace(13)* align 8 %"arrayptr.pre7190'il_phi_unwrap", i8 noundef 0, i64 %_unwrap, i1 noundef false) #33, !dbg !51, !tbaa !76, !noalias !79 Caused by: Stacktrace: [1] setindex! @ ./array.jl:1021 [2] fill! @ ./array.jl:395 [3] zeros @ ./array.jl:637 [4] zeros @ ./array.jl:633 [5] zeros @ ./array.jl:631 [6] mvp @ ~/Downloads/enzyme_err.jl:4 within MethodInstance for mvp(::Matrix{Float64}, ::Vector{Float64}) Stacktrace: [1] setindex! @ ./array.jl:1021 [inlined] [2] fill! @ ./array.jl:395 [inlined] [3] zeros @ ./array.jl:637 [inlined] [4] zeros @ ./array.jl:633 [inlined] [5] zeros @ ./array.jl:631 [inlined] [6] mvp @ ~/Downloads/enzyme_err.jl:4 [7] g @ ~/Downloads/enzyme_err.jl:15 [8] f @ ~/Downloads/enzyme_err.jl:23 [inlined] [9] f @ ~/Downloads/enzyme_err.jl:0 [inlined] [10] diffejulia_f_3663_inner_1wrap @ ~/Downloads/enzyme_err.jl:0 [inlined] [11] macro expansion @ ~/.julia/packages/Enzyme/BRtTP/src/compiler.jl:8137 [inlined] [12] enzyme_call @ ~/.julia/packages/Enzyme/BRtTP/src/compiler.jl:7703 [inlined] [13] CombinedAdjointThunk @ ~/.julia/packages/Enzyme/BRtTP/src/compiler.jl:7476 [inlined] [14] autodiff_deferred @ ~/.julia/packages/Enzyme/BRtTP/src/Enzyme.jl:781 [inlined] [15] autodiff @ ~/.julia/packages/Enzyme/BRtTP/src/Enzyme.jl:512 [inlined] [16] f2 @ ~/Downloads/enzyme_err.jl:42 [17] loss @ ~/Downloads/enzyme_err.jl:52 [inlined] [18] loss @ ~/Downloads/enzyme_err.jl:0 [inlined] [19] diffejulia_loss_3263_inner_1wrap @ ~/Downloads/enzyme_err.jl:0 [20] macro expansion @ ~/.julia/packages/Enzyme/BRtTP/src/compiler.jl:8137 [inlined] [21] enzyme_call @ ~/.julia/packages/Enzyme/BRtTP/src/compiler.jl:7703 [inlined] [22] CombinedAdjointThunk @ ~/.julia/packages/Enzyme/BRtTP/src/compiler.jl:7476 [inlined] [23] autodiff @ ~/.julia/packages/Enzyme/BRtTP/src/Enzyme.jl:491 [inlined] [24] autodiff(::ReverseMode{false, true, FFIABI, false, false}, ::typeof(loss), ::Type{Active}, ::Const{Vector{SVector{3, Float64}}}, ::Duplicated{Tuple{Matrix{Float64}, Vector{Float64}, Matrix{Float64}, Vector{Float64}}}) @ Enzyme ~/.julia/packages/Enzyme/BRtTP/src/Enzyme.jl:512 [25] top-level scope @ ~/Downloads/enzyme_err.jl:56 in expression starting at /Users/jgreener/Downloads/enzyme_err.jl:56
The text was updated successfully, but these errors were encountered:
No branches or pull requests
I am on Enzyme 0.13.12, StaticArrays 1.9.8 and Julia 1.10.5 on Mac.
The text was updated successfully, but these errors were encountered: