Skip to content

Commit 2981213

Browse files
committed
cont.
1 parent b4d1765 commit 2981213

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ version = "0.8.7"
44

55
[deps]
66
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
7+
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
78
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
89
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
910
NLPModels = "a4795742-8479-5a88-8948-cc11e1c8c1a6"

src/enzyme.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function hessian(::EnzymeReverseADHessian, f, x)
5656
return hess
5757
end
5858

59-
struct EnzymeReverseADJprod <: InPlaceADBackend
59+
struct EnzymeReverseADJprod <: InPlaceADbackend
6060
x::Vector{Float64}
6161
end
6262

@@ -76,7 +76,7 @@ function Jprod!(b::EnzymeReverseADJprod, Jv, c!, x, v, ::Val)
7676
return Jv
7777
end
7878

79-
struct EnzymeReverseADJtprod <: InPlaceADBackend
79+
struct EnzymeReverseADJtprod <: InPlaceADbackend
8080
x::Vector{Float64}
8181
end
8282

@@ -96,7 +96,7 @@ function Jtvprod!(b::EnzymeReverseADJtprod, Jtv, c!, x, v, ::Val)
9696
return Jtv
9797
end
9898

99-
struct EnzymeReverseADHprod <: InPlaceADBackend
99+
struct EnzymeReverseADHvprod <: InPlaceADbackend
100100
grad::Vector{Float64}
101101
end
102102

@@ -109,7 +109,7 @@ function EnzymeReverseADHvprod(
109109
kwargs...,
110110
) where {T}
111111
grad = zeros(nvar)
112-
return EnzymeReverseADHprod(grad)
112+
return EnzymeReverseADHvprod(grad)
113113
end
114114

115115
function Hvprod!(b::EnzymeReverseADHvprod, Hv, x, v, f, args...)
@@ -128,12 +128,12 @@ end
128128
function Hvprod!(
129129
b::EnzymeReverseADHvprod,
130130
Hv,
131-
x::AbstractVector{T},
131+
x,
132132
v,
133133
ℓ,
134134
::Val{:lag},
135135
y,
136-
obj_weight::Real = one(T),
136+
obj_weight::Real = one(eltype(x)),
137137
)
138138
Enzyme.autodiff(
139139
Forward,
@@ -149,13 +149,13 @@ function Hvprod!(
149149
end
150150

151151
function Hvprod!(
152-
b::EnzymeReverseADHvprod{T, S, Tagf},
152+
b::EnzymeReverseADHvprod,
153153
Hv,
154154
x,
155155
v,
156156
f,
157157
::Val{:obj},
158-
obj_weight::Real = one(T),
158+
obj_weight::Real = one(eltype(x)),
159159
)
160160
Enzyme.autodiff(
161161
Forward,

test/enzyme.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@ using ADNLPModels, ManualNLPModels, NLPModels, NLPModelsModifiers, NLPModelsTest
33
using ADNLPModels:
44
gradient, gradient!, jacobian, hessian, Jprod!, Jtprod!, directional_second_derivative, Hvprod!
55

6-
# Automatically loads the code for Enzyme with Requires
7-
import Enzyme
6+
for problem in NLPModelsTest.nlp_problems ["GENROSE"]
7+
include("nlp/problems/$(lowercase(problem)).jl")
8+
end
9+
for problem in NLPModelsTest.nls_problems
10+
include("nls/problems/$(lowercase(problem)).jl")
11+
end
812

913
#=
1014
ADNLPModels.EmptyADbackend(args...; kwargs...) = ADNLPModels.EmptyADbackend()

0 commit comments

Comments
 (0)