From 5cc2c3ad692dbbf3b284f516e9e31a75ca9fc4da Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 21 Aug 2025 22:21:51 -0500 Subject: [PATCH 01/14] Build and test with CUDA 13.0.0 --- .../cuda13.0-conda/devcontainer.json | 44 ++++++++++++++++ .devcontainer/cuda13.0-pip/devcontainer.json | 52 +++++++++++++++++++ .github/workflows/build.yaml | 22 ++++---- .github/workflows/pr.yaml | 34 ++++++------ .github/workflows/test.yaml | 10 ++-- .../trigger-breaking-change-alert.yaml | 2 +- .../bench_ann_cuda-129_arch-aarch64.yaml | 49 ----------------- .../bench_ann_cuda-129_arch-x86_64.yaml | 52 ------------------- .../go_cuda-129_arch-aarch64.yaml | 32 ------------ .../environments/go_cuda-129_arch-x86_64.yaml | 32 ------------ .../rust_cuda-129_arch-aarch64.yaml | 31 ----------- .../rust_cuda-129_arch-x86_64.yaml | 31 ----------- dependencies.yaml | 20 ++++--- docs/source/build.rst | 6 +-- docs/source/cuvs_bench/index.rst | 2 +- examples/go/README.md | 2 +- examples/rust/README.md | 2 +- 17 files changed, 148 insertions(+), 275 deletions(-) create mode 100644 .devcontainer/cuda13.0-conda/devcontainer.json create mode 100644 .devcontainer/cuda13.0-pip/devcontainer.json delete mode 100644 conda/environments/bench_ann_cuda-129_arch-aarch64.yaml delete mode 100644 conda/environments/bench_ann_cuda-129_arch-x86_64.yaml delete mode 100644 conda/environments/go_cuda-129_arch-aarch64.yaml delete mode 100644 conda/environments/go_cuda-129_arch-x86_64.yaml delete mode 100644 conda/environments/rust_cuda-129_arch-aarch64.yaml delete mode 100644 conda/environments/rust_cuda-129_arch-x86_64.yaml diff --git a/.devcontainer/cuda13.0-conda/devcontainer.json b/.devcontainer/cuda13.0-conda/devcontainer.json new file mode 100644 index 0000000000..e69607dc06 --- /dev/null +++ b/.devcontainer/cuda13.0-conda/devcontainer.json @@ -0,0 +1,44 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "13.0", + "PYTHON_PACKAGE_MANAGER": "conda", + "BASE": "rapidsai/devcontainers:25.10-cpp-mambaforge" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.10-cuda13.0-conda", + "--ulimit", + "nofile=500000" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.10": {} + }, + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda13.0-envs}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cuvs,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda13.0-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] + } + } +} diff --git a/.devcontainer/cuda13.0-pip/devcontainer.json b/.devcontainer/cuda13.0-pip/devcontainer.json new file mode 100644 index 0000000000..27f0acd3f4 --- /dev/null +++ b/.devcontainer/cuda13.0-pip/devcontainer.json @@ -0,0 +1,52 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "13.0", + "PYTHON_PACKAGE_MANAGER": "pip", + "BASE": "rapidsai/devcontainers:25.10-cpp-cuda13.0-ucx1.19.0-openmpi5.0.7" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.10-cuda13.0-pip", + "--ulimit", + "nofile=500000" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "ghcr.io/rapidsai/devcontainers/features/cuda:25.10": { + "version": "13.0", + "installcuBLAS": true, + "installcuSOLVER": true, + "installcuRAND": true, + "installcuSPARSE": true + }, + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.10": {} + }, + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/ucx", + "ghcr.io/rapidsai/devcontainers/features/cuda", + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda13.0-venvs}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cuvs,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda13.0-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] + } + } +} diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 210ade79ca..d95cb474c2 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -34,7 +34,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -44,7 +44,7 @@ jobs: rust-build: needs: cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -57,7 +57,7 @@ jobs: go-build: needs: cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -70,7 +70,7 @@ jobs: java-build: needs: cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -83,7 +83,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -93,7 +93,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -108,7 +108,7 @@ jobs: if: github.ref_type == 'branch' needs: python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -120,7 +120,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build-libcuvs: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -134,7 +134,7 @@ jobs: wheel-publish-libcuvs: needs: wheel-build-libcuvs secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -145,7 +145,7 @@ jobs: wheel-build-cuvs: needs: wheel-build-libcuvs secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -157,7 +157,7 @@ jobs: wheel-publish-cuvs: needs: wheel-build-cuvs secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 41fbc93a84..e0c038d552 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -27,7 +27,7 @@ jobs: - devcontainer - telemetry-setup secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@cuda13.0 if: always() with: needs: ${{ toJSON(needs) }} @@ -54,7 +54,7 @@ jobs: changed-files: needs: telemetry-setup secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@cuda13.0 with: files_yaml: | test_cpp: @@ -106,14 +106,14 @@ jobs: checks: needs: telemetry-setup secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@cuda13.0 with: enable_check_generated_files: false ignored_pr_jobs: "telemetry-summarize" conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda13.0 with: build_type: pull-request node_type: cpu16 @@ -121,7 +121,7 @@ jobs: conda-cpp-tests: needs: [conda-cpp-build, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp with: build_type: pull-request @@ -129,21 +129,21 @@ jobs: conda-cpp-checks: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@cuda13.0 with: build_type: pull-request symbol_exclusions: (void (thrust::|cub::)) conda-python-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_python.sh conda-python-tests: needs: [conda-python-build, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: build_type: pull-request @@ -151,7 +151,7 @@ jobs: conda-java-tests: needs: [conda-cpp-build, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java with: build_type: pull-request @@ -163,7 +163,7 @@ jobs: docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -173,7 +173,7 @@ jobs: rust-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -183,7 +183,7 @@ jobs: go-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -193,7 +193,7 @@ jobs: wheel-build-libcuvs: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_wheel_libcuvs.sh @@ -204,7 +204,7 @@ jobs: wheel-build-cuvs: needs: wheel-build-libcuvs secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_wheel_cuvs.sh @@ -213,7 +213,7 @@ jobs: wheel-tests-cuvs: needs: [wheel-build-cuvs, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: build_type: pull-request @@ -221,10 +221,10 @@ jobs: devcontainer: secrets: inherit needs: telemetry-setup - uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@cuda13.0 with: arch: '["amd64", "arm64"]' - cuda: '["12.9"]' + cuda: '["13.0"]' node_type: "cpu8" rapids-aux-secret-1: GIST_REPO_READ_ORG_GITHUB_TOKEN env: | diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8479ce38a4..26866009d4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -25,7 +25,7 @@ on: jobs: conda-cpp-checks: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -34,7 +34,7 @@ jobs: symbol_exclusions: (void (thrust::|cub::)) conda-cpp-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -43,7 +43,7 @@ jobs: sha: ${{ inputs.sha }} conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -52,7 +52,7 @@ jobs: sha: ${{ inputs.sha }} conda-java-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -64,7 +64,7 @@ jobs: script: "ci/test_java.sh" wheel-tests-cuvs: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.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 48bf37afc4..72751d071b 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -12,7 +12,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@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@cuda13.0 with: sender_login: ${{ github.event.sender.login }} sender_avatar: ${{ github.event.sender.avatar_url }} diff --git a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml deleted file mode 100644 index 7ffb09777b..0000000000 --- a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# This file is generated by `rapids-dependency-file-generator`. -# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -channels: -- rapidsai -- rapidsai-nightly -- conda-forge -dependencies: -- benchmark>=1.8.2 -- c-compiler -- clang-tools==20.1.4 -- clang==20.1.4 -- click -- cmake>=3.30.4 -- cuda-cudart-dev -- cuda-nvcc -- cuda-nvtx-dev -- cuda-profiler-api -- cuda-python>=12.6.2,<13.0a0 -- cuda-version=12.9 -- cupy>=12.0.0 -- cuvs==25.10.*,>=0.0.0a0 -- cxx-compiler -- cython>=3.0.0 -- dlpack>=0.8,<1.0 -- gcc_linux-aarch64=14.* -- glog>=0.6.0 -- h5py>=3.8.0 -- libclang==20.1.4 -- libcublas-dev -- libcurand-dev -- libcusolver-dev -- libcusparse-dev -- libcuvs==25.10.*,>=0.0.0a0 -- librmm==25.10.*,>=0.0.0a0 -- matplotlib-base>=3.9 -- nccl>=2.19 -- ninja -- nlohmann_json>=3.11.2 -- openblas -- pandas -- pylibraft==25.10.*,>=0.0.0a0 -- pyyaml -- rapids-build-backend>=0.4.0,<0.5.0.dev0 -- requests -- scikit-learn -- setuptools -- sysroot_linux-aarch64==2.28 -- wheel -name: bench_ann_cuda-129_arch-aarch64 diff --git a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml deleted file mode 100644 index fcd0f89053..0000000000 --- a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# This file is generated by `rapids-dependency-file-generator`. -# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -channels: -- rapidsai -- rapidsai-nightly -- conda-forge -dependencies: -- benchmark>=1.8.2 -- c-compiler -- clang-tools==20.1.4 -- clang==20.1.4 -- click -- cmake>=3.30.4 -- cuda-cudart-dev -- cuda-nvcc -- cuda-nvtx-dev -- cuda-profiler-api -- cuda-python>=12.6.2,<13.0a0 -- cuda-version=12.9 -- cupy>=12.0.0 -- cuvs==25.10.*,>=0.0.0a0 -- cxx-compiler -- cython>=3.0.0 -- dlpack>=0.8,<1.0 -- gcc_linux-64=14.* -- glog>=0.6.0 -- h5py>=3.8.0 -- libaio -- libboost-devel=1.87 -- libclang==20.1.4 -- libcublas-dev -- libcurand-dev -- libcusolver-dev -- libcusparse-dev -- libcuvs==25.10.*,>=0.0.0a0 -- librmm==25.10.*,>=0.0.0a0 -- matplotlib-base>=3.9 -- mkl-devel=2023 -- nccl>=2.19 -- ninja -- nlohmann_json>=3.11.2 -- openblas -- pandas -- pylibraft==25.10.*,>=0.0.0a0 -- pyyaml -- rapids-build-backend>=0.4.0,<0.5.0.dev0 -- requests -- scikit-learn -- setuptools -- sysroot_linux-64==2.28 -- wheel -name: bench_ann_cuda-129_arch-x86_64 diff --git a/conda/environments/go_cuda-129_arch-aarch64.yaml b/conda/environments/go_cuda-129_arch-aarch64.yaml deleted file mode 100644 index a23a3e636b..0000000000 --- a/conda/environments/go_cuda-129_arch-aarch64.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# This file is generated by `rapids-dependency-file-generator`. -# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -channels: -- rapidsai -- rapidsai-nightly -- conda-forge -dependencies: -- _go_select *=cgo -- c-compiler -- clang-tools==20.1.4 -- clang==20.1.4 -- cmake>=3.30.4 -- cuda-cudart-dev -- cuda-nvcc -- cuda-nvtx-dev -- cuda-profiler-api -- cuda-version=12.9 -- cxx-compiler -- dlpack>=0.8,<1.0 -- gcc_linux-aarch64=14.* -- go -- libclang==20.1.4 -- libcublas-dev -- libcurand-dev -- libcusolver-dev -- libcusparse-dev -- libcuvs==25.10.*,>=0.0.0a0 -- libraft==25.10.*,>=0.0.0a0 -- nccl>=2.19 -- ninja -- sysroot_linux-aarch64==2.28 -name: go_cuda-129_arch-aarch64 diff --git a/conda/environments/go_cuda-129_arch-x86_64.yaml b/conda/environments/go_cuda-129_arch-x86_64.yaml deleted file mode 100644 index a6bdbe0159..0000000000 --- a/conda/environments/go_cuda-129_arch-x86_64.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# This file is generated by `rapids-dependency-file-generator`. -# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -channels: -- rapidsai -- rapidsai-nightly -- conda-forge -dependencies: -- _go_select *=cgo -- c-compiler -- clang-tools==20.1.4 -- clang==20.1.4 -- cmake>=3.30.4 -- cuda-cudart-dev -- cuda-nvcc -- cuda-nvtx-dev -- cuda-profiler-api -- cuda-version=12.9 -- cxx-compiler -- dlpack>=0.8,<1.0 -- gcc_linux-64=14.* -- go -- libclang==20.1.4 -- libcublas-dev -- libcurand-dev -- libcusolver-dev -- libcusparse-dev -- libcuvs==25.10.*,>=0.0.0a0 -- libraft==25.10.*,>=0.0.0a0 -- nccl>=2.19 -- ninja -- sysroot_linux-64==2.28 -name: go_cuda-129_arch-x86_64 diff --git a/conda/environments/rust_cuda-129_arch-aarch64.yaml b/conda/environments/rust_cuda-129_arch-aarch64.yaml deleted file mode 100644 index 3a94cc2488..0000000000 --- a/conda/environments/rust_cuda-129_arch-aarch64.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# This file is generated by `rapids-dependency-file-generator`. -# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -channels: -- rapidsai -- rapidsai-nightly -- conda-forge -dependencies: -- c-compiler -- clang-tools==20.1.4 -- clang==20.1.4 -- cmake>=3.30.4 -- cuda-cudart-dev -- cuda-nvcc -- cuda-nvtx-dev -- cuda-profiler-api -- cuda-version=12.9 -- cxx-compiler -- gcc_linux-aarch64=14.* -- libclang==20.1.4 -- libcublas-dev -- libcurand-dev -- libcusolver-dev -- libcusparse-dev -- libcuvs==25.10.*,>=0.0.0a0 -- libraft==25.10.*,>=0.0.0a0 -- make -- nccl>=2.19 -- ninja -- rust -- sysroot_linux-aarch64==2.28 -name: rust_cuda-129_arch-aarch64 diff --git a/conda/environments/rust_cuda-129_arch-x86_64.yaml b/conda/environments/rust_cuda-129_arch-x86_64.yaml deleted file mode 100644 index 98545cc195..0000000000 --- a/conda/environments/rust_cuda-129_arch-x86_64.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# This file is generated by `rapids-dependency-file-generator`. -# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -channels: -- rapidsai -- rapidsai-nightly -- conda-forge -dependencies: -- c-compiler -- clang-tools==20.1.4 -- clang==20.1.4 -- cmake>=3.30.4 -- cuda-cudart-dev -- cuda-nvcc -- cuda-nvtx-dev -- cuda-profiler-api -- cuda-version=12.9 -- cxx-compiler -- gcc_linux-64=14.* -- libclang==20.1.4 -- libcublas-dev -- libcurand-dev -- libcusolver-dev -- libcusparse-dev -- libcuvs==25.10.*,>=0.0.0a0 -- libraft==25.10.*,>=0.0.0a0 -- make -- nccl>=2.19 -- ninja -- rust -- sysroot_linux-64==2.28 -name: rust_cuda-129_arch-x86_64 diff --git a/dependencies.yaml b/dependencies.yaml index 7570ce1973..4935fe9e0a 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,7 +3,7 @@ files: all: output: conda matrix: - cuda: ["12.9"] + cuda: ["12.9", "13.0"] arch: [x86_64, aarch64] includes: - build @@ -29,7 +29,7 @@ files: bench_ann: output: conda matrix: - cuda: ["12.9"] + cuda: ["12.9", "13.0"] arch: [x86_64, aarch64] includes: - bench @@ -85,7 +85,7 @@ files: rust: output: conda matrix: - cuda: ["12.9"] + cuda: ["12.9", "13.0"] arch: [x86_64, aarch64] includes: # clang/libclang only needed for bindgen support @@ -100,7 +100,7 @@ files: go: output: conda matrix: - cuda: ["12.9"] + cuda: ["12.9", "13.0"] arch: [x86_64, aarch64] includes: - clang @@ -317,6 +317,10 @@ dependencies: cuda: "12.9" packages: - cuda-version=12.9 + - matrix: + cuda: "13.0" + packages: + - cuda-version=13.0 cuda: specific: - output_types: conda @@ -339,10 +343,10 @@ dependencies: cuda: "12.*" use_cuda_wheels: "true" packages: - - nvidia-cublas-cu12 - - nvidia-curand-cu12 - - nvidia-cusolver-cu12 - - nvidia-cusparse-cu12 + - nvidia-cublas-cu{12,13}. + - nvidia-curand-cu{12,13}. + - nvidia-cusolver-cu{12,13}. + - nvidia-cusparse-cu{12,13}. - matrix: use_cuda_wheels: "false" packages: diff --git a/docs/source/build.rst b/docs/source/build.rst index 4acf3bea54..b6c6cb8bae 100644 --- a/docs/source/build.rst +++ b/docs/source/build.rst @@ -43,14 +43,14 @@ C/C++ Package .. code-block:: bash - conda install -c rapidsai -c conda-forge libcuvs cuda-version=12.9 + conda install -c rapidsai -c conda-forge libcuvs cuda-version=13.0 Python Package ~~~~~~~~~~~~~~ .. code-block:: bash - conda install -c rapidsai -c conda-forge cuvs cuda-version=12.9 + conda install -c rapidsai -c conda-forge cuvs cuda-version=13.0 Python through Pip ^^^^^^^^^^^^^^^^^^ @@ -86,7 +86,7 @@ Conda environment scripts are provided for installing the necessary dependencies .. code-block:: bash - conda env create --name cuvs -f conda/environments/all_cuda-128_arch-x86_64.yaml + conda env create --name cuvs -f conda/environments/all_cuda-130_arch-x86_64.yaml conda activate cuvs The recommended way to build and install cuVS from source is to use the `build.sh` script in the root of the repository. This script can build both the C++ and Python artifacts and provides CMake options for building and installing the headers, tests, benchmarks, and the pre-compiled shared library. diff --git a/docs/source/cuvs_bench/index.rst b/docs/source/cuvs_bench/index.rst index 5a6f0f17e2..cfaa30acb2 100644 --- a/docs/source/cuvs_bench/index.rst +++ b/docs/source/cuvs_bench/index.rst @@ -65,7 +65,7 @@ Conda conda activate cuvs_benchmarks # to install GPU package: - conda install -c rapidsai -c conda-forge cuvs-bench= cuda-version=12.9* + conda install -c rapidsai -c conda-forge cuvs-bench= cuda-version=13.0* # to install CPU package for usage in CPU-only systems: conda install -c rapidsai -c conda-forge cuvs-bench-cpu diff --git a/examples/go/README.md b/examples/go/README.md index bcbea09642..093e87d17d 100644 --- a/examples/go/README.md +++ b/examples/go/README.md @@ -7,7 +7,7 @@ This package provides Go bindings for the cuVS (CUDA Vector Search) library. The required dependencies can be installed with a simple command (which creates your build environment): ```bash -conda env create --name go -f conda/environments/go_cuda-128_arch-x86_64.yaml +conda env create --name go -f conda/environments/go_cuda-130_arch-x86_64.yaml conda activate go ``` You may prefer to use `mamba`, as it provides significant speedup over `conda`. diff --git a/examples/rust/README.md b/examples/rust/README.md index 98fe526975..1d2671de34 100644 --- a/examples/rust/README.md +++ b/examples/rust/README.md @@ -9,7 +9,7 @@ Once the minimum requirements are satisfied, this example template application c You may follow these steps to quickly get set up: ```bash -conda env create --name rust -f conda/environments/rust_cuda-128_arch-x86_64.yaml +conda env create --name rust -f conda/environments/rust_cuda-130_arch-x86_64.yaml conda activate rust ``` You may prefer to use `mamba`, as it provides significant speedup over `conda`. From 4b22d51536d5aa2d204ee82ef3c7cba5784dedab Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 21 Aug 2025 22:54:58 -0500 Subject: [PATCH 02/14] update dependencies.yaml, add more CUDA 13 jobs --- .github/workflows/build.yaml | 21 ++- .github/workflows/pr.yaml | 21 ++- .github/workflows/publish-rust.yaml | 7 +- .github/workflows/test.yaml | 7 +- README.md | 11 +- ci/build_python.sh | 4 +- .../all_cuda-129_arch-aarch64.yaml | 4 +- .../all_cuda-129_arch-x86_64.yaml | 4 +- .../all_cuda-130_arch-aarch64.yaml | 56 ++++++++ .../all_cuda-130_arch-x86_64.yaml | 56 ++++++++ .../bench_ann_cuda-129_arch-aarch64.yaml | 49 +++++++ .../bench_ann_cuda-129_arch-x86_64.yaml | 52 ++++++++ .../bench_ann_cuda-130_arch-aarch64.yaml | 49 +++++++ .../bench_ann_cuda-130_arch-x86_64.yaml | 52 ++++++++ .../go_cuda-129_arch-aarch64.yaml | 32 +++++ .../environments/go_cuda-129_arch-x86_64.yaml | 32 +++++ .../go_cuda-130_arch-aarch64.yaml | 32 +++++ .../environments/go_cuda-130_arch-x86_64.yaml | 32 +++++ .../rust_cuda-129_arch-aarch64.yaml | 31 +++++ .../rust_cuda-129_arch-x86_64.yaml | 31 +++++ .../rust_cuda-130_arch-aarch64.yaml | 31 +++++ .../rust_cuda-130_arch-x86_64.yaml | 31 +++++ conda/recipes/cuvs-bench/recipe.yaml | 2 +- conda/recipes/cuvs/recipe.yaml | 8 +- dependencies.yaml | 124 +++++++++++------- docs/source/build.rst | 2 +- python/cuvs/pyproject.toml | 6 +- 27 files changed, 716 insertions(+), 71 deletions(-) create mode 100644 conda/environments/all_cuda-130_arch-aarch64.yaml create mode 100644 conda/environments/all_cuda-130_arch-x86_64.yaml create mode 100644 conda/environments/bench_ann_cuda-129_arch-aarch64.yaml create mode 100644 conda/environments/bench_ann_cuda-129_arch-x86_64.yaml create mode 100644 conda/environments/bench_ann_cuda-130_arch-aarch64.yaml create mode 100644 conda/environments/bench_ann_cuda-130_arch-x86_64.yaml create mode 100644 conda/environments/go_cuda-129_arch-aarch64.yaml create mode 100644 conda/environments/go_cuda-129_arch-x86_64.yaml create mode 100644 conda/environments/go_cuda-130_arch-aarch64.yaml create mode 100644 conda/environments/go_cuda-130_arch-x86_64.yaml create mode 100644 conda/environments/rust_cuda-129_arch-aarch64.yaml create mode 100644 conda/environments/rust_cuda-129_arch-x86_64.yaml create mode 100644 conda/environments/rust_cuda-130_arch-aarch64.yaml create mode 100644 conda/environments/rust_cuda-130_arch-x86_64.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d95cb474c2..99ce6b9187 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -45,12 +45,17 @@ jobs: needs: cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" node_type: "gpu-l4-latest-1" script: "ci/build_rust.sh" sha: ${{ inputs.sha }} @@ -58,12 +63,17 @@ jobs: needs: cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" node_type: "gpu-l4-latest-1" script: "ci/build_go.sh" sha: ${{ inputs.sha }} @@ -71,12 +81,17 @@ jobs: needs: cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/build_java.sh" file_to_upload: "java/cuvs-java/target/" sha: ${{ inputs.sha }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index e0c038d552..8740f78d54 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -153,11 +153,16 @@ jobs: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/test_java.sh" file_to_upload: "java/cuvs-java/target/" docs-build: @@ -174,21 +179,31 @@ jobs: needs: conda-cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/build_rust.sh" go-build: needs: conda-cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/build_go.sh" wheel-build-libcuvs: needs: checks diff --git a/.github/workflows/publish-rust.yaml b/.github/workflows/publish-rust.yaml index 7834e6bc96..a520fe321f 100644 --- a/.github/workflows/publish-rust.yaml +++ b/.github/workflows/publish-rust.yaml @@ -10,8 +10,13 @@ defaults: jobs: rust-publish: runs-on: ubuntu-latest + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' container: - image: rapidsai/ci-conda:25.10-latest + image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" steps: - uses: actions/checkout@v4 - name: Check if release build diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 26866009d4..2fb0525d9c 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -53,6 +53,11 @@ jobs: conda-java-tests: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + strategy: + matrix: + cuda_version: + - '12.9.1' + - '13.0.0' with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -60,7 +65,7 @@ jobs: sha: ${{ inputs.sha }} node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:25.10-latest" + container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/test_java.sh" wheel-tests-cuvs: secrets: inherit diff --git a/README.md b/README.md index 1604428492..4a24b1faa2 100755 --- a/README.md +++ b/README.md @@ -95,8 +95,11 @@ conda install -c rapidsai -c conda-forge cuvs The cuVS Python package can also be `installed through pip `_. -For CUDA 12 packages: ```bash +# CUDA 13 +pip install cuvs-cu12 --extra-index-url=https://pypi.nvidia.com + +# CUDA 12 pip install cuvs-cu12 --extra-index-url=https://pypi.nvidia.com ``` @@ -104,7 +107,11 @@ pip install cuvs-cu12 --extra-index-url=https://pypi.nvidia.com If installing a version that has not yet been released, the `rapidsai` channel can be replaced with `rapidsai-nightly`: ```bash -conda install -c rapidsai-nightly -c conda-forge cuvs=25.10 +# CUDA 13 +conda install -c rapidsai-nightly -c conda-forge cuvs=25.10 cuda-version=13.0 + +# CUDA 12 +conda install -c rapidsai-nightly -c conda-forge cuvs=25.10 cuda-version=12.9 ``` cuVS also has `pip` wheel packages that can be installed. Please see the [Build and Install Guide](https://docs.rapids.ai/api/cuvs/nightly/build/) for more information on installing the available cuVS packages and building from source. diff --git a/ci/build_python.sh b/ci/build_python.sh index 8ee818341c..d4956cce78 100755 --- a/ci/build_python.sh +++ b/ci/build_python.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2024, NVIDIA CORPORATION. +# Copyright (c) 2022-2025, NVIDIA CORPORATION. set -euo pipefail @@ -54,7 +54,7 @@ sccache --zero-stats # Build cuvs-bench-cpu only in one CUDA major version since it only depends on # python version RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" -if [[ ${RAPIDS_CUDA_MAJOR} == "12" ]]; then +if [[ ${RAPIDS_CUDA_MAJOR} == "13" ]]; then rattler-build build --recipe conda/recipes/cuvs-bench-cpu \ "${RATTLER_ARGS[@]}" \ "${RATTLER_CHANNELS[@]}" diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index 45bb00e8df..a877f09e23 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -15,9 +15,9 @@ dependencies: - cuda-nvcc - cuda-nvtx-dev - cuda-profiler-api -- cuda-python>=12.6.2,<13.0a0 +- cuda-python>=12.9.2,<13.0a0 - cuda-version=12.9 -- cupy>=12.0.0 +- cupy>=13.6.0 - cxx-compiler - cython>=3.0.0 - dlpack>=0.8,<1.0 diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index 46a0f234c7..588bfa8d64 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -15,9 +15,9 @@ dependencies: - cuda-nvcc - cuda-nvtx-dev - cuda-profiler-api -- cuda-python>=12.6.2,<13.0a0 +- cuda-python>=12.9.2,<13.0a0 - cuda-version=12.9 -- cupy>=12.0.0 +- cupy>=13.6.0 - cxx-compiler - cython>=3.0.0 - dlpack>=0.8,<1.0 diff --git a/conda/environments/all_cuda-130_arch-aarch64.yaml b/conda/environments/all_cuda-130_arch-aarch64.yaml new file mode 100644 index 0000000000..ebf59a3f99 --- /dev/null +++ b/conda/environments/all_cuda-130_arch-aarch64.yaml @@ -0,0 +1,56 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- _go_select *=cgo +- breathe>=4.35.0 +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-python>=13.0.1,<14.0a0 +- cuda-version=13.0 +- cupy>=13.6.0 +- cxx-compiler +- cython>=3.0.0 +- dlpack>=0.8,<1.0 +- doxygen>=1.8.20 +- gcc_linux-aarch64=14.* +- go +- graphviz +- ipython +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- librmm==25.10.*,>=0.0.0a0 +- make +- nccl>=2.19 +- ninja +- numpy>=1.23,<3.0a0 +- numpydoc +- openblas +- pre-commit +- pylibraft==25.10.*,>=0.0.0a0 +- pytest +- pytest-cov +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- recommonmark +- rust +- scikit-build-core>=0.10.0 +- scikit-learn +- sphinx-copybutton +- sphinx-markdown-tables +- sphinx>=8.0.0 +- sysroot_linux-aarch64==2.28 +- pip: + - nvidia-sphinx-theme +name: all_cuda-130_arch-aarch64 diff --git a/conda/environments/all_cuda-130_arch-x86_64.yaml b/conda/environments/all_cuda-130_arch-x86_64.yaml new file mode 100644 index 0000000000..8433f4adff --- /dev/null +++ b/conda/environments/all_cuda-130_arch-x86_64.yaml @@ -0,0 +1,56 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- _go_select *=cgo +- breathe>=4.35.0 +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-python>=13.0.1,<14.0a0 +- cuda-version=13.0 +- cupy>=13.6.0 +- cxx-compiler +- cython>=3.0.0 +- dlpack>=0.8,<1.0 +- doxygen>=1.8.20 +- gcc_linux-64=14.* +- go +- graphviz +- ipython +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- librmm==25.10.*,>=0.0.0a0 +- make +- nccl>=2.19 +- ninja +- numpy>=1.23,<3.0a0 +- numpydoc +- openblas +- pre-commit +- pylibraft==25.10.*,>=0.0.0a0 +- pytest +- pytest-cov +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- recommonmark +- rust +- scikit-build-core>=0.10.0 +- scikit-learn +- sphinx-copybutton +- sphinx-markdown-tables +- sphinx>=8.0.0 +- sysroot_linux-64==2.28 +- pip: + - nvidia-sphinx-theme +name: all_cuda-130_arch-x86_64 diff --git a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml new file mode 100644 index 0000000000..7735923261 --- /dev/null +++ b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml @@ -0,0 +1,49 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- benchmark>=1.8.2 +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- click +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-python>=12.9.2,<13.0a0 +- cuda-version=12.9 +- cupy>=13.6.0 +- cuvs==25.10.*,>=0.0.0a0 +- cxx-compiler +- cython>=3.0.0 +- dlpack>=0.8,<1.0 +- gcc_linux-aarch64=14.* +- glog>=0.6.0 +- h5py>=3.8.0 +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- librmm==25.10.*,>=0.0.0a0 +- matplotlib-base>=3.9 +- nccl>=2.19 +- ninja +- nlohmann_json>=3.11.2 +- openblas +- pandas +- pylibraft==25.10.*,>=0.0.0a0 +- pyyaml +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- requests +- scikit-learn +- setuptools +- sysroot_linux-aarch64==2.28 +- wheel +name: bench_ann_cuda-129_arch-aarch64 diff --git a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml new file mode 100644 index 0000000000..96e2c34d5d --- /dev/null +++ b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml @@ -0,0 +1,52 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- benchmark>=1.8.2 +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- click +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-python>=12.9.2,<13.0a0 +- cuda-version=12.9 +- cupy>=13.6.0 +- cuvs==25.10.*,>=0.0.0a0 +- cxx-compiler +- cython>=3.0.0 +- dlpack>=0.8,<1.0 +- gcc_linux-64=14.* +- glog>=0.6.0 +- h5py>=3.8.0 +- libaio +- libboost-devel=1.87 +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- librmm==25.10.*,>=0.0.0a0 +- matplotlib-base>=3.9 +- mkl-devel=2023 +- nccl>=2.19 +- ninja +- nlohmann_json>=3.11.2 +- openblas +- pandas +- pylibraft==25.10.*,>=0.0.0a0 +- pyyaml +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- requests +- scikit-learn +- setuptools +- sysroot_linux-64==2.28 +- wheel +name: bench_ann_cuda-129_arch-x86_64 diff --git a/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml new file mode 100644 index 0000000000..939a24b445 --- /dev/null +++ b/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml @@ -0,0 +1,49 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- benchmark>=1.8.2 +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- click +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-python>=13.0.1,<14.0a0 +- cuda-version=13.0 +- cupy>=13.6.0 +- cuvs==25.10.*,>=0.0.0a0 +- cxx-compiler +- cython>=3.0.0 +- dlpack>=0.8,<1.0 +- gcc_linux-aarch64=14.* +- glog>=0.6.0 +- h5py>=3.8.0 +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- librmm==25.10.*,>=0.0.0a0 +- matplotlib-base>=3.9 +- nccl>=2.19 +- ninja +- nlohmann_json>=3.11.2 +- openblas +- pandas +- pylibraft==25.10.*,>=0.0.0a0 +- pyyaml +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- requests +- scikit-learn +- setuptools +- sysroot_linux-aarch64==2.28 +- wheel +name: bench_ann_cuda-130_arch-aarch64 diff --git a/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml new file mode 100644 index 0000000000..296c1fc03a --- /dev/null +++ b/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml @@ -0,0 +1,52 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- benchmark>=1.8.2 +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- click +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-python>=13.0.1,<14.0a0 +- cuda-version=13.0 +- cupy>=13.6.0 +- cuvs==25.10.*,>=0.0.0a0 +- cxx-compiler +- cython>=3.0.0 +- dlpack>=0.8,<1.0 +- gcc_linux-64=14.* +- glog>=0.6.0 +- h5py>=3.8.0 +- libaio +- libboost-devel=1.87 +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- librmm==25.10.*,>=0.0.0a0 +- matplotlib-base>=3.9 +- mkl-devel=2023 +- nccl>=2.19 +- ninja +- nlohmann_json>=3.11.2 +- openblas +- pandas +- pylibraft==25.10.*,>=0.0.0a0 +- pyyaml +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- requests +- scikit-learn +- setuptools +- sysroot_linux-64==2.28 +- wheel +name: bench_ann_cuda-130_arch-x86_64 diff --git a/conda/environments/go_cuda-129_arch-aarch64.yaml b/conda/environments/go_cuda-129_arch-aarch64.yaml new file mode 100644 index 0000000000..a23a3e636b --- /dev/null +++ b/conda/environments/go_cuda-129_arch-aarch64.yaml @@ -0,0 +1,32 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- _go_select *=cgo +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=12.9 +- cxx-compiler +- dlpack>=0.8,<1.0 +- gcc_linux-aarch64=14.* +- go +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- nccl>=2.19 +- ninja +- sysroot_linux-aarch64==2.28 +name: go_cuda-129_arch-aarch64 diff --git a/conda/environments/go_cuda-129_arch-x86_64.yaml b/conda/environments/go_cuda-129_arch-x86_64.yaml new file mode 100644 index 0000000000..a6bdbe0159 --- /dev/null +++ b/conda/environments/go_cuda-129_arch-x86_64.yaml @@ -0,0 +1,32 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- _go_select *=cgo +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=12.9 +- cxx-compiler +- dlpack>=0.8,<1.0 +- gcc_linux-64=14.* +- go +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- nccl>=2.19 +- ninja +- sysroot_linux-64==2.28 +name: go_cuda-129_arch-x86_64 diff --git a/conda/environments/go_cuda-130_arch-aarch64.yaml b/conda/environments/go_cuda-130_arch-aarch64.yaml new file mode 100644 index 0000000000..3359dd084a --- /dev/null +++ b/conda/environments/go_cuda-130_arch-aarch64.yaml @@ -0,0 +1,32 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- _go_select *=cgo +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=13.0 +- cxx-compiler +- dlpack>=0.8,<1.0 +- gcc_linux-aarch64=14.* +- go +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- nccl>=2.19 +- ninja +- sysroot_linux-aarch64==2.28 +name: go_cuda-130_arch-aarch64 diff --git a/conda/environments/go_cuda-130_arch-x86_64.yaml b/conda/environments/go_cuda-130_arch-x86_64.yaml new file mode 100644 index 0000000000..a9a6a90cf1 --- /dev/null +++ b/conda/environments/go_cuda-130_arch-x86_64.yaml @@ -0,0 +1,32 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- _go_select *=cgo +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=13.0 +- cxx-compiler +- dlpack>=0.8,<1.0 +- gcc_linux-64=14.* +- go +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- nccl>=2.19 +- ninja +- sysroot_linux-64==2.28 +name: go_cuda-130_arch-x86_64 diff --git a/conda/environments/rust_cuda-129_arch-aarch64.yaml b/conda/environments/rust_cuda-129_arch-aarch64.yaml new file mode 100644 index 0000000000..3a94cc2488 --- /dev/null +++ b/conda/environments/rust_cuda-129_arch-aarch64.yaml @@ -0,0 +1,31 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=12.9 +- cxx-compiler +- gcc_linux-aarch64=14.* +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- make +- nccl>=2.19 +- ninja +- rust +- sysroot_linux-aarch64==2.28 +name: rust_cuda-129_arch-aarch64 diff --git a/conda/environments/rust_cuda-129_arch-x86_64.yaml b/conda/environments/rust_cuda-129_arch-x86_64.yaml new file mode 100644 index 0000000000..98545cc195 --- /dev/null +++ b/conda/environments/rust_cuda-129_arch-x86_64.yaml @@ -0,0 +1,31 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=12.9 +- cxx-compiler +- gcc_linux-64=14.* +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- make +- nccl>=2.19 +- ninja +- rust +- sysroot_linux-64==2.28 +name: rust_cuda-129_arch-x86_64 diff --git a/conda/environments/rust_cuda-130_arch-aarch64.yaml b/conda/environments/rust_cuda-130_arch-aarch64.yaml new file mode 100644 index 0000000000..751e44f36b --- /dev/null +++ b/conda/environments/rust_cuda-130_arch-aarch64.yaml @@ -0,0 +1,31 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=13.0 +- cxx-compiler +- gcc_linux-aarch64=14.* +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- make +- nccl>=2.19 +- ninja +- rust +- sysroot_linux-aarch64==2.28 +name: rust_cuda-130_arch-aarch64 diff --git a/conda/environments/rust_cuda-130_arch-x86_64.yaml b/conda/environments/rust_cuda-130_arch-x86_64.yaml new file mode 100644 index 0000000000..56f7c9830e --- /dev/null +++ b/conda/environments/rust_cuda-130_arch-x86_64.yaml @@ -0,0 +1,31 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- conda-forge +dependencies: +- c-compiler +- clang-tools==20.1.4 +- clang==20.1.4 +- cmake>=3.30.4 +- cuda-cudart-dev +- cuda-nvcc +- cuda-nvtx-dev +- cuda-profiler-api +- cuda-version=13.0 +- cxx-compiler +- gcc_linux-64=14.* +- libclang==20.1.4 +- libcublas-dev +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libcuvs==25.10.*,>=0.0.0a0 +- libraft==25.10.*,>=0.0.0a0 +- make +- nccl>=2.19 +- ninja +- rust +- sysroot_linux-64==2.28 +name: rust_cuda-130_arch-x86_64 diff --git a/conda/recipes/cuvs-bench/recipe.yaml b/conda/recipes/cuvs-bench/recipe.yaml index a823877926..fe12bea9ae 100644 --- a/conda/recipes/cuvs-bench/recipe.yaml +++ b/conda/recipes/cuvs-bench/recipe.yaml @@ -40,7 +40,7 @@ requirements: - benchmark - click - cuda-cudart - - cupy >=12.0.0 + - cupy >=13.6.0 - cuvs =${{ version }} - glog ${{ glog_version }} - h5py ${{ h5py_version }} diff --git a/conda/recipes/cuvs/recipe.yaml b/conda/recipes/cuvs/recipe.yaml index e7b9f6de99..f3fd05f8f3 100644 --- a/conda/recipes/cuvs/recipe.yaml +++ b/conda/recipes/cuvs/recipe.yaml @@ -58,7 +58,9 @@ requirements: - python =${{ py_version }} - rapids-build-backend >=0.4.0,<0.5.0.dev0 - scikit-build-core >=0.10.0 - - cuda-python >=12.6.2,<13.0a0 + - if: cuda_major == "12" + then: cuda-python >=12.9.2,<13.0a0 + else: cuda-python >=13.0.1,<14.0a0 - cuda-cudart-dev run: - ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }} @@ -66,7 +68,9 @@ requirements: - pylibraft =${{ minor_version }} - python - numpy >=1.23,<3.0a0 - - cuda-python >=12.6.2,<13.0a0 + - if: cuda_major == "12" + then: cuda-python >=12.9.2,<13.0a0 + else: cuda-python >=13.0.1,<14.0a0 - cuda-cudart ignore_run_exports: by_name: diff --git a/dependencies.yaml b/dependencies.yaml index 4935fe9e0a..c370e90f88 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -14,6 +14,7 @@ files: - clang - cuda - cuda_version + - depends_on_cuda_python - depends_on_cupy - depends_on_librmm - depends_on_pylibraft @@ -39,6 +40,7 @@ files: - clang - cuda - cuda_version + - depends_on_cuda_python - depends_on_cupy - depends_on_pylibraft - depends_on_libcuvs @@ -165,6 +167,7 @@ files: includes: - build_cython - build_py_cuvs + - depends_on_cuda_python - depends_on_libcuvs - depends_on_libraft - depends_on_librmm @@ -175,6 +178,7 @@ files: extras: table: project includes: + - depends_on_cuda_python - depends_on_libcuvs - depends_on_pylibraft - run_py_cuvs @@ -239,26 +243,21 @@ dependencies: - output_types: [conda] packages: - c-compiler + - cuda-nvcc - cxx-compiler specific: - output_types: conda matrices: - matrix: arch: x86_64 - cuda: "12.*" packages: - gcc_linux-64=14.* - sysroot_linux-64==2.28 - matrix: arch: aarch64 - cuda: "12.*" packages: - gcc_linux-aarch64=14.* - sysroot_linux-aarch64==2.28 - - output_types: conda - matrices: - - matrix: {cuda: "12.*"} - packages: [cuda-nvcc] rapids_build_setuptools: common: - output_types: [conda, requirements, pyproject] @@ -271,16 +270,6 @@ dependencies: - output_types: [conda] packages: - dlpack>=0.8,<1.0 - specific: - - output_types: [conda, requirements, pyproject] - matrices: - - matrix: - cuda: "12.*" - packages: - - &cuda_python12 cuda-python>=12.6.2,<13.0a0 - - matrix: - packages: - - &cuda_python cuda-python checks: common: - output_types: [conda, requirements] @@ -322,19 +311,16 @@ dependencies: packages: - cuda-version=13.0 cuda: - specific: - - output_types: conda - matrices: - - matrix: - cuda: "12.*" - packages: - - cuda-nvtx-dev - - cuda-cudart-dev - - cuda-profiler-api - - libcublas-dev - - libcurand-dev - - libcusolver-dev - - libcusparse-dev + common: + - output_types: [conda] + packages: + - cuda-nvtx-dev + - cuda-cudart-dev + - cuda-profiler-api + - libcublas-dev + - libcurand-dev + - libcusolver-dev + - libcusparse-dev cuda_wheels: specific: - output_types: [requirements, pyproject] @@ -343,10 +329,18 @@ dependencies: cuda: "12.*" use_cuda_wheels: "true" packages: - - nvidia-cublas-cu{12,13}. - - nvidia-curand-cu{12,13}. - - nvidia-cusolver-cu{12,13}. - - nvidia-cusparse-cu{12,13}. + - nvidia-cublas-cu12 + - nvidia-curand-cu12 + - nvidia-cusolver-cu12 + - nvidia-cusparse-cu12 + - matrix: + cuda: "13.*" + use_cuda_wheels: "true" + packages: + - nvidia-cublas-cu13 + - nvidia-curand-cu13 + - nvidia-cusolver-cu13 + - nvidia-cusparse-cu13 - matrix: use_cuda_wheels: "false" packages: @@ -362,14 +356,21 @@ dependencies: common: - output_types: conda packages: - - cupy>=12.0.0 + - cupy>=13.6.0 + # NOTE: This is intentionally not broken into groups by a 'cuda_suffixed' selector like + # other packages with -cu{nn}x suffixes in this file. + # All RAPIDS wheel builds (including in devcontainers) expect cupy to be suffixed. specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" packages: - - cupy-cuda12x>=12.0.0 - - {matrix: null, packages: [cupy-cuda12x>=12.0.0]} + - cupy-cuda12x>=13.6.0 + # fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided + - matrix: + packages: + - &cupy_cu13 cupy-cuda13x>=13.6.0 test_libcuvs: common: - output_types: [conda] @@ -438,16 +439,6 @@ dependencies: - output_types: [conda, requirements, pyproject] packages: - &numpy numpy>=1.23,<3.0a0 - specific: - - output_types: [conda, requirements, pyproject] - matrices: - - matrix: - cuda: "12.*" - packages: - - *cuda_python12 - - matrix: - packages: - - *cuda_python test_python_common: common: - output_types: [conda, requirements, pyproject] @@ -504,6 +495,18 @@ dependencies: - output_types: [requirements, pyproject] packages: - matplotlib>=3.9 + depends_on_cuda_python: + specific: + - output_types: [conda, requirements, pyproject] + matrices: + - matrix: + cuda: "12.*" + packages: + - cuda-python>=12.9.2,<13.0a0 + # fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided + - matrix: + packages: + - cuda-python>=13.0.1,<14.0a0 depends_on_cuvs: common: - output_types: conda @@ -532,6 +535,11 @@ dependencies: cuda_suffixed: "true" packages: - libcuvs-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - libcuvs-cu13==25.10.*,>=0.0.0a0 - {matrix: null, packages: [*libcuvs_unsuffixed]} depends_on_libcuvs_tests: common: @@ -556,6 +564,11 @@ dependencies: cuda_suffixed: "true" packages: - libraft-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - libraft-cu13==25.10.*,>=0.0.0a0 - {matrix: null, packages: [*libraft_unsuffixed]} depends_on_librmm: common: @@ -575,6 +588,11 @@ dependencies: cuda_suffixed: "true" packages: - librmm-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - librmm-cu13==25.10.*,>=0.0.0a0 - {matrix: null, packages: [*librmm_unsuffixed]} depends_on_pylibraft: common: @@ -594,12 +612,17 @@ dependencies: cuda_suffixed: "true" packages: - pylibraft-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - pylibraft-cu13==25.10.*,>=0.0.0a0 - {matrix: null, packages: [*pylibraft_unsuffixed]} depends_on_nccl: common: - output_types: conda packages: - - &nccl_unsuffixed nccl>=2.19 + - nccl>=2.19 specific: - output_types: [pyproject, requirements] matrices: @@ -608,5 +631,10 @@ dependencies: cuda_suffixed: "true" packages: - nvidia-nccl-cu12>=2.19 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - nvidia-nccl-cu13>=2.19 - matrix: packages: diff --git a/docs/source/build.rst b/docs/source/build.rst index b6c6cb8bae..de7e7a6ee8 100644 --- a/docs/source/build.rst +++ b/docs/source/build.rst @@ -61,7 +61,7 @@ For CUDA 12 packages: .. code-block:: bash - pip install cuvs-cu12 --extra-index-url=https://pypi.nvidia.com + pip install cuvs-cu13 --extra-index-url=https://pypi.nvidia.com Note: these packages statically link the C and C++ libraries so the `libcuvs` and `libcuvs_c` shared libraries won't be readily available to use in your code. diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml index 99e31fc620..b5b7dba8cf 100644 --- a/python/cuvs/pyproject.toml +++ b/python/cuvs/pyproject.toml @@ -31,7 +31,7 @@ authors = [ license = { text = "Apache-2.0" } requires-python = ">=3.10" dependencies = [ - "cuda-python", + "cuda-python>=13.0.1,<14.0a0", "libcuvs==25.10.*,>=0.0.0a0", "numpy>=1.23,<3.0a0", "pylibraft==25.10.*,>=0.0.0a0", @@ -47,7 +47,7 @@ classifiers = [ [project.optional-dependencies] test = [ - "cupy-cuda12x>=12.0.0", + "cupy-cuda13x>=13.6.0", "pytest", "pytest-cov", "scikit-learn", @@ -117,7 +117,7 @@ regex = "(?P.*)" [tool.rapids-build-backend] requires = [ "cmake>=3.30.4", - "cuda-python", + "cuda-python>=13.0.1,<14.0a0", "cython>=3.0.0", "libcuvs==25.10.*,>=0.0.0a0", "libraft==25.10.*,>=0.0.0a0", From be8e3b620a537932b7b99a2790a7a868e5876a8b Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 22 Aug 2025 12:00:23 -0500 Subject: [PATCH 03/14] fix docs, add comments on Go, Java, and Rust workflows --- .github/workflows/build.yaml | 6 ++++++ .github/workflows/pr.yaml | 6 ++++++ .github/workflows/publish-rust.yaml | 1 - .github/workflows/test.yaml | 2 ++ README.md | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 99ce6b9187..4188dbcaa8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -45,6 +45,8 @@ jobs: needs: cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: @@ -63,6 +65,8 @@ jobs: needs: cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: @@ -81,6 +85,8 @@ jobs: needs: cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 8740f78d54..685caf4f75 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -153,6 +153,8 @@ jobs: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: @@ -179,6 +181,8 @@ jobs: needs: conda-cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: @@ -194,6 +198,8 @@ jobs: needs: conda-cpp-build secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: diff --git a/.github/workflows/publish-rust.yaml b/.github/workflows/publish-rust.yaml index a520fe321f..5355cb9f2a 100644 --- a/.github/workflows/publish-rust.yaml +++ b/.github/workflows/publish-rust.yaml @@ -14,7 +14,6 @@ jobs: matrix: cuda_version: - '12.9.1' - - '13.0.0' container: image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" steps: diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2fb0525d9c..2516ff6d3b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -53,6 +53,8 @@ jobs: conda-java-tests: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 + # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: matrix: cuda_version: diff --git a/README.md b/README.md index 4a24b1faa2..a81dd1b64f 100755 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ The cuVS Python package can also be `installed through pip Date: Fri, 22 Aug 2025 15:40:34 -0500 Subject: [PATCH 04/14] use different code paths for clockRate --- cpp/bench/ann/src/common/util.hpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cpp/bench/ann/src/common/util.hpp b/cpp/bench/ann/src/common/util.hpp index b3bcc77950..11361c88fe 100644 --- a/cpp/bench/ann/src/common/util.hpp +++ b/cpp/bench/ann/src/common/util.hpp @@ -446,10 +446,15 @@ inline auto cuda_info() throw std::runtime_error{"cuda_info: call to cudaGetDeviceProperties failed with code " + std::to_string(err_code)}; } + int clockRate = 0; + int memoryClockRate = 0; + err_code = cudaDeviceGetAttribute(&clockRate, cudaDevAttrClockRate, dev); + err_code = cudaDeviceGetAttribute(&memoryClockRate, cudaDevAttrMemoryClockRate, dev); + props.emplace_back("gpu_name", std::string(device_prop.name)); props.emplace_back("gpu_sm_count", std::to_string(device_prop.multiProcessorCount)); - props.emplace_back("gpu_sm_freq", std::to_string(device_prop.clockRate * 1e3)); - props.emplace_back("gpu_mem_freq", std::to_string(device_prop.memoryClockRate * 1e3)); + props.emplace_back("gpu_sm_freq", std::to_string(clockRate * 1e3)); + props.emplace_back("gpu_mem_freq", std::to_string(memoryClockRate * 1e3)); props.emplace_back("gpu_mem_bus_width", std::to_string(device_prop.memoryBusWidth)); props.emplace_back("gpu_mem_global_size", std::to_string(device_prop.totalGlobalMem)); props.emplace_back("gpu_mem_shared_size", std::to_string(device_prop.sharedMemPerMultiprocessor)); From d3a905fb8f4118e6d23b1023f56c8d39d8b1f9d9 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Mon, 25 Aug 2025 08:50:03 -0500 Subject: [PATCH 05/14] do not fail-fast builds --- .github/workflows/build.yaml | 3 +++ .github/workflows/pr.yaml | 3 +++ .github/workflows/publish-rust.yaml | 1 + .github/workflows/test.yaml | 1 + 4 files changed, 8 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4188dbcaa8..e08ec77079 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -48,6 +48,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' @@ -68,6 +69,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' @@ -88,6 +90,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 685caf4f75..633f9ef1cb 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -156,6 +156,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' @@ -184,6 +185,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' @@ -201,6 +203,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' diff --git a/.github/workflows/publish-rust.yaml b/.github/workflows/publish-rust.yaml index 5355cb9f2a..c74af7e7f1 100644 --- a/.github/workflows/publish-rust.yaml +++ b/.github/workflows/publish-rust.yaml @@ -11,6 +11,7 @@ jobs: rust-publish: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2516ff6d3b..51418cbd22 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -56,6 +56,7 @@ jobs: # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. strategy: + fail-fast: false matrix: cuda_version: - '12.9.1' From 5ec0d4830fc186aa92ca8550f2cd5574944e2809 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Mon, 25 Aug 2025 08:52:01 -0500 Subject: [PATCH 06/14] try cudaGetDeviceProperties() patch --- .../com/nvidia/cuvs/internal/common/Util.java | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java index d62450ece0..7b6b4be7bb 100644 --- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java +++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java @@ -31,10 +31,12 @@ import com.nvidia.cuvs.internal.panama.cudaDeviceProp; import com.nvidia.cuvs.internal.panama.headers_h; import java.lang.foreign.Arena; +import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.Linker; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemoryLayout.PathElement; import java.lang.foreign.MemorySegment; +import java.lang.foreign.SymbolLookup; import java.lang.invoke.MethodHandle; import java.lang.invoke.VarHandle; import java.util.ArrayList; @@ -50,6 +52,11 @@ private Util() {} private static final Linker LINKER = Linker.nativeLinker(); + static final SymbolLookup SYMBOL_LOOKUP = + SymbolLookup.libraryLookup(System.mapLibraryName("cuvs_c"), Arena.ofAuto()) + .or(SymbolLookup.loaderLookup()) + .or(Linker.nativeLinker().defaultLookup()); + /** * Bindings for {@code cudaMemcpyAsync}; differently from the {@code headers_h} bindings (which are * automatically generated by {@code jextract}), these bindings specify the {@code critical} linker option, @@ -62,6 +69,26 @@ private Util() {} LINKER.downcallHandle( cudaMemcpyAsync$address(), cudaMemcpyAsync$descriptor(), Linker.Option.critical(true)); + private static final String cudaGetDevicePropertiesSymbolName = + "12".equals(System.getenv("RAPIDS_CUDA_MAJOR")) + ? "cudaGetDeviceProperties_v2" + : "cudaGetDeviceProperties"; + + private static final MethodHandle cudaGetDeviceProperties$mh = + LINKER.downcallHandle( + SYMBOL_LOOKUP + .find(cudaGetDevicePropertiesSymbolName) + .orElseThrow(UnsatisfiedLinkError::new), + FunctionDescriptor.of(headers_h.C_INT, headers_h.C_POINTER, headers_h.C_INT)); + + public static int cudaGetDeviceProperties(MemorySegment prop, int device) { + try { + return (int) cudaGetDeviceProperties$mh.invokeExact(prop, device); + } catch (Throwable ex$) { + throw new AssertionError("should not reach here", ex$); + } + } + /** * Checks the result value of a (CuVS) native method handle call. * @@ -242,8 +269,8 @@ public static List availableGPUs() throws Throwable { returnValue = cudaSetDevice(i); checkCudaError(returnValue, "cudaSetDevice"); - returnValue = cudaGetDeviceProperties_v2(deviceProp, i); - checkCudaError(returnValue, "cudaGetDeviceProperties_v2"); + returnValue = cudaGetDeviceProperties(deviceProp, i); + checkCudaError(returnValue, "cudaGetDeviceProperties"); returnValue = cudaMemGetInfo(free, total); checkCudaError(returnValue, "cudaMemGetInfo"); From 492852f3dc3bc5da123cddf2bcc249f769814dd2 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Mon, 25 Aug 2025 08:56:04 -0500 Subject: [PATCH 07/14] define RAPIDS_CUDA_MAJOR --- ci/build_java.sh | 3 +++ ci/test_java.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ci/build_java.sh b/ci/build_java.sh index 175cc9a559..b692bbbffd 100755 --- a/ci/build_java.sh +++ b/ci/build_java.sh @@ -41,6 +41,9 @@ set +e rapids-logger "Run Java build" +RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" +export RAPIDS_CUDA_MAJOR + bash ./build.sh java "${EXTRA_BUILD_ARGS[@]}" rapids-logger "Test script exiting with value: $EXITCODE" diff --git a/ci/test_java.sh b/ci/test_java.sh index 7c7d77860a..20c19b6dee 100755 --- a/ci/test_java.sh +++ b/ci/test_java.sh @@ -12,6 +12,9 @@ nvidia-smi rapids-logger "Run Java build and tests" +RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" +export RAPIDS_CUDA_MAJOR + # TODO: switch to installing pre-built artifacts instead of rebuilding in test jobs # ref: https://github.com/rapidsai/cuvs/issues/868 ci/build_java.sh --run-java-tests From 690b9eddd2cdae0e1c699a8de2b5932f5bb1249a Mon Sep 17 00:00:00 2001 From: James Lamb Date: Mon, 25 Aug 2025 15:53:21 -0500 Subject: [PATCH 08/14] fix artifact names --- .github/workflows/build.yaml | 1 + .github/workflows/pr.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e08ec77079..ccb75dbdb7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -102,6 +102,7 @@ jobs: date: ${{ inputs.date }} container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/build_java.sh" + artifact-name: "cuvs-java-cuda${{ matrix.cuda_version }}" file_to_upload: "java/cuvs-java/target/" sha: ${{ inputs.sha }} python-build: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 633f9ef1cb..2c7a61fd39 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -167,6 +167,7 @@ jobs: arch: "amd64" container_image: "rapidsai/ci-conda:25.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" script: "ci/test_java.sh" + artifact-name: "cuvs-java-cuda${{ matrix.cuda_version }}" file_to_upload: "java/cuvs-java/target/" docs-build: needs: conda-python-build From 3b6b8d695c5c46f2d0a490b876e997f9328757cc Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 27 Aug 2025 00:43:59 -0500 Subject: [PATCH 09/14] fix docs --- docs/source/build.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/source/build.rst b/docs/source/build.rst index de7e7a6ee8..6bb0863c55 100644 --- a/docs/source/build.rst +++ b/docs/source/build.rst @@ -57,12 +57,14 @@ Python through Pip The cuVS Python package can also be `installed through pip `_. -For CUDA 12 packages: - .. code-block:: bash + # CUDA 13 pip install cuvs-cu13 --extra-index-url=https://pypi.nvidia.com + # CUDA 12 + pip install cuvs-cu12 --extra-index-url=https://pypi.nvidia.com + Note: these packages statically link the C and C++ libraries so the `libcuvs` and `libcuvs_c` shared libraries won't be readily available to use in your code. Build from source From 16a133f921e525bd22f74f45ad3e1e0a04c765e7 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 28 Aug 2025 13:50:20 -0500 Subject: [PATCH 10/14] fix CUDA 13 compilation issue --- cpp/include/cuvs/neighbors/common.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/include/cuvs/neighbors/common.hpp b/cpp/include/cuvs/neighbors/common.hpp index 70da22a09d..e615b80d24 100644 --- a/cpp/include/cuvs/neighbors/common.hpp +++ b/cpp/include/cuvs/neighbors/common.hpp @@ -485,7 +485,7 @@ namespace filtering { enum class FilterType { None, Bitmap, Bitset }; struct base_filter { - virtual ~base_filter() = default; + _RAFT_HOST_DEVICE virtual ~base_filter() = default; virtual FilterType get_filter_type() const = 0; }; From 7a9851be61d807c952b67df5ab4edb98ba2636a3 Mon Sep 17 00:00:00 2001 From: jinsolp Date: Thu, 28 Aug 2025 21:17:56 +0000 Subject: [PATCH 11/14] fix compile error --- cpp/include/cuvs/neighbors/common.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/include/cuvs/neighbors/common.hpp b/cpp/include/cuvs/neighbors/common.hpp index e615b80d24..b49b7a4e8a 100644 --- a/cpp/include/cuvs/neighbors/common.hpp +++ b/cpp/include/cuvs/neighbors/common.hpp @@ -485,7 +485,7 @@ namespace filtering { enum class FilterType { None, Bitmap, Bitset }; struct base_filter { - _RAFT_HOST_DEVICE virtual ~base_filter() = default; + ~base_filter() = default; virtual FilterType get_filter_type() const = 0; }; From d4e3154272cfb06b2b813608e714cb228eebab99 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 28 Aug 2025 16:26:36 -0500 Subject: [PATCH 12/14] update docs --- docs/source/build.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/source/build.rst b/docs/source/build.rst index 6bb0863c55..26c361dfbc 100644 --- a/docs/source/build.rst +++ b/docs/source/build.rst @@ -43,15 +43,23 @@ C/C++ Package .. code-block:: bash + # CUDA 13 conda install -c rapidsai -c conda-forge libcuvs cuda-version=13.0 + # CUDA 12 + conda install -c rapidsai -c conda-forge libcuvs cuda-version=12.9 + Python Package ~~~~~~~~~~~~~~ .. code-block:: bash + # CUDA 13 conda install -c rapidsai -c conda-forge cuvs cuda-version=13.0 + # CUDA 12 + conda install -c rapidsai -c conda-forge cuvs cuda-version=12.9 + Python through Pip ^^^^^^^^^^^^^^^^^^ From 104508b31edede3e008880e20b295c02b20b8dda Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 28 Aug 2025 20:49:24 -0500 Subject: [PATCH 13/14] use patched cudaGetDeviceProperties() --- .../java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java index c2422318ac..0558c590fe 100644 --- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java +++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java @@ -20,6 +20,7 @@ import static com.nvidia.cuvs.internal.panama.headers_h.cudaMemGetInfo; import static com.nvidia.cuvs.internal.panama.headers_h_1.*; +import com.nvidia.cuvs.internal.common.Util.cudaGetDeviceProperties; import com.nvidia.cuvs.CuVSResources; import com.nvidia.cuvs.CuVSResourcesInfo; import com.nvidia.cuvs.GPUInfo; @@ -52,8 +53,8 @@ private static List getAvailableGpusInfo() { MemorySegment deviceProp = cudaDeviceProp.allocate(localArena); for (int i = 0; i < numGpuCount; i++) { - returnValue = cudaGetDeviceProperties_v2(deviceProp, i); - checkCudaError(returnValue, "cudaGetDeviceProperties_v2"); + returnValue = cudaGetDeviceProperties(deviceProp, i); + checkCudaError(returnValue, "cudaGetDeviceProperties"); GPUInfo gpuInfo = new GPUInfo( From 8530e22090568f7fe8ca2b1a5c90688493ec2681 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 28 Aug 2025 21:51:59 -0500 Subject: [PATCH 14/14] oops, cudaGetDeviceProperties() is static --- .../java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java index 0558c590fe..ab4b0dde1d 100644 --- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java +++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java @@ -17,10 +17,10 @@ import static com.nvidia.cuvs.internal.common.LinkerHelper.C_INT; import static com.nvidia.cuvs.internal.common.Util.checkCudaError; +import static com.nvidia.cuvs.internal.common.Util.cudaGetDeviceProperties; import static com.nvidia.cuvs.internal.panama.headers_h.cudaMemGetInfo; import static com.nvidia.cuvs.internal.panama.headers_h_1.*; -import com.nvidia.cuvs.internal.common.Util.cudaGetDeviceProperties; import com.nvidia.cuvs.CuVSResources; import com.nvidia.cuvs.CuVSResourcesInfo; import com.nvidia.cuvs.GPUInfo;