From ad1a1a8e84b8cd34629fbc4f99beb1ad3bc10bed Mon Sep 17 00:00:00 2001 From: James Lamb Date: Mon, 5 Jan 2026 14:22:28 -0600 Subject: [PATCH 01/10] build and test against CUDA 13.1.0 --- .github/workflows/build.yaml | 28 ++++++++--------- .github/workflows/pr.yaml | 30 +++++++++---------- .github/workflows/test.yaml | 10 +++---- .../trigger-breaking-change-alert.yaml | 2 +- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 66df454bd..123dc7188 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -44,7 +44,7 @@ concurrency: jobs: cpp-build: 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.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -54,7 +54,7 @@ jobs: python-build: needs: [cpp-build] 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.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -64,7 +64,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -72,7 +72,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build-cuopt-mps-parser: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -87,7 +87,7 @@ jobs: wheel-publish-cuopt-mps-parser: needs: wheel-build-cuopt-mps-parser secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -98,7 +98,7 @@ jobs: wheel-build-libcuopt: needs: wheel-build-cuopt-mps-parser secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -111,7 +111,7 @@ jobs: wheel-publish-libcuopt: needs: wheel-build-libcuopt secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -122,7 +122,7 @@ jobs: wheel-build-cuopt: needs: [wheel-build-cuopt-mps-parser, wheel-build-libcuopt] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -134,7 +134,7 @@ jobs: wheel-publish-cuopt: needs: wheel-build-cuopt secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -144,7 +144,7 @@ jobs: package-type: python wheel-build-cuopt-server: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -159,7 +159,7 @@ jobs: wheel-publish-cuopt-server: needs: wheel-build-cuopt-server secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -170,7 +170,7 @@ jobs: docs-build: needs: [python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} node_type: "gpu-l4-latest-1" @@ -184,7 +184,7 @@ jobs: script: "ci/build_docs.sh" wheel-build-cuopt-sh-client: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -200,7 +200,7 @@ jobs: wheel-publish-cuopt-sh-client: needs: wheel-build-cuopt-sh-client secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 4996f3315..36dd16a6a 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -34,7 +34,7 @@ jobs: - wheel-build-cuopt-sh-client - test-self-hosted-server secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@cuda-13.1.0 check-lean-ci: runs-on: ubuntu-latest outputs: @@ -108,7 +108,7 @@ jobs: changed-files: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@cuda-13.1.0 with: files_yaml: | test_cpp: @@ -173,13 +173,13 @@ jobs: - '!python/nvcf_client/**' checks: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@cuda-13.1.0 with: enable_check_generated_files: false conda-cpp-build: needs: [checks, compute-matrix-filters] 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.1.0 with: build_type: pull-request script: ci/build_cpp.sh @@ -187,7 +187,7 @@ jobs: conda-cpp-tests: needs: [conda-cpp-build, changed-files, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-13.1.0 #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp with: build_type: pull-request @@ -196,7 +196,7 @@ jobs: conda-python-build: needs: [conda-cpp-build, compute-matrix-filters] 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.1.0 with: build_type: pull-request script: ci/build_python.sh @@ -204,7 +204,7 @@ jobs: conda-python-tests: needs: [conda-python-build, changed-files, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda-13.1.0 #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: run_codecov: false @@ -214,7 +214,7 @@ jobs: docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda-13.1.0 with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -226,7 +226,7 @@ jobs: wheel-build-cuopt-mps-parser: needs: compute-matrix-filters secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: pull-request script: ci/build_wheel_cuopt_mps_parser.sh @@ -238,7 +238,7 @@ jobs: wheel-build-libcuopt: needs: [wheel-build-cuopt-mps-parser, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.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 }} @@ -249,7 +249,7 @@ jobs: wheel-build-cuopt: needs: [wheel-build-cuopt-mps-parser, wheel-build-libcuopt, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: pull-request script: ci/build_wheel_cuopt.sh @@ -259,7 +259,7 @@ jobs: wheel-tests-cuopt: needs: [wheel-build-cuopt, wheel-build-cuopt-mps-parser, wheel-build-cuopt-sh-client, changed-files, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.1.0 #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_cuopt with: build_type: pull-request @@ -268,7 +268,7 @@ jobs: wheel-build-cuopt-server: needs: [checks, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: pull-request script: ci/build_wheel_cuopt_server.sh @@ -280,7 +280,7 @@ jobs: wheel-build-cuopt-sh-client: needs: compute-matrix-filters secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda-13.1.0 with: build_type: pull-request script: ci/build_wheel_cuopt_sh_client.sh @@ -293,7 +293,7 @@ jobs: wheel-tests-cuopt-server: needs: [wheel-build-cuopt, wheel-build-cuopt-server, changed-files, compute-matrix-filters] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.1.0 #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_cuopt_server with: build_type: pull-request diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f4c81eb97..728f1fdd8 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -28,7 +28,7 @@ on: jobs: conda-cpp-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -37,7 +37,7 @@ jobs: script: ci/test_cpp.sh conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda-13.1.0 with: run_codecov: false build_type: ${{ inputs.build_type }} @@ -47,7 +47,7 @@ jobs: script: ci/test_python.sh wheel-tests-cuopt: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -56,7 +56,7 @@ jobs: script: ci/test_wheel_cuopt.sh wheel-tests-cuopt-server: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda-13.1.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -65,7 +65,7 @@ jobs: script: ci/test_wheel_cuopt_server.sh conda-notebook-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda-13.1.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 529f11cfa..37f74bf87 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -15,7 +15,7 @@ jobs: trigger-notifier: if: contains(github.event.pull_request.labels.*.name, 'breaking') secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@cuda-13.1.0 with: sender_login: ${{ github.event.sender.login }} sender_avatar: ${{ github.event.sender.avatar_url }} From 12415acdb07754358828463754404f78d5575c47 Mon Sep 17 00:00:00 2001 From: Ramakrishnap <42624703+rgsl888prabhu@users.noreply.github.com> Date: Tue, 6 Jan 2026 13:41:03 -0600 Subject: [PATCH 02/10] Update build.yaml --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 123dc7188..cddb79556 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 name: build From 1adcd231d5f1873bae2e91100f406d56e89d53ab Mon Sep 17 00:00:00 2001 From: Ramakrishnap <42624703+rgsl888prabhu@users.noreply.github.com> Date: Tue, 6 Jan 2026 13:41:21 -0600 Subject: [PATCH 03/10] Update pr.yaml --- .github/workflows/pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 36dd16a6a..4dbec6b9b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 name: pr From 497a1141e25114d6956ce73bad42f45101b4fd98 Mon Sep 17 00:00:00 2001 From: Ramakrishnap <42624703+rgsl888prabhu@users.noreply.github.com> Date: Tue, 6 Jan 2026 13:41:40 -0600 Subject: [PATCH 04/10] Update test.yaml --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 728f1fdd8..82748e904 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 name: test From 5d8893c6a775b496bead2594f0d9002ded436a43 Mon Sep 17 00:00:00 2001 From: Ramakrishnap <42624703+rgsl888prabhu@users.noreply.github.com> Date: Tue, 6 Jan 2026 13:41:57 -0600 Subject: [PATCH 05/10] Update trigger-breaking-change-alert.yaml --- .github/workflows/trigger-breaking-change-alert.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/trigger-breaking-change-alert.yaml b/.github/workflows/trigger-breaking-change-alert.yaml index 37f74bf87..8a5bd0e94 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 name: Trigger Breaking Change Notifications From 4356fe05410c802884b5de709c1a9986b989cbd3 Mon Sep 17 00:00:00 2001 From: Ramakrishnap <42624703+rgsl888prabhu@users.noreply.github.com> Date: Wed, 7 Jan 2026 09:16:10 -0600 Subject: [PATCH 06/10] Update dependencies.yaml --- dependencies.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index db059451a..09faffe52 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -7,7 +7,7 @@ files: all: output: conda matrix: - cuda: ["12.9", "13.0"] + cuda: ["12.9", "13.1"] arch: [x86_64, aarch64] includes: - build_common @@ -672,6 +672,10 @@ dependencies: cuda: "13.0" packages: - cuda-version=13.0 + - matrix: + cuda: "13.1" + packages: + - cuda-version=13.1 cuda: common: - output_types: [conda] From 4fd715f5acd67f2a6fa2f183eae9ed9059e1c930 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 7 Jan 2026 09:29:07 -0600 Subject: [PATCH 07/10] fix style --- ...a-130_arch-aarch64.yaml => all_cuda-131_arch-aarch64.yaml} | 4 ++-- ...uda-130_arch-x86_64.yaml => all_cuda-131_arch-x86_64.yaml} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename conda/environments/{all_cuda-130_arch-aarch64.yaml => all_cuda-131_arch-aarch64.yaml} (96%) rename conda/environments/{all_cuda-130_arch-x86_64.yaml => all_cuda-131_arch-x86_64.yaml} (96%) diff --git a/conda/environments/all_cuda-130_arch-aarch64.yaml b/conda/environments/all_cuda-131_arch-aarch64.yaml similarity index 96% rename from conda/environments/all_cuda-130_arch-aarch64.yaml rename to conda/environments/all_cuda-131_arch-aarch64.yaml index 938c0cce8..da9337c83 100644 --- a/conda/environments/all_cuda-130_arch-aarch64.yaml +++ b/conda/environments/all_cuda-131_arch-aarch64.yaml @@ -17,7 +17,7 @@ dependencies: - cuda-nvtx-dev - cuda-python>=13.0.1,<14.0 - cuda-sanitizer-api -- cuda-version=13.0 +- cuda-version=13.1 - cudf==26.2.*,>=0.0.0a0 - cupy>=13.6.0 - cxx-compiler @@ -75,4 +75,4 @@ dependencies: - nvidia-sphinx-theme - swagger-plugin-for-sphinx - veroviz -name: all_cuda-130_arch-aarch64 +name: all_cuda-131_arch-aarch64 diff --git a/conda/environments/all_cuda-130_arch-x86_64.yaml b/conda/environments/all_cuda-131_arch-x86_64.yaml similarity index 96% rename from conda/environments/all_cuda-130_arch-x86_64.yaml rename to conda/environments/all_cuda-131_arch-x86_64.yaml index 03030108d..c2e8d7dbc 100644 --- a/conda/environments/all_cuda-130_arch-x86_64.yaml +++ b/conda/environments/all_cuda-131_arch-x86_64.yaml @@ -17,7 +17,7 @@ dependencies: - cuda-nvtx-dev - cuda-python>=13.0.1,<14.0 - cuda-sanitizer-api -- cuda-version=13.0 +- cuda-version=13.1 - cudf==26.2.*,>=0.0.0a0 - cupy>=13.6.0 - cxx-compiler @@ -75,4 +75,4 @@ dependencies: - nvidia-sphinx-theme - swagger-plugin-for-sphinx - veroviz -name: all_cuda-130_arch-x86_64 +name: all_cuda-131_arch-x86_64 From 7ead639bffef1361b442e5f9a74201dfdd4389f5 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 7 Jan 2026 10:29:33 -0600 Subject: [PATCH 08/10] fix run time versino --- cpp/src/utilities/driver_helpers.cuh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/cpp/src/utilities/driver_helpers.cuh b/cpp/src/utilities/driver_helpers.cuh index aec097a51..1c86ba058 100644 --- a/cpp/src/utilities/driver_helpers.cuh +++ b/cpp/src/utilities/driver_helpers.cuh @@ -15,11 +15,21 @@ namespace detail { inline auto get_driver_entry_point(const char* name) { - void* func; + void* func = nullptr; cudaDriverEntryPointQueryResult driver_status; - cudaGetDriverEntryPointByVersion(name, &func, CUDART_VERSION, cudaEnableDefault, &driver_status); + + // Use runtime version instead of compile-time CUDART_VERSION to ensure + // compatibility when code built with newer CUDA runs on older CUDA runtime + int runtime_version = 0; + cudaError_t version_result = cudaRuntimeGetVersion(&runtime_version); + + // Fall back to compile-time version if runtime query fails + int version_to_use = (version_result == cudaSuccess) ? runtime_version : CUDART_VERSION; + + cudaGetDriverEntryPointByVersion(name, &func, version_to_use, cudaEnableDefault, &driver_status); if (driver_status != cudaDriverEntryPointSuccess) { - fprintf(stderr, "Failed to fetch symbol for %s\n", name); + fprintf(stderr, "Failed to fetch symbol for %s (version %d)\n", name, version_to_use); + return static_cast(nullptr); } return func; } From c2c614fb7e6b0acd7d6d324fc7d1ec1e2bef69c1 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 7 Jan 2026 10:30:41 -0600 Subject: [PATCH 09/10] update --- cpp/src/utilities/driver_helpers.cuh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cpp/src/utilities/driver_helpers.cuh b/cpp/src/utilities/driver_helpers.cuh index 1c86ba058..6b4f4c7a2 100644 --- a/cpp/src/utilities/driver_helpers.cuh +++ b/cpp/src/utilities/driver_helpers.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,15 +17,15 @@ inline auto get_driver_entry_point(const char* name) { void* func = nullptr; cudaDriverEntryPointQueryResult driver_status; - + // Use runtime version instead of compile-time CUDART_VERSION to ensure // compatibility when code built with newer CUDA runs on older CUDA runtime - int runtime_version = 0; + int runtime_version = 0; cudaError_t version_result = cudaRuntimeGetVersion(&runtime_version); - + // Fall back to compile-time version if runtime query fails int version_to_use = (version_result == cudaSuccess) ? runtime_version : CUDART_VERSION; - + cudaGetDriverEntryPointByVersion(name, &func, version_to_use, cudaEnableDefault, &driver_status); if (driver_status != cudaDriverEntryPointSuccess) { fprintf(stderr, "Failed to fetch symbol for %s (version %d)\n", name, version_to_use); From c4e79e4aae692a79e8e9163f8bf099a944db715b Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 7 Jan 2026 13:18:17 -0600 Subject: [PATCH 10/10] fix --- cpp/src/utilities/driver_helpers.cuh | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/cpp/src/utilities/driver_helpers.cuh b/cpp/src/utilities/driver_helpers.cuh index 6b4f4c7a2..8fbc10e16 100644 --- a/cpp/src/utilities/driver_helpers.cuh +++ b/cpp/src/utilities/driver_helpers.cuh @@ -18,17 +18,13 @@ inline auto get_driver_entry_point(const char* name) void* func = nullptr; cudaDriverEntryPointQueryResult driver_status; - // Use runtime version instead of compile-time CUDART_VERSION to ensure - // compatibility when code built with newer CUDA runs on older CUDA runtime - int runtime_version = 0; - cudaError_t version_result = cudaRuntimeGetVersion(&runtime_version); - - // Fall back to compile-time version if runtime query fails - int version_to_use = (version_result == cudaSuccess) ? runtime_version : CUDART_VERSION; - - cudaGetDriverEntryPointByVersion(name, &func, version_to_use, cudaEnableDefault, &driver_status); + // Request CUDA 13.0 (13000) version of symbols for Green Context API + // Green contexts are guarded by CUDART_VERSION >= 13000, so we know they're only + // used when compiled with CUDA 13.0+. Requesting v13000 ensures compatibility + // across CUDA 13.x versions (e.g., built with 13.1, run on 13.0). + cudaGetDriverEntryPointByVersion(name, &func, 13000, cudaEnableDefault, &driver_status); if (driver_status != cudaDriverEntryPointSuccess) { - fprintf(stderr, "Failed to fetch symbol for %s (version %d)\n", name, version_to_use); + fprintf(stderr, "Failed to fetch symbol for %s\n", name); return static_cast(nullptr); } return func;