Skip to content

Main merge release/26.04 - #998

Merged
ramakrishnap-nv merged 5 commits into
NVIDIA:mainfrom
ramakrishnap-nv:main-merge-release/26.04
Mar 30, 2026
Merged

Main merge release/26.04#998
ramakrishnap-nv merged 5 commits into
NVIDIA:mainfrom
ramakrishnap-nv:main-merge-release/26.04

Conversation

@ramakrishnap-nv

@ramakrishnap-nv ramakrishnap-nv commented Mar 30, 2026

Copy link
Copy Markdown
Collaborator

For #990

jameslamb and others added 5 commits March 23, 2026 18:28
NVIDIA#973)

Contributes to rapidsai/build-planning#257

* builds CUDA 13 wheels with the 13.0 CTK
* ensures wheels ship with a runtime dependency of `nvidia-nvjitlink>={whatever-minor-version-they-were-built-against}`

Contributes to rapidsai/build-planning#256

* updates wheel tests to cover a range of CTK versions (we previously, accidentally, were only testing the latest 12.x and 13.x)

Contributes to rapidsai/build-planning#205

* switches `rapidsai/shared-workflows` branches, `@python-3.14 -> @main` (rapidsai/shared-workflows#508 was merged)

## Issue

N/A

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: NVIDIA#973
Disable running notebooks which are added examples while building docs

Authors:
  - Ramakrishnap (https://github.com/rgsl888prabhu)

Approvers:
  - Trevor McKay (https://github.com/tmckayus)

URL: NVIDIA#980
This PR adds a new option to write the presolved model if presolved is applied.

Authors:
  - Hugo Linsenmaier (https://github.com/hlinsen)

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

URL: NVIDIA#459
@ramakrishnap-nv
ramakrishnap-nv requested review from a team as code owners March 30, 2026 16:09
@ramakrishnap-nv ramakrishnap-nv self-assigned this Mar 30, 2026
@ramakrishnap-nv ramakrishnap-nv added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Mar 30, 2026
@ramakrishnap-nv
ramakrishnap-nv merged commit 77fed85 into NVIDIA:main Mar 30, 2026
20 of 22 checks passed
@coderabbitai

coderabbitai Bot commented Mar 30, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

Changes add pip constraint generation to CI test scripts, introduce third-party integration tests for PuLP and Pyomo, add presolve file output support to C++ solvers, and update CUDA dependency specifications across dependencies.yaml and pyproject.toml.

Changes

Cohort / File(s) Summary
CI Test Scripts with Pip Constraints
ci/test_self_hosted_service.sh, ci/test_wheel_cuopt.sh, ci/test_wheel_cuopt_server.sh
Updated scripts to call rapids-generate-pip-constraints before installing wheels, adding --prefer-binary and --constraint flags to pip install commands to enforce generated dependency constraints.
CI Third-Party Integration Tests
ci/thirdparty-testing/run_pulp_tests.sh, ci/thirdparty-testing/run_pyomo_tests.sh
New Bash scripts that automate building and testing PuLP and Pyomo from source against cuOpt. Both require PIP_CONSTRAINT environment variable, install packages in editable mode with constraints, run pip check, and execute cuopt-filtered pytest suites with 5-minute timeouts.
C++ Linear Programming Configuration
cpp/include/cuopt/linear_programming/constants.h, cpp/include/cuopt/linear_programming/.../solver_settings.hpp
Added CUOPT_PRESOLVE_FILE constant and new presolve_file string member field to both mip_solver_settings_t and pdlp_solver_settings_t structs to enable presolve output file configuration.
C++ Solver Implementation
cpp/src/math_optimization/solver_settings.cu, cpp/src/mip_heuristics/solve.cu, cpp/src/pdlp/solve.cu
Extended solver settings constructor to initialize presolve_file parameter bindings and added conditional logic in MIP and PDLP solvers to write presolved problems to MPS files when presolve is enabled and output path is specified.
Dependencies & Package Configuration
dependencies.yaml, python/libcuopt/pyproject.toml
Updated CUDA version handling to remove support for versions 12.0 and 12.4, added explicit toolkit version requirements for supported CUDA versions, and replaced unpinned nvidia packages with version-constrained dependencies (cuda-toolkit, nvidia-cudss, nvidia-nvjitlink).
Documentation
docs/cuopt/source/conf.py
Added nb_execution_excludepatterns configuration to exclude routing-example.ipynb from Sphinx notebook execution.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ❌ 3

❌ Failed checks (1 warning, 2 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Main merge release/26.04' is vague and does not clearly summarize the main changes in the pull request. Use a more descriptive title that highlights the primary change, such as 'Add presolved problem output and improve CI/testing for CUDA 13.0 and third-party integrations'.
Description check ❓ Inconclusive The description references issue #990 but provides minimal context about the actual changes included in the pull request. Expand the description to briefly summarize the key changes: presolve file output, CUDA 13.0 dependencies, third-party testing (PuLP/Pyomo), and CI improvements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants