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
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-cuXX==26.10.0a223.post261002122804as a stopgap--prerelease=allowand--index-strategy unsafe-best-matchso RAPIDS packages come from the nightly index and CUDA libraries from pypi.nvidia.comcuOptGetIntegerParameter/cuOptSetIntegerParametercall returnsCUOPT_INVALID_ARGUMENT, so every solve ends with status 13libcuopt-cuXXdirectly: there is nocuopt-cuXXwheel for a223, and pinningcuopt-cuXX==26.10.0a222still resolveslibcuoptto the modular a2268edd916) is reverted in4855adaand kept in history; unpin and reapply it once working modular 26.10 packages from NVIDIA are on PyPIlibcuoptwheel (both workflows andbuild-link.sh)-lcuopt_mathopt, bundlelibcuopt/lib64/libcuopt_mathopt.so+libcuopt_client.solibcuopt/lib64/libcudss_mtlayer_cuopt.so; do not bundlelibcudss_mtlayer_gomp.solibcuopt_client.soneeds systemlibssl.so.3/libcrypto.so.3/libz.so.1(not bundled)optcuopt.def:num_gpusnow accepts-1..72, newmultigpu_pdlp_partitioneroptiongmscuopt.ccreates the problem withcuOptCreateRangedProbleminstead ofcuOptCreateProblem, since cuOpt's multi-GPU path only reads constraint lower/upper bounds and saw 0 constraints (validation error withpresolve 0)optcuopt.defto cuOpt 26.10mip_hyper_heuristic_presolve_time_ratio,mip_hyper_heuristic_presolve_max_time,mip_hyper_diving_min_node_depth,mip_hyper_submip_node_limit_base)method 4(primal simplex) andbarrier_dual_initial_point 2(SeDuMi-style), fix changed default ofmip_hyper_heuristic_related_vars_time_limitconcurrent_nnz_cutoff,primal_simplex_pricing,mip_rens,mip_mutation, barrier regularization, Curtis-Reid scaling);sequence_solveleft out (Python re-solve cache only)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)26.10.0a223(CUDA 13, single RTX A1000): regression tests 10/10, gamslib test 73/73 match CPLEX26.10.0a222: multi-GPU code path (method 1,num_gpus -1, runs even on 1 GPU): 33/35 gamslib LPs match CPLEX within 1e-3;egypthits the iteration limit (also with single-GPU PDLP),indus89doesn't converge within 120 s (single-GPU PDLP: optimal in 25 s)nodlimchecked ontrnsportandcubecuOptSetLogCallbackfor a live log, since it only receives lines from the calling thread (a MIP log loses ~75% of its lines)