Skip to content

Commit 041ac2e

Browse files
committed
[MadNLPGPU] Support the hybrid execute mode of cuDSS
1 parent 86d974a commit 041ac2e

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

lib/MadNLPGPU/src/LinearSolvers/cudss.jl

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,25 @@ import CUDSS
1515
cudss_solve_alg::String = "default"
1616
cudss_matching::Bool = false
1717
cudss_pivoting::Bool = true
18-
cudss_hybrid::Bool = false
19-
cudss_hybrid_memory::Int = 0
18+
cudss_hybrid_execute::Bool = false
19+
cudss_hybrid_memory::Bool = false
20+
cudss_hybrid_memory_limit::Int = 0
2021
end
2122

2223
function set_cudss_options!(solver, opt::CudssSolverOptions)
2324
if opt.cudss_ir > 0
2425
CUDSS.cudss_set(solver, "ir_n_steps", opt.cudss_ir)
2526
CUDSS.cudss_set(solver, "ir_tol", opt.cudss_ir_tol)
2627
end
27-
if opt.cudss_hybrid
28+
if opt.cudss_hybrid_memory
2829
CUDSS.cudss_set(solver, "hybrid_mode", 1)
29-
if opt.cudss_hybrid_memory > 0
30-
CUDSS.cudss_set(solver, "hybrid_device_memory_limit", opt.cudss_hybrid_memory)
30+
if opt.cudss_hybrid_memory_limit > 0
31+
CUDSS.cudss_set(solver, "hybrid_device_memory_limit", opt.cudss_hybrid_memory_limit)
3132
end
3233
end
34+
if opt.cudss_hybrid_execute
35+
CUDSS.cudss_set(solver, "hybrid_execute_mode", 1)
36+
end
3337
if !opt.cudss_pivoting
3438
CUDSS.cudss_set(solver, "pivot_type", 'N')
3539
end

0 commit comments

Comments
 (0)