MadNLP / MadNLP.jl

A solver for nonlinear programming
MIT License
169 stars 15 forks source link

Support AMDGPU.jl v1.0 in MadNLPGPU.jl #380

Open amontoison opened 1 week ago

sshin23 commented 1 week ago

do we have a linear solver?

amontoison commented 1 week ago

Yes :) I solve KKT systems related to crystal sensing problems (40M of variables) with Krylov solvers. These problems can be preconditioned efficiently and solved in a matrix-free way.

sshin23 commented 1 week ago

I see. Makes sense. Are you doing IPM or is it purely Newton?

amontoison commented 1 week ago

We are doing primal-dual IPM. We can see the problem as a QP where we call two linear operators (ifft and then fft). We wanted to use MadQP.jl but it doesn't support GPUs yet.

cc @frapac

amontoison commented 1 week ago

I thought that AMDGPU.jl was a dependency of MadNLPGPU.jl but it's AMD.jl. We don't have anything for AMD GPUs. I can quickly interface the LAPACK routines of rocSOLVER.