From ed17ba06e9b727eb3e1c555691f116271a2d8db4 Mon Sep 17 00:00:00 2001 From: Sylendran95 Date: Wed, 3 Jun 2026 14:59:07 -0700 Subject: [PATCH 1/3] Update cuOpt MIP positioning --- README.md | 6 +++++- docs/cuopt/source/cuopt-c/mip/index.rst | 7 +++++++ docs/cuopt/source/cuopt-cli/index.rst | 5 +++++ docs/cuopt/source/cuopt-python/mip/index.rst | 7 ++++++- docs/cuopt/source/faq.rst | 9 +++++++++ docs/cuopt/source/introduction.rst | 11 ++++++++--- docs/cuopt/source/milp-features.rst | 7 ++++++- docs/cuopt/source/mip-settings.rst | 5 +++++ 8 files changed, 51 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1043a1298c..d35697282b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,11 @@ -NVIDIA® cuOpt™ is a GPU-accelerated optimization engine that excels in linear programming (LP), quadratic programming (QP), and vehicle routing problems (VRP), with support for quadratically constrained quadratic programming (QCQP) (beta), second-order cone programming (SOCP) (beta), and mixed integer linear programming (MILP) (beta). It enables near real-time solutions for large-scale LPs with millions of variables and constraints. cuOpt offers easy integration into existing modeling languages and seamless deployment across hybrid and multi-cloud environments. +NVIDIA® cuOpt™ is a GPU-accelerated optimization engine that excels in linear programming (LP), quadratic programming (QP), and vehicle routing problems (VRP), with support for quadratically constrained quadratic programming (QCQP) (beta), second-order cone programming (SOCP) (beta), and mixed integer linear programming (MILP) (beta). cuOpt enables near real-time solutions for large-scale LPs with millions of variables and constraints and offers easy integration into existing modeling languages with seamless deployment across hybrid and multi-cloud environments. + +The cuOpt MIP solver is in beta and under active development. The solver currently excels at finding high-quality feasible solutions quickly with GPU-accelerated primal heuristics. Proving feasible solutions optimal remains under active development. + +cuOpt offers easy integration into existing solvers, and seamlessly extends into agent-first optimization workflows through open-source cuOpt agent skills. The core engine is written in C++ and wrapped with a C API, Python API and Server API. diff --git a/docs/cuopt/source/cuopt-c/mip/index.rst b/docs/cuopt/source/cuopt-c/mip/index.rst index 525e29cacd..4930f067b2 100644 --- a/docs/cuopt/source/cuopt-c/mip/index.rst +++ b/docs/cuopt/source/cuopt-c/mip/index.rst @@ -1,6 +1,13 @@ MIP (Mixed Integer Programming) ================================ +.. note:: + + The cuOpt MIP solver is in **beta** and under active development. The solver + currently excels at finding high-quality feasible solutions quickly with + GPU-accelerated primal heuristics. Proving feasible solutions optimal remains + under active development. + This section contains details on the cuOpt MIP C API. .. toctree:: diff --git a/docs/cuopt/source/cuopt-cli/index.rst b/docs/cuopt/source/cuopt-cli/index.rst index cae126133d..4093db0028 100644 --- a/docs/cuopt/source/cuopt-cli/index.rst +++ b/docs/cuopt/source/cuopt-cli/index.rst @@ -3,6 +3,11 @@ Command Line Interface The cuopt_cli is a command-line interface for LP/MILP solvers that accepts MPS, QPS, or LP format files as input models. The format is dispatched automatically from the file extension (case-insensitive): ``.lp`` (with optional ``.gz`` / ``.bz2``) goes to the LP parser, ``.mps`` / ``.qps`` (with optional ``.gz`` / ``.bz2``) goes to the MPS parser, and unknown extensions are rejected. It provides command-line arguments to control all solver settings and parameters when solving linear and mixed-integer programming problems. +The cuOpt MIP solver is in **beta** and under active development. The solver +currently excels at finding high-quality feasible solutions quickly with +GPU-accelerated primal heuristics. Proving feasible solutions optimal remains +under active development. + .. toctree:: :maxdepth: 3 :caption: Command Line Interface Overview diff --git a/docs/cuopt/source/cuopt-python/mip/index.rst b/docs/cuopt/source/cuopt-python/mip/index.rst index ee62b3e14c..c67b32b1ae 100644 --- a/docs/cuopt/source/cuopt-python/mip/index.rst +++ b/docs/cuopt/source/cuopt-python/mip/index.rst @@ -1,7 +1,12 @@ MIP (Mixed Integer Programming) ================================ -.. note:: Support for mixed integer linear programming is currently in **beta**. +.. note:: + + The cuOpt MIP solver is in **beta** and under active development. The solver + currently excels at finding high-quality feasible solutions quickly with + GPU-accelerated primal heuristics. Proving feasible solutions optimal remains + under active development. This section contains details on the cuOpt MIP Python API. diff --git a/docs/cuopt/source/faq.rst b/docs/cuopt/source/faq.rst index e0bd379001..1a5c06b4d3 100644 --- a/docs/cuopt/source/faq.rst +++ b/docs/cuopt/source/faq.rst @@ -422,6 +422,15 @@ Linear Programming FAQs Mixed Integer Linear Programming FAQs -------------------------------------- +.. dropdown:: How do I run the MIP solver with cuOpt? + + You can run the cuOpt MIP solver through the Python, C, CLI, or server APIs + by providing a model with integer or binary variables. The cuOpt MIP solver + is in **beta** and under active development. The solver currently excels at + finding high-quality feasible solutions quickly with GPU-accelerated primal + heuristics. Proving feasible solutions optimal remains under active + development. + .. dropdown:: What are the limitations of the MILP solver? #. There is no inherit limit imposed on the number of variables, number of constraints, or number of non-zeros you can have in a MILP or LP, except the restrictions due to the number of bits in integer and the amount of memory in the CPU and GPU. diff --git a/docs/cuopt/source/introduction.rst b/docs/cuopt/source/introduction.rst index cd2f39242d..8fe2dcc3ea 100644 --- a/docs/cuopt/source/introduction.rst +++ b/docs/cuopt/source/introduction.rst @@ -79,9 +79,14 @@ All three algorithms can be run concurrently on both GPU and CPU, with the faste Mixed Integer Linear Programming (MILP) (Beta) ============================================== -.. note:: Support for mixed integer linear programming is currently in **beta**. +A **Mixed Integer Program (MIP)** is an optimization problem where some variables are restricted to take on only integer values, while other variables can vary continuously. A **Mixed Integer Linear Program (MILP)** is a MIP with a linear objective and linear constraints. -A **Mixed Integer Linear Program** is a variant of a Linear Program where some of the variables are restricted to take on only integer values, while other variables can vary continuously. NVIDIA cuOpt uses a hybrid GPU/CPU method: running primal heuristics on the GPU and improving the dual bound on the CPU. +.. note:: + + The cuOpt MIP solver is in **beta** and under active development. The solver + currently excels at finding high-quality feasible solutions quickly with + GPU-accelerated primal heuristics. Proving feasible solutions optimal remains + under active development. For example, consider the following system of constraints: @@ -104,7 +109,7 @@ Although MILPs seems similar to a LPs, they require much more computation to sol How cuOpt Solves the Mixed-Integer Linear Programming Problem ------------------------------------------------------------- -The MILP solver is a hybrid GPU/CPU algorithm. Primal heuristics including local search, feasibility pump, and feasibility jump are performed on the GPU to improve the primal bound. Branch and bound is performed on the CPU to improve the dual bound. Integer feasible solutions are shared between both algorithms. +cuOpt combines GPU-accelerated primal heuristics for improving the primal bound with traditional CPU algorithms, including branch and bound, to improve the dual bound. Primal heuristics such as local search, feasibility pump, and feasibility jump run on the GPU. Integer feasible solutions are shared between these components. ============================= diff --git a/docs/cuopt/source/milp-features.rst b/docs/cuopt/source/milp-features.rst index 90e298c18e..fc444872fa 100644 --- a/docs/cuopt/source/milp-features.rst +++ b/docs/cuopt/source/milp-features.rst @@ -5,6 +5,11 @@ MILP Features Availability ------------ +The cuOpt MIP solver is in **beta** and under active development. The solver +currently excels at finding high-quality feasible solutions quickly with +GPU-accelerated primal heuristics. Proving feasible solutions optimal remains +under active development. + The MILP solver can be accessed in the following ways: - **Third-Party Modeling Languages**: cuOpt's LP and MILP solver can be called directly from the following third-party modeling languages. This allows you to leverage GPU acceleration while maintaining your existing optimization workflow in these modeling languages. @@ -21,7 +26,7 @@ The MILP solver can be accessed in the following ways: - **As a Self-Hosted Service**: cuOpt's MILP solver can be deployed in your own infrastructure, enabling you to maintain full control while integrating it into your existing systems. -Each option provide the same powerful mixed-integer linear optimization capabilities while offering flexibility in deployment and integration. +Each option provides the same mixed-integer optimization capabilities while offering flexibility in deployment and integration. Variable Bounds --------------- diff --git a/docs/cuopt/source/mip-settings.rst b/docs/cuopt/source/mip-settings.rst index 02ac4f417e..f48d632097 100644 --- a/docs/cuopt/source/mip-settings.rst +++ b/docs/cuopt/source/mip-settings.rst @@ -78,6 +78,11 @@ access to the dual solution. Enabled by default for LP when Papilo presolve is s Mixed Integer Linear Programming --------------------------------- +The cuOpt MIP solver is in **beta** and under active development. The solver +currently excels at finding high-quality feasible solutions quickly with +GPU-accelerated primal heuristics. Proving feasible solutions optimal remains +under active development. + We now describe parameter settings for the MILP solver. From df5fe0d18372500e86957ba8d1770b49b178d2fd Mon Sep 17 00:00:00 2001 From: jolorunyomi Date: Tue, 9 Jun 2026 17:05:39 -0500 Subject: [PATCH 2/3] REL v26.06.00 release --- .../all_cuda-129_arch-aarch64.yaml | 12 ++--- .../all_cuda-129_arch-x86_64.yaml | 12 ++--- .../all_cuda-132_arch-aarch64.yaml | 12 ++--- .../all_cuda-132_arch-x86_64.yaml | 12 ++--- dependencies.yaml | 52 +++++++++---------- python/cuopt/pyproject.toml | 20 +++---- python/cuopt_self_hosted/pyproject.toml | 2 +- python/cuopt_server/pyproject.toml | 2 +- python/libcuopt/pyproject.toml | 8 +-- 9 files changed, 66 insertions(+), 66 deletions(-) diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index b4a646337d..345343e114 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -19,7 +19,7 @@ dependencies: - cuda-python>=12.9.2,<13.0 - cuda-sanitizer-api - cuda-version=12.9 -- cudf==26.6.*,>=0.0.0a0 +- cudf==26.6.* - cupy>=13.6.0,!=14.0.0,!=14.1.0 - cxx-compiler - cython>=3.0.3 @@ -37,8 +37,8 @@ dependencies: - libgrpc >=1.78.0,<1.80.0a0 - libnvjitlink-dev - libprotobuf -- libraft-headers==26.6.*,>=0.0.0a0 -- librmm==26.6.*,>=0.0.0a0 +- libraft-headers==26.6.* +- librmm==26.6.* - make - msgpack-numpy==0.4.8 - msgpack-python==1.1.2 @@ -55,7 +55,7 @@ dependencies: - pip - pre-commit - psutil>=6.0.0 -- pylibraft==26.6.*,>=0.0.0a0 +- pylibraft==26.6.* - pyrsistent - pytest-cov - pytest-rerunfailures @@ -63,10 +63,10 @@ dependencies: - python>=3.11,<3.15 - pyyaml>=6.0.0 - rapids-build-backend>=0.4.0,<0.5.0 -- rapids-logger==0.2.*,>=0.0.0a0 +- rapids-logger==0.2.* - re2 - requests -- rmm==26.6.*,>=0.0.0a0 +- rmm==26.6.* - ruamel.yaml>=0.18 - scikit-build-core>=0.11.0 - scipy>=1.14.1 diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index 0291229eb1..4466473a6a 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -19,7 +19,7 @@ dependencies: - cuda-python>=12.9.2,<13.0 - cuda-sanitizer-api - cuda-version=12.9 -- cudf==26.6.*,>=0.0.0a0 +- cudf==26.6.* - cupy>=13.6.0,!=14.0.0,!=14.1.0 - cxx-compiler - cython>=3.0.3 @@ -37,8 +37,8 @@ dependencies: - libgrpc >=1.78.0,<1.80.0a0 - libnvjitlink-dev - libprotobuf -- libraft-headers==26.6.*,>=0.0.0a0 -- librmm==26.6.*,>=0.0.0a0 +- libraft-headers==26.6.* +- librmm==26.6.* - make - msgpack-numpy==0.4.8 - msgpack-python==1.1.2 @@ -55,7 +55,7 @@ dependencies: - pip - pre-commit - psutil>=6.0.0 -- pylibraft==26.6.*,>=0.0.0a0 +- pylibraft==26.6.* - pyrsistent - pytest-cov - pytest-rerunfailures @@ -63,10 +63,10 @@ dependencies: - python>=3.11,<3.15 - pyyaml>=6.0.0 - rapids-build-backend>=0.4.0,<0.5.0 -- rapids-logger==0.2.*,>=0.0.0a0 +- rapids-logger==0.2.* - re2 - requests -- rmm==26.6.*,>=0.0.0a0 +- rmm==26.6.* - ruamel.yaml>=0.18 - scikit-build-core>=0.11.0 - scipy>=1.14.1 diff --git a/conda/environments/all_cuda-132_arch-aarch64.yaml b/conda/environments/all_cuda-132_arch-aarch64.yaml index 4a22949eb3..605ca8d577 100644 --- a/conda/environments/all_cuda-132_arch-aarch64.yaml +++ b/conda/environments/all_cuda-132_arch-aarch64.yaml @@ -19,7 +19,7 @@ dependencies: - cuda-python>=13.0.1,<14.0 - cuda-sanitizer-api - cuda-version=13.2 -- cudf==26.6.*,>=0.0.0a0 +- cudf==26.6.* - cupy>=13.6.0,!=14.0.0,!=14.1.0 - cxx-compiler - cython>=3.0.3 @@ -37,8 +37,8 @@ dependencies: - libgrpc >=1.78.0,<1.80.0a0 - libnvjitlink-dev - libprotobuf -- libraft-headers==26.6.*,>=0.0.0a0 -- librmm==26.6.*,>=0.0.0a0 +- libraft-headers==26.6.* +- librmm==26.6.* - make - msgpack-numpy==0.4.8 - msgpack-python==1.1.2 @@ -55,7 +55,7 @@ dependencies: - pip - pre-commit - psutil>=6.0.0 -- pylibraft==26.6.*,>=0.0.0a0 +- pylibraft==26.6.* - pyrsistent - pytest-cov - pytest-rerunfailures @@ -63,10 +63,10 @@ dependencies: - python>=3.11,<3.15 - pyyaml>=6.0.0 - rapids-build-backend>=0.4.0,<0.5.0 -- rapids-logger==0.2.*,>=0.0.0a0 +- rapids-logger==0.2.* - re2 - requests -- rmm==26.6.*,>=0.0.0a0 +- rmm==26.6.* - ruamel.yaml>=0.18 - scikit-build-core>=0.11.0 - scipy>=1.14.1 diff --git a/conda/environments/all_cuda-132_arch-x86_64.yaml b/conda/environments/all_cuda-132_arch-x86_64.yaml index 3b76383221..108dbe0568 100644 --- a/conda/environments/all_cuda-132_arch-x86_64.yaml +++ b/conda/environments/all_cuda-132_arch-x86_64.yaml @@ -19,7 +19,7 @@ dependencies: - cuda-python>=13.0.1,<14.0 - cuda-sanitizer-api - cuda-version=13.2 -- cudf==26.6.*,>=0.0.0a0 +- cudf==26.6.* - cupy>=13.6.0,!=14.0.0,!=14.1.0 - cxx-compiler - cython>=3.0.3 @@ -37,8 +37,8 @@ dependencies: - libgrpc >=1.78.0,<1.80.0a0 - libnvjitlink-dev - libprotobuf -- libraft-headers==26.6.*,>=0.0.0a0 -- librmm==26.6.*,>=0.0.0a0 +- libraft-headers==26.6.* +- librmm==26.6.* - make - msgpack-numpy==0.4.8 - msgpack-python==1.1.2 @@ -55,7 +55,7 @@ dependencies: - pip - pre-commit - psutil>=6.0.0 -- pylibraft==26.6.*,>=0.0.0a0 +- pylibraft==26.6.* - pyrsistent - pytest-cov - pytest-rerunfailures @@ -63,10 +63,10 @@ dependencies: - python>=3.11,<3.15 - pyyaml>=6.0.0 - rapids-build-backend>=0.4.0,<0.5.0 -- rapids-logger==0.2.*,>=0.0.0a0 +- rapids-logger==0.2.* - re2 - requests -- rmm==26.6.*,>=0.0.0a0 +- rmm==26.6.* - ruamel.yaml>=0.18 - scikit-build-core>=0.11.0 - scipy>=1.14.1 diff --git a/dependencies.yaml b/dependencies.yaml index c894f547bd..1d034dde80 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -285,7 +285,7 @@ dependencies: common: - output_types: [conda] packages: - - libcuopt-tests==26.6.*,>=0.0.0a0 + - libcuopt-tests==26.6.* build_wheels: common: - output_types: [requirements, pyproject] @@ -395,12 +395,12 @@ dependencies: common: - output_types: [requirements, pyproject] packages: - - cuopt-cu13==26.6.*,>=0.0.0a0 + - cuopt-cu13==26.6.* depends_on_libcuopt: common: - output_types: conda packages: - - &libcuopt_unsuffixed libcuopt==26.6.*,>=0.0.0a0 + - &libcuopt_unsuffixed libcuopt==26.6.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -413,18 +413,18 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - libcuopt-cu12==26.6.*,>=0.0.0a0 + - libcuopt-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - libcuopt-cu13==26.6.*,>=0.0.0a0 + - libcuopt-cu13==26.6.* - {matrix: null, packages: [*libcuopt_unsuffixed]} depends_on_cuopt: common: - output_types: conda packages: - - &cuopt_unsuffixed cuopt==26.6.*,>=0.0.0a0 + - &cuopt_unsuffixed cuopt==26.6.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -437,18 +437,18 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - cuopt-cu12==26.6.*,>=0.0.0a0 + - cuopt-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - cuopt-cu13==26.6.*,>=0.0.0a0 + - cuopt-cu13==26.6.* - {matrix: null, packages: [*cuopt_unsuffixed]} depends_on_cuopt_server: common: - output_types: conda packages: - - &cuopt_server_unsuffixed cuopt-server==26.6.*,>=0.0.0a0 + - &cuopt_server_unsuffixed cuopt-server==26.6.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -461,18 +461,18 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - cuopt-server-cu12==26.6.*,>=0.0.0a0 + - cuopt-server-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - cuopt-server-cu13==26.6.*,>=0.0.0a0 + - cuopt-server-cu13==26.6.* - {matrix: null, packages: [*cuopt_server_unsuffixed]} depends_on_cuopt_sh_client: common: - output_types: [conda, requirements, pyproject] packages: - - &cuopt_sh_client_unsuffixed cuopt-sh-client==26.6.*,>=0.0.0a0 + - &cuopt_sh_client_unsuffixed cuopt-sh-client==26.6.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -482,12 +482,12 @@ dependencies: common: - output_types: conda packages: - - libraft-headers==26.6.*,>=0.0.0a0 + - libraft-headers==26.6.* depends_on_librmm: common: - output_types: conda packages: - - &librmm_unsuffixed librmm==26.6.*,>=0.0.0a0 + - &librmm_unsuffixed librmm==26.6.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -499,12 +499,12 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - librmm-cu12==26.6.*,>=0.0.0a0 + - librmm-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - librmm-cu13==26.6.*,>=0.0.0a0 + - librmm-cu13==26.6.* - {matrix: null, packages: [*librmm_unsuffixed]} depends_on_cupy: common: @@ -529,7 +529,7 @@ dependencies: common: - output_types: [conda, requirements, pyproject] packages: - - rapids-logger==0.2.*,>=0.0.0a0 + - rapids-logger==0.2.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -539,7 +539,7 @@ dependencies: common: - output_types: conda packages: - - &rmm_unsuffixed rmm==26.6.*,>=0.0.0a0 + - &rmm_unsuffixed rmm==26.6.* - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -551,12 +551,12 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - rmm-cu12==26.6.*,>=0.0.0a0 + - rmm-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - rmm-cu13==26.6.*,>=0.0.0a0 + - rmm-cu13==26.6.* - matrix: packages: - *rmm_unsuffixed @@ -565,7 +565,7 @@ dependencies: common: - output_types: conda packages: - - &cudf_unsuffixed cudf==26.6.*,>=0.0.0a0 + - &cudf_unsuffixed cudf==26.6.* - output_types: requirements packages: - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple @@ -576,12 +576,12 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - cudf-cu12==26.6.*,>=0.0.0a0 + - cudf-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - cudf-cu13==26.6.*,>=0.0.0a0 + - cudf-cu13==26.6.* - matrix: packages: - *cudf_unsuffixed @@ -590,7 +590,7 @@ dependencies: common: - output_types: conda packages: - - &pylibraft_unsuffixed pylibraft==26.6.*,>=0.0.0a0 + - &pylibraft_unsuffixed pylibraft==26.6.* - output_types: requirements packages: - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple @@ -601,12 +601,12 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - pylibraft-cu12==26.6.*,>=0.0.0a0 + - pylibraft-cu12==26.6.* - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - pylibraft-cu13==26.6.*,>=0.0.0a0 + - pylibraft-cu13==26.6.* - matrix: packages: - *pylibraft_unsuffixed diff --git a/python/cuopt/pyproject.toml b/python/cuopt/pyproject.toml index 6cd97a839a..aadfbcc07d 100644 --- a/python/cuopt/pyproject.toml +++ b/python/cuopt/pyproject.toml @@ -20,17 +20,17 @@ license = "Apache-2.0" requires-python = ">=3.11" dependencies = [ "cuda-python>=13.0.1,<14.0", - "cudf==26.6.*,>=0.0.0a0", + "cudf==26.6.*", "cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0", - "libcuopt==26.6.*,>=0.0.0a0", + "libcuopt==26.6.*", "numba-cuda>=0.22.1", "numba>=0.60.0,<0.65.0", "numpy>=1.23.5,<3.0", "pandas>=2.0", - "pylibraft==26.6.*,>=0.0.0a0", + "pylibraft==26.6.*", "pyyaml>=6.0.0", - "rapids-logger==0.2.*,>=0.0.0a0", - "rmm==26.6.*,>=0.0.0a0", + "rapids-logger==0.2.*", + "rmm==26.6.*", "scipy>=1.14.1", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ @@ -48,7 +48,7 @@ test = [ "pytest-cov", "pytest-rerunfailures", "pytest<9.0", - "rapids-logger==0.2.*,>=0.0.0a0", + "rapids-logger==0.2.*", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] @@ -103,9 +103,9 @@ requires = [ "cmake>=4.0", "cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0", "cython>=3.0.3", - "libcuopt==26.6.*,>=0.0.0a0", + "libcuopt==26.6.*", "ninja", - "pylibraft==26.6.*,>=0.0.0a0", - "rapids-logger==0.2.*,>=0.0.0a0", - "rmm==26.6.*,>=0.0.0a0", + "pylibraft==26.6.*", + "rapids-logger==0.2.*", + "rmm==26.6.*", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. diff --git a/python/cuopt_self_hosted/pyproject.toml b/python/cuopt_self_hosted/pyproject.toml index 4de47de72e..b33e754597 100644 --- a/python/cuopt_self_hosted/pyproject.toml +++ b/python/cuopt_self_hosted/pyproject.toml @@ -40,7 +40,7 @@ test = [ "pytest<9.0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. mps = [ - "cuopt-cu13==26.6.*,>=0.0.0a0", + "cuopt-cu13==26.6.*", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] diff --git a/python/cuopt_server/pyproject.toml b/python/cuopt_server/pyproject.toml index 4dd24d9f73..c52b09f763 100644 --- a/python/cuopt_server/pyproject.toml +++ b/python/cuopt_server/pyproject.toml @@ -21,7 +21,7 @@ license = "Apache-2.0" license-files = ["LICENSE"] requires-python = ">=3.11" dependencies = [ - "cuopt==26.6.*,>=0.0.0a0", + "cuopt==26.6.*", "cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0", "fastapi", "jsonref==1.1.0", diff --git a/python/libcuopt/pyproject.toml b/python/libcuopt/pyproject.toml index c1045eefd4..afec02eaa0 100644 --- a/python/libcuopt/pyproject.toml +++ b/python/libcuopt/pyproject.toml @@ -31,10 +31,10 @@ classifiers = [ ] dependencies = [ "cuda-toolkit[cublas,cudart,curand,cusolver,cusparse,nvtx]==13.*", - "librmm==26.6.*,>=0.0.0a0", + "librmm==26.6.*", "nvidia-cudss-cu13>=0.7,<0.8", "nvidia-nvjitlink>=13.0,<14", - "rapids-logger==0.2.*,>=0.0.0a0", + "rapids-logger==0.2.*", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] @@ -76,7 +76,7 @@ dependencies-file = "../../dependencies.yaml" matrix-entry = "cuda_suffixed=true;use_cuda_wheels=true" requires = [ "cmake>=4.0", - "librmm==26.6.*,>=0.0.0a0", + "librmm==26.6.*", "ninja", - "rapids-logger==0.2.*,>=0.0.0a0", + "rapids-logger==0.2.*", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. From 93f27eb70f25459a75f3d88fa1f45bbb8535d7ae Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 10 Jun 2026 11:58:29 -0500 Subject: [PATCH 3/3] docs(grpc): title-case headings, replace ASCII diagrams with PNGs, archive older version URLs - Normalize section titles to title case across all gRPC docs (quick-start, advanced, api, examples, index, grpc-server-architecture) - Replace ASCII art process model and job-states diagrams with PNG images (grpc-process-model.png, grpc-job-states.png) - Increase gRPC toctree maxdepth from 2 to 4 in index.rst - Update versions1.json: older version URLs moved to archive.docs.nvidia.com Co-Authored-By: Claude Sonnet 4.6 --- cpp/docs/grpc-server-architecture.md | 2 +- docs/cuopt/source/cuopt-grpc/advanced.rst | 22 ++++---- docs/cuopt/source/cuopt-grpc/api.rst | 14 ++--- docs/cuopt/source/cuopt-grpc/examples.rst | 8 +-- .../cuopt-grpc/grpc-server-architecture.md | 48 ++---------------- .../cuopt-grpc/images/grpc-job-states.png | Bin 0 -> 14132 bytes .../cuopt-grpc/images/grpc-process-model.png | Bin 0 -> 50314 bytes docs/cuopt/source/cuopt-grpc/index.rst | 2 +- docs/cuopt/source/cuopt-grpc/quick-start.rst | 14 ++--- docs/cuopt/source/index.rst | 10 ++-- docs/cuopt/source/versions1.json | 16 +++--- 11 files changed, 47 insertions(+), 89 deletions(-) create mode 100644 docs/cuopt/source/cuopt-grpc/images/grpc-job-states.png create mode 100644 docs/cuopt/source/cuopt-grpc/images/grpc-process-model.png diff --git a/cpp/docs/grpc-server-architecture.md b/cpp/docs/grpc-server-architecture.md index 77fe093b28..425047cc23 100644 --- a/cpp/docs/grpc-server-architecture.md +++ b/cpp/docs/grpc-server-architecture.md @@ -1,4 +1,4 @@ -# NVIDIA cuOpt gRPC server architecture +# NVIDIA cuOpt gRPC Server Architecture