From 5eb55b5c210bcb2dbd253839cdce6b791c5ac224 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Mon, 11 May 2026 18:46:20 -0500 Subject: [PATCH 1/3] Build and test with CUDA 13.2.0 --- .github/workflows/build.yaml | 28 ++++++++--------- .../workflows/build_test_publish_images.yaml | 2 +- .github/workflows/pr.yaml | 30 +++++++++---------- .github/workflows/test.yaml | 10 +++---- .../trigger-breaking-change-alert.yaml | 2 +- CONTRIBUTING.md | 2 +- ...64.yaml => all_cuda-132_arch-aarch64.yaml} | 4 +-- ..._64.yaml => all_cuda-132_arch-x86_64.yaml} | 4 +-- dependencies.yaml | 11 ++++++- 9 files changed, 51 insertions(+), 42 deletions(-) rename conda/environments/{all_cuda-131_arch-aarch64.yaml => all_cuda-132_arch-aarch64.yaml} (96%) rename conda/environments/{all_cuda-131_arch-x86_64.yaml => all_cuda-132_arch-x86_64.yaml} (96%) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 870244bbc2..80a4a3fd32 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -53,7 +53,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -69,7 +69,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -84,7 +84,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@cuda-13.2.0 secrets: CONDA_RAPIDSAI_NIGHTLY_TOKEN: ${{ secrets.CONDA_RAPIDSAI_NIGHTLY_TOKEN }} CONDA_RAPIDSAI_TOKEN: ${{ secrets.CONDA_RAPIDSAI_TOKEN }} @@ -101,7 +101,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -121,7 +121,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.2.0 secrets: CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN: ${{ secrets.CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN }} RAPIDSAI_PYPI_TOKEN: ${{ secrets.RAPIDSAI_PYPI_TOKEN }} @@ -141,7 +141,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -159,7 +159,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.2.0 secrets: CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN: ${{ secrets.CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN }} RAPIDSAI_PYPI_TOKEN: ${{ secrets.RAPIDSAI_PYPI_TOKEN }} @@ -179,7 +179,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -196,7 +196,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.2.0 secrets: CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN: ${{ secrets.CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN }} RAPIDSAI_PYPI_TOKEN: ${{ secrets.RAPIDSAI_PYPI_TOKEN }} @@ -215,7 +215,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -235,7 +235,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.2.0 secrets: CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN: ${{ secrets.CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN }} RAPIDSAI_PYPI_TOKEN: ${{ secrets.RAPIDSAI_PYPI_TOKEN }} @@ -255,7 +255,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} node_type: "gpu-l4-latest-1" @@ -275,7 +275,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -296,7 +296,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.2.0 secrets: CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN: ${{ secrets.CONDA_RAPIDSAI_WHEELS_NIGHTLY_TOKEN }} RAPIDSAI_PYPI_TOKEN: ${{ secrets.RAPIDSAI_PYPI_TOKEN }} diff --git a/.github/workflows/build_test_publish_images.yaml b/.github/workflows/build_test_publish_images.yaml index de56634cd0..c4178a804d 100644 --- a/.github/workflows/build_test_publish_images.yaml +++ b/.github/workflows/build_test_publish_images.yaml @@ -20,7 +20,7 @@ on: description: 'JSON array of architectures to build for' cuda_ver: type: string - default: '["12.9.0", "13.1.0"]' + default: '["12.9.0", "13.2.0"]' description: 'JSON array of CUDA versions to build for' python_ver: type: string diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 474f5e2363..1f38fb6cb7 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -37,7 +37,7 @@ jobs: - test-self-hosted-server permissions: contents: read - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@cuda-13.2.0 if: always() with: needs: ${{ toJSON(needs) }} @@ -129,7 +129,7 @@ jobs: contents: read packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@cuda-13.2.0 with: files_yaml: | build_docs: @@ -375,7 +375,7 @@ jobs: checks: permissions: contents: read - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@cuda-13.2.0 with: enable_check_generated_files: false conda-cpp-build: @@ -392,7 +392,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda-13.2.0 with: build_type: pull-request script: ci/build_cpp.sh @@ -405,7 +405,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-13.2.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp with: build_type: pull-request @@ -431,7 +431,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@cuda-13.2.0 with: build_type: pull-request script: ci/build_python.sh @@ -444,7 +444,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda-13.2.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda with: run_codecov: false @@ -467,7 +467,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda-13.2.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).build_docs with: build_type: pull-request @@ -488,7 +488,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: pull-request script: ci/build_wheel_cuopt_mps_parser.sh @@ -507,7 +507,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: # build for every combination of arch and CUDA version, but only for the latest Python matrix_filter: ${{ needs.compute-matrix-filters.outputs.libcuopt_filter }} @@ -525,7 +525,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: pull-request script: ci/build_wheel_cuopt.sh @@ -540,7 +540,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.2.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels with: build_type: pull-request @@ -563,7 +563,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: pull-request script: ci/build_wheel_cuopt_server.sh @@ -582,7 +582,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.2.0 with: build_type: pull-request script: ci/build_wheel_cuopt_sh_client.sh @@ -600,7 +600,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.2.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels with: build_type: pull-request diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8a39c587e4..289ebb4f62 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -35,7 +35,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -57,7 +57,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda-13.2.0 with: run_codecov: false build_type: ${{ inputs.build_type }} @@ -80,7 +80,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -102,7 +102,7 @@ jobs: id-token: write packages: read pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -125,7 +125,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda-13.2.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/trigger-breaking-change-alert.yaml b/.github/workflows/trigger-breaking-change-alert.yaml index 0347178e38..9d71c40e4c 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -19,7 +19,7 @@ permissions: {} jobs: trigger-notifier: if: contains(github.event.pull_request.labels.*.name, 'breaking') - uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@cuda-13.2.0 secrets: NV_SLACK_BREAKING_CHANGE_ALERT: ${{ secrets.NV_SLACK_BREAKING_CHANGE_ALERT }} permissions: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 76a595996c..fd8bc48d64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -157,7 +157,7 @@ Please install conda if you don't have it already. You can install [miniforge](h # create the conda environment (assuming in base `cuopt` directory) # note: cuOpt currently doesn't support `channel_priority: strict`; # use `channel_priority: flexible` instead -conda env create -p ./.cuopt_env --file conda/environments/all_cuda-131_arch-$(uname -m).yaml +conda env create -p ./.cuopt_env --file conda/environments/all_cuda-132_arch-$(uname -m).yaml # activate the environment conda activate ./.cuopt_env ``` diff --git a/conda/environments/all_cuda-131_arch-aarch64.yaml b/conda/environments/all_cuda-132_arch-aarch64.yaml similarity index 96% rename from conda/environments/all_cuda-131_arch-aarch64.yaml rename to conda/environments/all_cuda-132_arch-aarch64.yaml index 18ef770844..fa8844a1f9 100644 --- a/conda/environments/all_cuda-131_arch-aarch64.yaml +++ b/conda/environments/all_cuda-132_arch-aarch64.yaml @@ -18,7 +18,7 @@ dependencies: - cuda-nvtx-dev - cuda-python>=13.0.1,<14.0 - cuda-sanitizer-api -- cuda-version=13.1 +- cuda-version=13.2 - cudf==26.6.*,>=0.0.0a0 - cupy>=13.6.0 - cxx-compiler @@ -83,4 +83,4 @@ dependencies: - nvidia-sphinx-theme - swagger-plugin-for-sphinx - veroviz -name: all_cuda-131_arch-aarch64 +name: all_cuda-132_arch-aarch64 diff --git a/conda/environments/all_cuda-131_arch-x86_64.yaml b/conda/environments/all_cuda-132_arch-x86_64.yaml similarity index 96% rename from conda/environments/all_cuda-131_arch-x86_64.yaml rename to conda/environments/all_cuda-132_arch-x86_64.yaml index 02b0af4cac..a37d8718c0 100644 --- a/conda/environments/all_cuda-131_arch-x86_64.yaml +++ b/conda/environments/all_cuda-132_arch-x86_64.yaml @@ -18,7 +18,7 @@ dependencies: - cuda-nvtx-dev - cuda-python>=13.0.1,<14.0 - cuda-sanitizer-api -- cuda-version=13.1 +- cuda-version=13.2 - cudf==26.6.*,>=0.0.0a0 - cupy>=13.6.0 - cxx-compiler @@ -83,4 +83,4 @@ dependencies: - nvidia-sphinx-theme - swagger-plugin-for-sphinx - veroviz -name: all_cuda-131_arch-x86_64 +name: all_cuda-132_arch-x86_64 diff --git a/dependencies.yaml b/dependencies.yaml index 8e6a62cb3f..1601058cf2 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -7,7 +7,7 @@ files: all: output: conda matrix: - cuda: ["12.9", "13.1"] + cuda: ["12.9", "13.2"] arch: [x86_64, aarch64] includes: - build_common @@ -670,6 +670,10 @@ dependencies: cuda: "13.1" packages: - cuda-version=13.1 + - matrix: + cuda: "13.2" + packages: + - cuda-version=13.2 - output_types: requirements matrices: # if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels @@ -715,6 +719,11 @@ dependencies: use_cuda_wheels: "true" packages: - cuda-toolkit==13.1.* + - matrix: + cuda: "13.2" + use_cuda_wheels: "true" + packages: + - cuda-toolkit==13.2.* cuda: common: - output_types: [conda] From 54730928165024fb07a693253022b916212e0bfd Mon Sep 17 00:00:00 2001 From: Ramakrishnap <42624703+rgsl888prabhu@users.noreply.github.com> Date: Wed, 13 May 2026 13:44:11 -0500 Subject: [PATCH 2/3] Update CMakeLists.txt --- cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 6ce751946b..a68251e712 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -164,7 +164,7 @@ endif (DEFINE_PDLP_VERBOSE_MODE) # on cuda 13.1, this can produce a non-contiguous byte mask which is not allowed in Hopper/Blackwell. # This is fixed only NVCC ≥ 13.2. -if (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS_EQUAL 13.2) +if (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 13.2) add_definitions(-DCCCL_DISABLE_WARPSPEED_SCAN) endif () From 7c0a410271377aafc83c34402ea48069bbf26e21 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Thu, 14 May 2026 18:37:23 +0000 Subject: [PATCH 3/3] Remove workaround for warpspeed bugs. --- cpp/CMakeLists.txt | 9 --------- 1 file changed, 9 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index a68251e712..7e9dd13711 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -159,15 +159,6 @@ if (DEFINE_PDLP_VERBOSE_MODE) add_definitions(-DPDLP_VERBOSE_MODE) endif (DEFINE_PDLP_VERBOSE_MODE) -# This fix a crash on RTX PRO 6000 caused by Warp MMU Fault in cub::detail::scan::DeviceScanKernel. -# CCCL 3.4.0 introduced an SM90+ "warpspeed" scan kernel that uses Hopper/Blackwell TMA (cp_async_bulk), however, -# on cuda 13.1, this can produce a non-contiguous byte mask which is not allowed in Hopper/Blackwell. -# This is fixed only NVCC ≥ 13.2. - -if (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 13.2) - add_definitions(-DCCCL_DISABLE_WARPSPEED_SCAN) -endif () - # Set logging level set(LIBCUOPT_LOGGING_LEVEL "INFO"