Skip to content

Conversation

@chris-maes
Copy link
Contributor

@chris-maes chris-maes commented Jul 31, 2025

This PR includes two fixes:

  • Basis repair was failing due to a bug in the right-looking LU where the column permutation was not fully populated when the basis was rank deficient.

  • When computing delta x using a hypersparse solve the solution vector sometimes did not contain a nonzero coefficient associated with the basic leaving index. This was an issue, as we divide by that coefficient to compute the primal step length. This coefficient may have been missing due to the numerical drop tolerances. To recover from this we perform a regular solve. If the coefficient is small, but nonzero, we can recover.

In addition this PR adds the option to use threshold rook pivoting inside the right-looking LU factorization. TRP is rank-revealing. However, it produces factors L and U with more fill and is thus about 3% slower. We add TRP in this PR, but keep it disabled behind a flag. A future PR may want to use TRP when basis repair fails.

New or existing tests cover these changes. The documentation is not affected.

@chris-maes chris-maes requested a review from a team as a code owner July 31, 2025 18:34
@chris-maes chris-maes requested review from kaatish and rg20 July 31, 2025 18:34
@copy-pr-bot
Copy link

copy-pr-bot bot commented Jul 31, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@chris-maes chris-maes changed the title Fix a bug in basis repair Fix a bug in basis repair. Recover from numerical issues in primal update. Jul 31, 2025
@chris-maes chris-maes added this to the 25.08 milestone Jul 31, 2025
@chris-maes chris-maes added bug Something isn't working non-breaking Introduces a non-breaking change labels Jul 31, 2025
@chris-maes chris-maes self-assigned this Jul 31, 2025
@chris-maes
Copy link
Contributor Author

/ok to test 2a9ff27

@rgsl888prabhu
Copy link
Collaborator

/merge

@rapids-bot rapids-bot bot merged commit ebda755 into NVIDIA:branch-25.08 Aug 1, 2025
145 of 146 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants