Repository navigation
Build against cuOpt 26.10: multi-GPU PDLP, new options, iteration/node reporting - #20
Merged
Merged
Conversation
…hopt/client, new cuDSS mtlayer)
…tions for multi-GPU PDLP
…ed default in optcuopt.def
…GPU arch per CUDA version, gamslib test [skip ci]
…case cannot end early [skip ci]
mlubin
reviewed
Oct 2, 2026
| } | ||
|
|
||
| status = cuOptCreateProblem( | ||
| // Ranged form, since cuOpt's multi-GPU PDLP (without presolve) ignores the row types + RHS |
There was a problem hiding this comment.
Huh? please let us know about these types of issues :)
@Bubullzz
Member
Author
There was a problem hiding this comment.
Ah, you're right. Didn't have the time to properly structure this finding. The issue is now here NVIDIA/cuopt#2042.
0x17
marked this pull request as draft
October 4, 2026 07:55
0x17
marked this pull request as ready for review
October 4, 2026 07:56
…ypes + RHS since cuOpt #2091 (#24)
…s and mip_dual_degenerate_pivots options (cuOpt #1685)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
libcuopt-mathopt-cuXX==26.10.*+libcuopt-client==26.10.*libcuoptinto component wheels (libcuopt-mathopt-cuXX,libcuopt-client,libcuopt-routing-cuXX); the link only needs mathopt and client--prerelease=alloworpypi.nvidia.comanymore;==26.10.*without--prereleaseonly matches final releases (picks up 26.10.x hotfixes)a223/a224pin and the revert4855adaare only history nowCONTRIBUTING.mdlocal build instructions updated accordingly (were stillcuopt-cu13==26.8.*)build-link.sh)-lcuopt_mathopt -lcuopt_client, add-I libcuopt_client/include(status_codes.hships in the client wheel)libcuopt_mathopt.so+libcuopt_client.soand cuOpt's cuDSS threading layerlibcudss_mtlayer_cuopt.so;libcudss_mtlayer_gomp.sois no longer bundledlibcuopt_client.soneeds systemlibssl.so.3/libcrypto.so.3/libz.so.1(not bundled)optcuopt.def:num_gpusnow accepts-1..72, newmultigpu_pdlp_partitioneroptioncuOptCreateRangedProblemworkaround for [BUG] Multi-GPU PDLP sees 0 constraints for problems created with cuOptCreateProblem (row types + RHS) NVIDIA/cuopt#2042 is gone again (Drop cuOptCreateRangedProblem workaround for multi-GPU PDLP #24), fixed upstream in Fix bug #2042 absence of logs on mPDLP error with C API and not using rhs when present NVIDIA/cuopt#2091optcuopt.defto cuOpt 26.10, checked against the headers of the releasedv26.10.00wheelsmip_hyper_heuristic_presolve_time_ratio,mip_hyper_heuristic_presolve_max_time,mip_hyper_diving_min_node_depth,mip_hyper_submip_node_limit_base)concurrent_nnz_cutoffrenamed tolarge_nnz_thresholdupstream without an alias (Sync cuOpt options with NVIDIA/cuopt main (8eb20bd) #25), so option files using the old name now getUnknown optionmethod 4(primal simplex) andbarrier_dual_initial_point 2(SeDuMi-style), fix changed default ofmip_hyper_heuristic_related_vars_time_limitprimal_simplex_pricing,mip_rens,mip_mutation, barrier regularization, Curtis-Reid scaling,postsolve_info,mip_hyper_presolve_indicator_strengthening, degenerate pivots (mip_dual_degenerate_feasibility_pump,mip_primal_degenerate_pivots,mip_dual_degenerate_pivots),pdlp_hyper_reduced_matrix,pdlp_hyper_project_initial_primalsequence_solve(Python re-solve cache only),log_file/log_to_console(set by the link)cuOptGetSolutionIntAttribute)#ifdef, still compiles against 26.08 headersnodlimto cuOptnode_limit(was ignored before)gmscuopt.c, cuOpt now returns correct reduced costs (Correctly return reduced costs for PDLP (stable3) NVIDIA/cuopt#1797)main(Fix example notebooks for current release zips #21, README quickstart, Colab badges, performance notes and community files #22); the only conflict (notebook links inREADME.md) resolved in favour ofmain's Colab badges26.10.0wheels (v26.10.00,e93f7dc5; mathopt and client from the same commit), CUDA 13, single RTX A1000: link builds without warnings,tests/test-fetch-cuoptlink.py29/29poutilhits its 300 s limit with the reference objective, run-to-run variance)examples/models/regression_tests/run_tests.shagainst the released wheels: 10/10 passa285(cuOpt74923bbd): gamslib test 73/73 match CPLEXmethod 1,num_gpus -1,presolve 0, runs even on 1 GPU) with nightlya278:trnsportoptimal, gamslib 73/73cuOptSetLogCallbackfor a live log, since it only receives lines from the calling thread (a MIP log loses ~75% of its lines)