Skip to content

Commit 47756f0

Browse files
committed
bring back compilation workload
1 parent 4fa070f commit 47756f0

File tree

2 files changed

+72
-74
lines changed

2 files changed

+72
-74
lines changed

lib/NonlinearSolveQuasiNewton/src/NonlinearSolveQuasiNewton.jl

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -34,27 +34,27 @@ include("klement.jl")
3434

3535
include("solve.jl")
3636

37-
# @setup_workload begin
38-
# nonlinear_functions = (
39-
# (NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), 0.1),
40-
# (NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), [0.1]),
41-
# (NonlinearFunction{true, NoSpecialize}((du, u, p) -> du .= u .* u .- p), [0.1])
42-
# )
43-
44-
# nonlinear_problems = NonlinearProblem[]
45-
# for (fn, u0) in nonlinear_functions
46-
# push!(nonlinear_problems, NonlinearProblem(fn, u0, 2.0))
47-
# end
48-
49-
# algs = [Broyden(), Klement()]
50-
51-
# @compile_workload begin
52-
# @sync for prob in nonlinear_problems, alg in algs
53-
# Threads.@spawn CommonSolve.solve(
54-
# prob, alg; abstol = 1e-2, verbose = NonlinearVerbosity())
55-
# end
56-
# end
57-
# end
37+
@setup_workload begin
38+
nonlinear_functions = (
39+
(NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), 0.1),
40+
(NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), [0.1]),
41+
(NonlinearFunction{true, NoSpecialize}((du, u, p) -> du .= u .* u .- p), [0.1])
42+
)
43+
44+
nonlinear_problems = NonlinearProblem[]
45+
for (fn, u0) in nonlinear_functions
46+
push!(nonlinear_problems, NonlinearProblem(fn, u0, 2.0))
47+
end
48+
49+
algs = [Broyden(), Klement()]
50+
51+
@compile_workload begin
52+
@sync for prob in nonlinear_problems, alg in algs
53+
Threads.@spawn CommonSolve.solve(
54+
prob, alg; abstol = 1e-2, verbose = NonlinearVerbosity())
55+
end
56+
end
57+
end
5858

5959
@reexport using SciMLBase, NonlinearSolveBase
6060

src/NonlinearSolve.jl

Lines changed: 51 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -52,59 +52,57 @@ include("default.jl")
5252

5353
include("forward_diff.jl")
5454

55-
# @setup_workload begin
56-
# nonlinear_functions = (
57-
# (NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), 0.1),
58-
# (NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), [0.1]),
59-
# (NonlinearFunction{true, NoSpecialize}((du, u, p) -> du .= u .* u .- p), [0.1])
60-
# )
61-
62-
# nonlinear_problems = NonlinearProblem[]
63-
# for (fn, u0) in nonlinear_functions
64-
# push!(nonlinear_problems, NonlinearProblem(fn, u0, 2.0))
65-
# end
66-
67-
# nonlinear_functions = (
68-
# (NonlinearFunction{false, NoSpecialize}((u, p) -> (u .^ 2 .- p)[1:1]), [0.1, 0.0]),
69-
# (
70-
# NonlinearFunction{false, NoSpecialize}((u, p) -> vcat(u .* u .- p, u .* u .- p)),
71-
# [0.1, 0.1]
72-
# ),
73-
# (
74-
# NonlinearFunction{true, NoSpecialize}(
75-
# (du, u, p) -> du[1] = u[1] * u[1] - p, resid_prototype = zeros(1)
76-
# ),
77-
# [0.1, 0.0]
78-
# ),
79-
# (
80-
# NonlinearFunction{true, NoSpecialize}(
81-
# (du, u, p) -> du .= vcat(u .* u .- p, u .* u .- p), resid_prototype = zeros(4)
82-
# ),
83-
# [0.1, 0.1]
84-
# )
85-
# )
86-
87-
# nlls_problems = NonlinearLeastSquaresProblem[]
88-
# for (fn, u0) in nonlinear_functions
89-
# push!(nlls_problems, NonlinearLeastSquaresProblem(fn, u0, 2.0))
90-
# end
91-
92-
# @compile_workload begin
93-
# @sync begin
94-
# for prob in nonlinear_problems
95-
# Threads.@spawn CommonSolve.solve(
96-
# prob, nothing; abstol = 1e-2, verbose = true
97-
# )
98-
# end
99-
100-
# for prob in nlls_problems
101-
# Threads.@spawn CommonSolve.solve(
102-
# prob, nothing; abstol = 1e-2, verbose = true
103-
# )
104-
# end
105-
# end
106-
# end
107-
# end
55+
@setup_workload begin
56+
nonlinear_functions = (
57+
(NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), 0.1),
58+
(NonlinearFunction{false, NoSpecialize}((u, p) -> u .* u .- p), [0.1]),
59+
(NonlinearFunction{true, NoSpecialize}((du, u, p) -> du .= u .* u .- p), [0.1])
60+
)
61+
62+
nonlinear_problems = NonlinearProblem[]
63+
for (fn, u0) in nonlinear_functions
64+
push!(nonlinear_problems, NonlinearProblem(fn, u0, 2.0))
65+
end
66+
67+
nonlinear_functions = (
68+
(NonlinearFunction{false, NoSpecialize}((u, p) -> (u .^ 2 .- p)[1:1]), [0.1, 0.0]),
69+
(
70+
NonlinearFunction{false, NoSpecialize}((u, p) -> vcat(u .* u .- p, u .* u .- p)),
71+
[0.1, 0.1]
72+
),
73+
(
74+
NonlinearFunction{true, NoSpecialize}(
75+
(du, u, p) -> du[1] = u[1] * u[1] - p, resid_prototype = zeros(1)
76+
),
77+
[0.1, 0.0]
78+
),
79+
(
80+
NonlinearFunction{true, NoSpecialize}(
81+
(du, u, p) -> du .= vcat(u .* u .- p, u .* u .- p), resid_prototype = zeros(4)
82+
),
83+
[0.1, 0.1]
84+
)
85+
)
86+
87+
nlls_problems = NonlinearLeastSquaresProblem[]
88+
for (fn, u0) in nonlinear_functions
89+
push!(nlls_problems, NonlinearLeastSquaresProblem(fn, u0, 2.0))
90+
end
91+
92+
@compile_workload begin
93+
@sync begin
94+
for prob in nonlinear_problems
95+
Threads.@spawn CommonSolve.solve(
96+
)
97+
end
98+
99+
for prob in nlls_problems
100+
Threads.@spawn CommonSolve.solve(
101+
)
102+
end
103+
end
104+
end
105+
end
108106

109107
# Rexexports
110108
@reexport using SciMLBase, NonlinearSolveBase, LineSearch, ADTypes

0 commit comments

Comments
 (0)