Conversation
|
I'll do more testing... |
src/VecchiaMLE_input.jl
Outdated
| if iVecchiaMLE.mode == 1 # CPU | ||
| output = madnlp(model, print_level=MadNLP_Print_Level(iVecchiaMLE.MadNLP_print_level)) | ||
| elseif iVecchiaMLE.mode == 2 # GPU | ||
| output = madnlp(model, print_level=MadNLP_Print_Level(iVecchiaMLE.MadNLP_print_level), kkt_system=VecchiaKKTSystem) |
There was a problem hiding this comment.
Why the VecchiaKKTSystem is only on GPU?
We should add another option in iVecchiaMLE to choose between the default KKT system and the Vecchia one.
There was a problem hiding this comment.
I did that because the potrf and potrs batched are CUDA kernels, so I would imagine we would need to port everything to GPU. Also, I use CuVectors for S. For the case when the mode is CPU, I would think we want the internals to stay on CPU, no?
Also, for the KKT system thing, this should only be a meaningful choice for GPU mode, due to my reasoning above. @amontoison
There was a problem hiding this comment.
It is still a one time cost on CPU. Even if we don't have the batch LAPACK routines, solving 100 KKT systems with this formulation will probably lead to a speed-up.
|
We should have a dispatch with this function: I need to investigate why it's not working. |
9ff0d15 to
1ea8fa7
Compare
See if this passes tests