Skip to content

Fix bug: dual simplex does not fill in additional info - #33

Merged
rapids-bot[bot] merged 4 commits into
NVIDIA:branch-25.05from
chris-maes:dual_simplex_term_info
May 23, 2025
Merged

Fix bug: dual simplex does not fill in additional info#33
rapids-bot[bot] merged 4 commits into
NVIDIA:branch-25.05from
chris-maes:dual_simplex_term_info

Conversation

@chris-maes

Copy link
Copy Markdown
Contributor

Adds additional termination info for dual simplex. This allows users to get the same info from either solver when using Concurrent mode.

@chris-maes chris-maes added this to the 25.05 milestone May 23, 2025
@chris-maes chris-maes self-assigned this May 23, 2025
@chris-maes chris-maes added the bug Something isn't working label May 23, 2025
@chris-maes
chris-maes requested a review from a team as a code owner May 23, 2025 03:13
@chris-maes chris-maes added the non-breaking Introduces a non-breaking change label May 23, 2025
@chris-maes
chris-maes requested review from aliceb-nv and hlinsen May 23, 2025 03:13
@copy-pr-bot

copy-pr-bot Bot commented May 23, 2025

Copy link
Copy Markdown

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 requested a review from Kh4ster May 23, 2025 03:13
@chris-maes

Copy link
Copy Markdown
Contributor Author

/ok to test 4c3fa98

Comment thread cpp/src/linear_programming/solve.cu

@Kh4ster Kh4ster left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments but overall good! Thanks!

@chris-maes

Copy link
Copy Markdown
Contributor Author

/ok to test 90bb612

@chris-maes

Copy link
Copy Markdown
Contributor Author

/ok to test 80350de

@chris-maes

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit f130f18 into NVIDIA:branch-25.05 May 23, 2025
@chris-maes
chris-maes deleted the dual_simplex_term_info branch May 23, 2025 21:09
jieyibi pushed a commit to yining043/cuopt that referenced this pull request Mar 26, 2026
Adds additional termination info for dual simplex. This allows users to get the same info from either solver when using Concurrent mode.

Authors:
  - Chris Maes (https://github.com/chris-maes)

Approvers:
  - Nicolas Blin (https://github.com/Kh4ster)

URL: NVIDIA#33
spoorendonk added a commit to spoorendonk/cuopt that referenced this pull request Jun 22, 2026
The cuDSS device-memory-handler callbacks (cudss_device_alloc /
cudss_device_dealloc) threw raft::cuda_error on a CUDA allocation failure.
cuDSS invokes these as C callbacks during factorization, so unwinding a C++
exception through its C frames is undefined behaviour and can corrupt
solver/GPU state — letting a failed (out-of-memory) factorization be reported
as OPTIMAL with a garbage solution instead of a clean numerical error.

Return the CUDA error code instead. cuDSS then fails the factorize
deterministically, which the barrier's `status < 0` path maps to a non-optimal
termination (NUMERICAL_ERROR). Fixes the nondeterministic garbage-as-optimal
reported downstream (mcfcg NVIDIA#33).
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.

2 participants