-
Notifications
You must be signed in to change notification settings - Fork 71
Barrier method for LPs with cuDSS sparse Cholesky / LDLT on the GPU #272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: branch-25.10
Are you sure you want to change the base?
Conversation
Note that cuDSS is nondeterministic so the number can vary between 87-89.
/ok to test 999b690 |
As follow-ons we can add any necessary PRs to support this from Python (service, modeler integrations, etc) |
@tmckayus I think the only external change is supporting another value for Method. So we will now have a Method=3 for Barrier. |
Note this PR will not build until cuDSS is integrated into the CI To run the new barrier solver, set Method=3. |
Now solving 90/93 NETLIB LPs Multiple changes: 1) Switch to termination criteria based on relative (rather than absolute) tolerances. Set the default relative tolerance to 1e-8. 2) Use mu affine, rather than mu, in the rhs of the corrector step 3) Disable dependent row checks in presolve 4) Add iteration limits and time limit checks 5) Add method to print out dense columns 6) Add PCG (currently disabled)
…move regularization. Solves 83/91 NETLIB problems. Can factorize Dual2_5000. But reordering time is 352 seconds
Initial version of barrier (interior-point) algorithm. Currently solves 89/93 NETLIB LPs.
Note that cuDSS is nondeterminisitc so this number can vary from 87-89 (on my machine).
Closes #204
Checklist