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.
>=26.10.0a0) from the RAPIDS nightly index--prerelease=allowand--index-strategy unsafe-best-matchso RAPIDS packages come from the nightly index and CUDA libraries from pypi.nvidia.combuild-link.sh)libcuoptis now a thin metapackage;libcuopt.sois a linker script, not the engine. Build againstlibcuopt_mathopt/includepluslibcuopt_client/include, link-lcuopt_mathoptand the separate client library, and bundlelibcuopt_mathopt/lib64/libcuopt_mathopt.so+libcuopt_client/lib64/libcuopt_client.so(routing is not needed by the GAMS link).libgomp,libtbb,libtbbmallocandlibcudartfromlibcuopt_mathopt_cuXX.libs, rather thanlibcuopt_cuXX.libs. The client also uses bundledlibgomp/libcares: include bothlibcuopt_client_cuXX.libsandlibcuopt_client.libs, since the unsuffixed client wheel may own the installedlibcuopt_client.so.libompis gone.libcuopt_mathopt/lib64/libcudss_mtlayer_cuopt.so; do not bundlelibcudss_mtlayer_gomp.so. Read build version/hash from the mathopt wheel inbuild-link.shinstead of using placeholder defaults.libcuopt_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.0a222(CUDA 13, single RTX A1000):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)