-
Notifications
You must be signed in to change notification settings - Fork 126
Main merge release/26.02 6 #839
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
Main merge release/26.02 6 #839
Conversation
This PR adds support for using [PSLP](https://github.com/dance858/PSLP) presolver for LPs. The PSLP presolver is enabled by default for LPs. This can be changed to off (--presolve 0) or switch to papilo (--presolve 1). This PR also fixes a bug and improves performance of the folding. Bug fix: Coloring scheme was resulting in AX != YA because of incorrect optimization step. This is now fixed. Performance improvement: Replaced std::unordered_map with std::map. The unordered map required computing hash values on floating point numbers which is very slow. With this improvement dlr1 model can be folded in 6 seconds compared 30 seconds before. dlr2 can be folded now in 30 seconds. ## Issue Authors: - Rajesh Gandham (https://github.com/rg20) - Chris Maes (https://github.com/chris-maes) Approvers: - Ramakrishnap (https://github.com/rgsl888prabhu) - Chris Maes (https://github.com/chris-maes) URL: NVIDIA#816
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis PR integrates PSLP (Simplex Linear Programming) presolver library into cuOpt and replaces boolean presolve flags with an enum-based presolver selection system. Changes include CMake build integration, public API updates introducing Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
For #838
Summary by CodeRabbit
New Features
Improvements
Documentation