Rename Java multi-GPU PDLP settings to setUseMpdlp/setMpdlpPartitioner - #1981
ramakrishnap-nv wants to merge 2 commits into
Conversation
Follow-up to NVIDIA#1961 (merged): completes the multi-GPU sharding sentence that landed on the fork after that PR had already merged, and applies the mPDLP naming migration (matching NVIDIA#1957/NVIDIA#1962) to the Java bindings. Method names only - the underlying CUOPT_USE_DISTRIBUTED_PDLP / CUOPT_DISTRIBUTED_PDLP_PARTITIONER constants stay unchanged, since they're generated from the already-shipped C API. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Per team decision: documentation spells out "multi-GPU PDLP" in full (no abbreviations); "mpdlp" stays as the short form used in code identifiers only (setUseMpdlp, setMpdlpPartitioner, unchanged). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
CI Test Summary1 failed · 13 passed · 2 skipped
|
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: NVIDIA/cuopt/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 12 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe Java settings methods for multi-GPU PDLP use new names. Their documentation describes GPU-count behavior for sharding and partitioning. The integration test now calls the renamed methods. ChangesJava mPDLP settings API
Estimated code review effort: 2 (Simple) | ~8 minutes Merge Risk: ⚪ Minimal · up to The Java API rename is reflected in its documentation and test, with no identified issue blocking merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
| * ``setOptimalityTolerance``; | ||
| * ``setNumGpus``, ``setUseDistributedPdlp``, and ``setDistributedPdlpPartitioner``, | ||
| for distributing a PDLP solve across multiple GPUs. Distributed PDLP requires | ||
| * ``setNumGpus``, ``setUseMpdlp``, and ``setMpdlpPartitioner``, |
There was a problem hiding this comment.
Remove setUseMpdlp. Does setMpdlpPartitioner need to be exposed in the API? Can this just be a regular parameter that is set like every other regular parameter?
…ITIONER; remove CUOPT_USE_DISTRIBUTED_PDLP (#1984) Per team naming discussion: CUOPT_DISTRIBUTED_PDLP_PARTITIONER -> CUOPT_MULTIGPU_PDLP_PARTITIONER (avoids confusion with the existing D-PDLP solver), and CUOPT_USE_DISTRIBUTED_PDLP is removed entirely since it was never meant to be user-facing (already hidden from --help). Dispatch is now purely method == PDLP && (num_gpus == -1 || num_gpus > 1); the internal use_distributed_pdlp C++ field stays as implementation bookkeeping. Also fixes the already-merged Java bindings (#1961), which referenced both constants directly. Breaking change to the C/C++/CLI surface (introduced ~2 months ago in #1391, author-described as internal). #1957, #1962, and #1981 alias to the old names and will need a follow-up once this merges. Fixes #1931 🤖 Generated with [Claude Code](https://claude.com/claude-code) Authors: - Ramakrishna Prabhu (https://github.com/ramakrishnap-nv) Approvers: - Bulle Mostovoi (https://github.com/Bubullzz) - Ishika Roy (https://github.com/Iroy30) URL: #1984
Follow-up to #1961 (merged): a doc fix landed on that branch after the PR had already merged and never made it into main - re-applies it here. Also renames
setUseDistributedPdlp/setDistributedPdlpPartitionertosetUseMpdlp/setMpdlpPartitioner, matching the mPDLP naming migration already applied to #1957 (Python) and #1962 (gRPC). Method names only; the underlyingCUOPT_USE_DISTRIBUTED_PDLP/CUOPT_DISTRIBUTED_PDLP_PARTITIONERconstants are unchanged (already-shipped C API).Fixes #1931
🤖 Generated with Claude Code