Skip to content

Commit 1bc8c53

Browse files
committed
Rebase
1 parent c4a350e commit 1bc8c53

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/solve.jl

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ function SciMLBase.__solve(prob::OptimizationProblem,
1414
gbest, particles, solve_time = pso_solve(prob, opt, args...; maxiters, kwargs...)
1515
particles_positions = get_pos.(particles)
1616
SciMLBase.build_solution(SciMLBase.DefaultOptimizationCache(prob.f, prob.p), opt,
17-
gbest.position, prob.f(gbest.position, prob.p), original = particles_positions, stats = Optimization.OptimizationStats(; time = solve_time))
17+
gbest.position, prob.f(gbest.position, prob.p), original = particles_positions,
18+
stats = Optimization.OptimizationStats(; time = solve_time))
1819
end
1920

2021
function pso_solve(prob::OptimizationProblem,
@@ -33,34 +34,40 @@ function pso_solve(prob::OptimizationProblem,
3334
gpu_init_gbest = KernelAbstractions.allocate(backend, typeof(init_gbest), (1,))
3435
copyto!(gpu_init_gbest, [init_gbest])
3536

37+
t0 = time()
3638
gbest, particles = vectorized_solve!(prob,
3739
gpu_init_gbest,
3840
gpu_particles,
3941
opt,
4042
Val(opt.global_update),
4143
args...;
4244
kwargs...)
43-
gbest, particles
45+
t1 = time()
46+
gbest, particles, t1 - t0
4447
end
4548

4649
function pso_solve(prob::OptimizationProblem,
4750
opt::ParallelPSOArray,
4851
args...;
4952
kwargs...)
5053
init_gbest, particles = init_particles(prob, opt, typeof(prob.u0))
54+
t0 = time()
5155
gbest, particles = vectorized_solve!(prob,
5256
init_gbest,
5357
particles,
5458
opt,
5559
args...;
5660
kwargs...)
57-
gbest, particles
61+
t1 = time()
62+
gbest, particles, t1 - t0
5863
end
5964

6065
function pso_solve(prob::OptimizationProblem, opt::SerialPSO, args...; kwargs...)
6166
init_gbest, particles = init_particles(prob, opt, typeof(prob.u0))
67+
t0 = time()
6268
gbest, particles = vectorized_solve!(prob, init_gbest, particles, opt; kwargs...)
63-
gbest, particles
69+
t1 = time()
70+
gbest, particles, t1 - t0
6471
end
6572

6673
function pso_solve(prob::OptimizationProblem,
@@ -74,6 +81,13 @@ function pso_solve(prob::OptimizationProblem,
7481
copyto!(gpu_particles, particles)
7582
init_gbest = init_gbest
7683

77-
gbest = vectorized_solve!(prob, init_gbest, gpu_particles, opt, args...; kwargs...)
78-
gbest
84+
t0 = time()
85+
gbest, particles = vectorized_solve!(prob,
86+
init_gbest,
87+
gpu_particles,
88+
opt,
89+
args...;
90+
kwargs...)
91+
t1 = time()
92+
gbest, particles, t1 - t0
7993
end

test/lbfgs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ l0 = rosenbrock(x0, p)
5757

5858
@time sol = Optimization.solve(prob,
5959
PSOGPU.HybridPSO(; backend = CUDABackend()),
60-
locaL_maxiters = 30)
60+
local_maxiters = 30)
6161
@show sol.objective
6262

6363
@time sol = Optimization.solve(prob,

0 commit comments

Comments
 (0)