Skip to content

Commit 9b59807

Browse files
committed
Use G isa Array check and copyto! in fgh!
1 parent 7db3a5f commit 9b59807

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

lib/OptimizationBase/ext/OptimizationEnzymeExt.jl

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,13 @@ function OptimizationBase.instantiate_function(
195195
vdθ = Tuple((Array(r) for r in eachrow(I(length(θ)) * one(eltype(θ)))))
196196
vdbθ = Tuple(zeros(eltype(θ), length(θ)) for i in eachindex(θ))
197197
θ_arr = θ isa Array ? θ : Array(θ)
198-
G_arr = G isa Array ? G : Array(G)
199-
Enzyme.make_zero!(G_arr)
198+
if G isa Array
199+
G_arr = G
200+
Enzyme.make_zero!(G)
201+
else
202+
G_arr = Array(G)
203+
Enzyme.make_zero!(G_arr)
204+
end
200205

201206
Enzyme.autodiff(
202207
fmode,
@@ -208,8 +213,8 @@ function OptimizationBase.instantiate_function(
208213
Const(p)
209214
)
210215

211-
if G !== G_arr
212-
G .= G_arr
216+
if !(G isa Array)
217+
copyto!(G, G_arr)
213218
end
214219

215220
for i in eachindex(θ)

0 commit comments

Comments
 (0)