diff --git a/.devcontainer/cuda12.9-conda/devcontainer.json b/.devcontainer/cuda12.9-conda/devcontainer.json index 983c7f04c1..f400158046 100644 --- a/.devcontainer/cuda12.9-conda/devcontainer.json +++ b/.devcontainer/cuda12.9-conda/devcontainer.json @@ -5,22 +5,22 @@ "args": { "CUDA": "12.9", "PYTHON_PACKAGE_MANAGER": "conda", - "BASE": "rapidsai/devcontainers:26.10-cpp-mambaforge" + "BASE": "rapidsai/devcontainers:26.12-cpp-mambaforge" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.10-cuda12.9-conda" + "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda12.9-conda" ] }, "runArgs": [ "--rm", "--name", - "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.10-cuda12.9-conda", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.12-cuda12.9-conda", "--ulimit", "nofile=500000" ], "hostRequirements": {"gpu": "optional"}, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.10": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.12": {} }, "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" diff --git a/.devcontainer/cuda12.9-pip/devcontainer.json b/.devcontainer/cuda12.9-pip/devcontainer.json index aa17ed88db..0252231d63 100644 --- a/.devcontainer/cuda12.9-pip/devcontainer.json +++ b/.devcontainer/cuda12.9-pip/devcontainer.json @@ -5,29 +5,29 @@ "args": { "CUDA": "12.9", "PYTHON_PACKAGE_MANAGER": "pip", - "BASE": "rapidsai/devcontainers:26.10-cpp-cuda12.9-ucx1.19.0-openmpi5.0.10" + "BASE": "rapidsai/devcontainers:26.12-cpp-cuda12.9-ucx1.19.0-openmpi5.0.10" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.10-cuda12.9-pip" + "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda12.9-pip" ] }, "runArgs": [ "--rm", "--name", - "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.10-cuda12.9-pip", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.12-cuda12.9-pip", "--ulimit", "nofile=500000" ], "hostRequirements": {"gpu": "optional"}, "features": { - "ghcr.io/rapidsai/devcontainers/features/cuda:26.10": { + "ghcr.io/rapidsai/devcontainers/features/cuda:26.12": { "version": "12.9", "installcuBLAS": true, "installcuSOLVER": true, "installcuRAND": true, "installcuSPARSE": true }, - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.10": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.12": {} }, "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/ucx", diff --git a/.devcontainer/cuda13.3-conda/devcontainer.json b/.devcontainer/cuda13.3-conda/devcontainer.json index 5156e8b04d..e7c410294f 100644 --- a/.devcontainer/cuda13.3-conda/devcontainer.json +++ b/.devcontainer/cuda13.3-conda/devcontainer.json @@ -5,22 +5,22 @@ "args": { "CUDA": "13.3", "PYTHON_PACKAGE_MANAGER": "conda", - "BASE": "rapidsai/devcontainers:26.10-cpp-mambaforge" + "BASE": "rapidsai/devcontainers:26.12-cpp-mambaforge" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.10-cuda13.3-conda" + "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda13.3-conda" ] }, "runArgs": [ "--rm", "--name", - "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.10-cuda13.3-conda", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.12-cuda13.3-conda", "--ulimit", "nofile=500000" ], "hostRequirements": {"gpu": "optional"}, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.10": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.12": {} }, "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" diff --git a/.devcontainer/cuda13.3-pip/devcontainer.json b/.devcontainer/cuda13.3-pip/devcontainer.json index dfc3a7f323..ec58459407 100644 --- a/.devcontainer/cuda13.3-pip/devcontainer.json +++ b/.devcontainer/cuda13.3-pip/devcontainer.json @@ -5,29 +5,29 @@ "args": { "CUDA": "13.3", "PYTHON_PACKAGE_MANAGER": "pip", - "BASE": "rapidsai/devcontainers:26.10-cpp-cuda13.3-ucx1.19.0-openmpi5.0.10" + "BASE": "rapidsai/devcontainers:26.12-cpp-cuda13.3-ucx1.19.0-openmpi5.0.10" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.10-cuda13.3-pip" + "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda13.3-pip" ] }, "runArgs": [ "--rm", "--name", - "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.10-cuda13.3-pip", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.12-cuda13.3-pip", "--ulimit", "nofile=500000" ], "hostRequirements": {"gpu": "optional"}, "features": { - "ghcr.io/rapidsai/devcontainers/features/cuda:26.10": { + "ghcr.io/rapidsai/devcontainers/features/cuda:26.12": { "version": "13.3", "installcuBLAS": true, "installcuSOLVER": true, "installcuRAND": true, "installcuSPARSE": true }, - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.10": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.12": {} }, "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/ucx", diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bdd46b298f..12a176b129 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -82,7 +82,7 @@ jobs: branch: ${{ inputs.branch }} arch: "${{matrix.ARCH}}" date: ${{ inputs.date }} - container_image: "rapidsai/ci-wheel:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-wheel:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" node_type: "cpu16" requires_license_builder: true script: "ci/build_standalone_c.sh" @@ -118,7 +118,7 @@ jobs: branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" node_type: "gpu-l4-latest-1" script: "ci/build_rust.sh" sha: ${{ inputs.sha }} @@ -151,7 +151,7 @@ jobs: branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" node_type: "gpu-l4-latest-1" script: "ci/build_go.sh" sha: ${{ inputs.sha }} @@ -184,7 +184,7 @@ jobs: branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/build_java.sh" artifact-name: "cuvs-java-cuda${{ matrix.CUDA_VER }}" file_to_upload: "java/cuvs-java/target/" @@ -210,7 +210,7 @@ jobs: branch: ${{ inputs.branch }} arch: "amd64" date: ${{ inputs.date }} - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/build_lucene.sh cuvs-java-cuda${{ matrix.CUDA_VER }}" artifact-name: "cuvs-lucene-cuda${{ matrix.CUDA_VER }}" file_to_upload: "java/cuvs-lucene/target/" @@ -273,7 +273,7 @@ jobs: arch: "amd64" branch: ${{ inputs.branch }} build_type: ${{ inputs.build_type || 'branch' }} - container_image: "rapidsai/ci-conda:26.10-latest" + container_image: "rapidsai/ci-conda:26.12-latest" date: ${{ inputs.date }} node_type: "gpu-l4-latest-1" script: "ci/build_docs.sh" diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index dc5a1e1852..2ba6300c79 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -558,7 +558,7 @@ jobs: build-datetime: ${{ needs.build-details.outputs.build-datetime }} arch: "${{matrix.arch}}" date: ${{ inputs.date }}_c - container_image: "rapidsai/ci-wheel:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-wheel:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" node_type: "cpu16" requires_license_builder: true script: "ci/build_standalone_c.sh --build-tests" @@ -592,7 +592,7 @@ jobs: node_type: "gpu-l4-latest-1" arch: "${{matrix.arch}}" date: ${{ inputs.date }}_c - container_image: "rapidsai/ci-wheel:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-wheel:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/test_standalone_c.sh libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz" sha: ${{ inputs.sha }} conda-java-build-and-tests-matrix: @@ -624,7 +624,7 @@ jobs: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/test_java.sh" artifact-name: "cuvs-java-cuda${{ matrix.CUDA_VER }}" file_to_upload: "java/cuvs-java/target/" @@ -649,7 +649,7 @@ jobs: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/test_lucene.sh cuvs-java-cuda${{ matrix.CUDA_VER }}" artifact-name: "cuvs-lucene-cuda${{ matrix.CUDA_VER }}" file_to_upload: "java/cuvs-lucene/target/" @@ -682,7 +682,7 @@ jobs: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/build_rust.sh" go-build-matrix: needs: [conda-cpp-build, changed-files] @@ -713,7 +713,7 @@ jobs: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/build_go.sh" docs-build: permissions: @@ -728,7 +728,7 @@ jobs: build_type: pull-request node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-latest" + container_image: "rapidsai/ci-conda:26.12-latest" script: "ci/build_docs.sh" wheel-build-libcuvs: needs: [build-details, checks] diff --git a/.github/workflows/publish-rust.yaml b/.github/workflows/publish-rust.yaml index 97ace8bf73..d87a67c940 100644 --- a/.github/workflows/publish-rust.yaml +++ b/.github/workflows/publish-rust.yaml @@ -19,7 +19,7 @@ jobs: cuda_version: - '13.3.0' container: - image: "rapidsai/ci-conda:26.10-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" + image: "rapidsai/ci-conda:26.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13" steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index c2ff71b3a2..4e5a4f6609 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -100,7 +100,7 @@ jobs: sha: ${{ inputs.sha }} node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/test_java.sh" artifact-name: "cuvs-java-cuda${{ matrix.CUDA_VER }}" file_to_upload: "java/cuvs-java/target/" @@ -128,7 +128,7 @@ jobs: sha: ${{ inputs.sha }} node_type: "gpu-l4-latest-1" arch: "amd64" - container_image: "rapidsai/ci-conda:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + container_image: "rapidsai/ci-conda:26.12-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" script: "ci/test_lucene.sh cuvs-java-cuda${{ matrix.CUDA_VER }}" artifact-name: "cuvs-lucene-cuda${{ matrix.CUDA_VER }}" file_to_upload: "java/cuvs-lucene/target/" diff --git a/VERSION b/VERSION index 6549ba6527..34bc8081d2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -26.10.00 +26.12.00 diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index 0bf1117ba1..5d71514e4c 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -26,10 +26,10 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libkvikio==26.10.*,>=0.0.0a0 +- libkvikio==26.12.*,>=0.0.0a0 - libnvjitlink-dev - libopenblas<=0.3.30 -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - make - maven - nccl>=2.19 @@ -39,7 +39,7 @@ dependencies: - openblas - openjdk=22.* - pre-commit -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pytest - pytest-cov - rapids-build-backend>=0.4.0,<0.5.0 diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index 98d80d81a6..05d99c061c 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -26,9 +26,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libkvikio==26.10.*,>=0.0.0a0 +- libkvikio==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - make - maven - nccl>=2.19 @@ -38,7 +38,7 @@ dependencies: - openblas - openjdk=22.* - pre-commit -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pytest - pytest-cov - rapids-build-backend>=0.4.0,<0.5.0 diff --git a/conda/environments/all_cuda-133_arch-aarch64.yaml b/conda/environments/all_cuda-133_arch-aarch64.yaml index 07deffb120..a07c8eaad2 100644 --- a/conda/environments/all_cuda-133_arch-aarch64.yaml +++ b/conda/environments/all_cuda-133_arch-aarch64.yaml @@ -28,10 +28,10 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libkvikio==26.10.*,>=0.0.0a0 +- libkvikio==26.12.*,>=0.0.0a0 - libnvjitlink-dev - libopenblas<=0.3.30 -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - make - maven - nccl>=2.19 @@ -41,7 +41,7 @@ dependencies: - openblas - openjdk=22.* - pre-commit -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pytest - pytest-cov - rapids-build-backend>=0.4.0,<0.5.0 diff --git a/conda/environments/all_cuda-133_arch-x86_64.yaml b/conda/environments/all_cuda-133_arch-x86_64.yaml index e6de7ca7a5..44b07b0383 100644 --- a/conda/environments/all_cuda-133_arch-x86_64.yaml +++ b/conda/environments/all_cuda-133_arch-x86_64.yaml @@ -28,9 +28,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libkvikio==26.10.*,>=0.0.0a0 +- libkvikio==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - make - maven - nccl>=2.19 @@ -40,7 +40,7 @@ dependencies: - openblas - openjdk=22.* - pre-commit -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pytest - pytest-cov - rapids-build-backend>=0.4.0,<0.5.0 diff --git a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml index b844e1d93d..62c49070c6 100644 --- a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml +++ b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml @@ -17,7 +17,7 @@ dependencies: - cuda-profiler-api - cuda-version=12.9 - cupy>=14.0.1,!=14.1.0 -- cuvs==26.10.*,>=0.0.0a0 +- cuvs==26.12.*,>=0.0.0a0 - cxx-compiler - cython>=3.2.2 - dlpack>=0.8,<1.0 @@ -28,9 +28,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - matplotlib-base>=3.9 - nccl>=2.19 - ninja @@ -38,7 +38,7 @@ dependencies: - openblas - opensearch-py>=2.4.0 - pandas -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pyyaml - rapids-build-backend>=0.4.0,<0.5.0 - requests diff --git a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml index 2340c9d7a0..5cbc458d60 100644 --- a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml +++ b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml @@ -17,7 +17,7 @@ dependencies: - cuda-profiler-api - cuda-version=12.9 - cupy>=14.0.1,!=14.1.0 -- cuvs==26.10.*,>=0.0.0a0 +- cuvs==26.12.*,>=0.0.0a0 - cxx-compiler - cython>=3.2.2 - dlpack>=0.8,<1.0 @@ -30,9 +30,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - matplotlib-base>=3.9 - mkl-devel=2023 - nccl>=2.19 @@ -41,7 +41,7 @@ dependencies: - openblas - opensearch-py>=2.4.0 - pandas -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pyyaml - rapids-build-backend>=0.4.0,<0.5.0 - requests diff --git a/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml index 1d5f229c8f..bcec6fc006 100644 --- a/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml +++ b/conda/environments/bench_ann_cuda-133_arch-aarch64.yaml @@ -19,7 +19,7 @@ dependencies: - cuda-version=13.3 - cupy>=14.0.1,!=14.1.0 - cutile-python -- cuvs==26.10.*,>=0.0.0a0 +- cuvs==26.12.*,>=0.0.0a0 - cxx-compiler - cython>=3.2.2 - dlpack>=0.8,<1.0 @@ -30,9 +30,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - matplotlib-base>=3.9 - nccl>=2.19 - ninja @@ -40,7 +40,7 @@ dependencies: - openblas - opensearch-py>=2.4.0 - pandas -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pyyaml - rapids-build-backend>=0.4.0,<0.5.0 - requests diff --git a/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml index 228d11c3d8..4d7cb419fa 100644 --- a/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml +++ b/conda/environments/bench_ann_cuda-133_arch-x86_64.yaml @@ -19,7 +19,7 @@ dependencies: - cuda-version=13.3 - cupy>=14.0.1,!=14.1.0 - cutile-python -- cuvs==26.10.*,>=0.0.0a0 +- cuvs==26.12.*,>=0.0.0a0 - cxx-compiler - cython>=3.2.2 - dlpack>=0.8,<1.0 @@ -32,9 +32,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- librmm==26.10.*,>=0.0.0a0 +- librmm==26.12.*,>=0.0.0a0 - matplotlib-base>=3.9 - mkl-devel=2023 - nccl>=2.19 @@ -43,7 +43,7 @@ dependencies: - openblas - opensearch-py>=2.4.0 - pandas -- pylibraft==26.10.*,>=0.0.0a0 +- pylibraft==26.12.*,>=0.0.0a0 - pyyaml - rapids-build-backend>=0.4.0,<0.5.0 - requests diff --git a/conda/environments/go_cuda-129_arch-aarch64.yaml b/conda/environments/go_cuda-129_arch-aarch64.yaml index e95660174c..1c5360b50b 100644 --- a/conda/environments/go_cuda-129_arch-aarch64.yaml +++ b/conda/environments/go_cuda-129_arch-aarch64.yaml @@ -24,9 +24,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - nccl>=2.19 - ninja - sysroot_linux-aarch64==2.28 diff --git a/conda/environments/go_cuda-129_arch-x86_64.yaml b/conda/environments/go_cuda-129_arch-x86_64.yaml index ba96a1c457..bb80d91328 100644 --- a/conda/environments/go_cuda-129_arch-x86_64.yaml +++ b/conda/environments/go_cuda-129_arch-x86_64.yaml @@ -24,9 +24,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - nccl>=2.19 - ninja - sysroot_linux-64==2.28 diff --git a/conda/environments/go_cuda-133_arch-aarch64.yaml b/conda/environments/go_cuda-133_arch-aarch64.yaml index 8098f29222..1732d237ef 100644 --- a/conda/environments/go_cuda-133_arch-aarch64.yaml +++ b/conda/environments/go_cuda-133_arch-aarch64.yaml @@ -24,9 +24,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - nccl>=2.19 - ninja - sysroot_linux-aarch64==2.28 diff --git a/conda/environments/go_cuda-133_arch-x86_64.yaml b/conda/environments/go_cuda-133_arch-x86_64.yaml index e68b40440e..362fba8a87 100644 --- a/conda/environments/go_cuda-133_arch-x86_64.yaml +++ b/conda/environments/go_cuda-133_arch-x86_64.yaml @@ -24,9 +24,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - nccl>=2.19 - ninja - sysroot_linux-64==2.28 diff --git a/conda/environments/rust_cuda-129_arch-aarch64.yaml b/conda/environments/rust_cuda-129_arch-aarch64.yaml index a859251b85..8d500c35d7 100644 --- a/conda/environments/rust_cuda-129_arch-aarch64.yaml +++ b/conda/environments/rust_cuda-129_arch-aarch64.yaml @@ -19,9 +19,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - make - nccl>=2.19 - ninja diff --git a/conda/environments/rust_cuda-129_arch-x86_64.yaml b/conda/environments/rust_cuda-129_arch-x86_64.yaml index 16c61ef52a..7729a54464 100644 --- a/conda/environments/rust_cuda-129_arch-x86_64.yaml +++ b/conda/environments/rust_cuda-129_arch-x86_64.yaml @@ -19,9 +19,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - make - nccl>=2.19 - ninja diff --git a/conda/environments/rust_cuda-133_arch-aarch64.yaml b/conda/environments/rust_cuda-133_arch-aarch64.yaml index d4d9095d6a..82e3b5cb76 100644 --- a/conda/environments/rust_cuda-133_arch-aarch64.yaml +++ b/conda/environments/rust_cuda-133_arch-aarch64.yaml @@ -19,9 +19,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - make - nccl>=2.19 - ninja diff --git a/conda/environments/rust_cuda-133_arch-x86_64.yaml b/conda/environments/rust_cuda-133_arch-x86_64.yaml index fd92bdaafd..0196a765ce 100644 --- a/conda/environments/rust_cuda-133_arch-x86_64.yaml +++ b/conda/environments/rust_cuda-133_arch-x86_64.yaml @@ -19,9 +19,9 @@ dependencies: - libcurand-dev - libcusolver-dev - libcusparse-dev -- libcuvs==26.10.*,>=0.0.0a0 +- libcuvs==26.12.*,>=0.0.0a0 - libnvjitlink-dev -- libraft==26.10.*,>=0.0.0a0 +- libraft==26.12.*,>=0.0.0a0 - make - nccl>=2.19 - ninja diff --git a/dependencies.yaml b/dependencies.yaml index 08b1209411..40d1d0664c 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -685,7 +685,7 @@ dependencies: - output_types: [conda, pyproject, requirements] packages: - click - - cuvs==26.10.*,>=0.0.0a0 + - cuvs==26.12.*,>=0.0.0a0 - pandas - pyyaml - requests @@ -728,17 +728,17 @@ dependencies: common: - output_types: conda packages: - - cuvs==26.10.*,>=0.0.0a0 + - cuvs==26.12.*,>=0.0.0a0 depends_on_cuvs_bench: common: - output_types: conda packages: - - cuvs-bench==26.10.*,>=0.0.0a0 + - cuvs-bench==26.12.*,>=0.0.0a0 depends_on_libcuvs: common: - output_types: conda packages: - - &libcuvs_unsuffixed libcuvs==26.10.*,>=0.0.0a0 + - &libcuvs_unsuffixed libcuvs==26.12.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -750,23 +750,23 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - libcuvs-cu12==26.10.*,>=0.0.0a0 + - libcuvs-cu12==26.12.*,>=0.0.0a0 - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - libcuvs-cu13==26.10.*,>=0.0.0a0 + - libcuvs-cu13==26.12.*,>=0.0.0a0 - {matrix: null, packages: [*libcuvs_unsuffixed]} depends_on_libcuvs_tests: common: - output_types: conda packages: - - libcuvs-tests==26.10.*,>=0.0.0a0 + - libcuvs-tests==26.12.*,>=0.0.0a0 depends_on_libraft: common: - output_types: conda packages: - - &libraft_unsuffixed libraft==26.10.*,>=0.0.0a0 + - &libraft_unsuffixed libraft==26.12.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -778,18 +778,18 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - libraft-cu12==26.10.*,>=0.0.0a0 + - libraft-cu12==26.12.*,>=0.0.0a0 - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - libraft-cu13==26.10.*,>=0.0.0a0 + - libraft-cu13==26.12.*,>=0.0.0a0 - {matrix: null, packages: [*libraft_unsuffixed]} depends_on_librmm: common: - output_types: conda packages: - - &librmm_unsuffixed librmm==26.10.*,>=0.0.0a0 + - &librmm_unsuffixed librmm==26.12.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -801,18 +801,18 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - librmm-cu12==26.10.*,>=0.0.0a0 + - librmm-cu12==26.12.*,>=0.0.0a0 - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - librmm-cu13==26.10.*,>=0.0.0a0 + - librmm-cu13==26.12.*,>=0.0.0a0 - {matrix: null, packages: [*librmm_unsuffixed]} depends_on_libkvikio: common: - output_types: conda packages: - - &libkvikio_unsuffixed libkvikio==26.10.*,>=0.0.0a0 + - &libkvikio_unsuffixed libkvikio==26.12.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -824,18 +824,18 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - libkvikio-cu12==26.10.*,>=0.0.0a0 + - libkvikio-cu12==26.12.*,>=0.0.0a0 - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - libkvikio-cu13==26.10.*,>=0.0.0a0 + - libkvikio-cu13==26.12.*,>=0.0.0a0 - {matrix: null, packages: [*libkvikio_unsuffixed]} depends_on_pylibraft: common: - output_types: conda packages: - - &pylibraft_unsuffixed pylibraft==26.10.*,>=0.0.0a0 + - &pylibraft_unsuffixed pylibraft==26.12.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -847,12 +847,12 @@ dependencies: cuda: "12.*" cuda_suffixed: "true" packages: - - pylibraft-cu12==26.10.*,>=0.0.0a0 + - pylibraft-cu12==26.12.*,>=0.0.0a0 - matrix: cuda: "13.*" cuda_suffixed: "true" packages: - - pylibraft-cu13==26.10.*,>=0.0.0a0 + - pylibraft-cu13==26.12.*,>=0.0.0a0 - {matrix: null, packages: [*pylibraft_unsuffixed]} depends_on_nccl: common: diff --git a/examples/go/README.md b/examples/go/README.md index 292ca66114..1e7858bca1 100644 --- a/examples/go/README.md +++ b/examples/go/README.md @@ -24,7 +24,7 @@ export CC=clang 2. Install the Go module: ```bash -go get github.com/nvidia/cuvs/go@v26.08.00 # 25.02.00 being your desired version, selected from https://github.com/nvidia/cuvs/tags +go get github.com/nvidia/cuvs/go@v26.12.00 # 25.02.00 being your desired version, selected from https://github.com/nvidia/cuvs/tags ``` Then you can build your project with the usual `go build`. diff --git a/fern/pages/c_api/c-api-neighbors-vamana.md b/fern/pages/c_api/c-api-neighbors-vamana.md index d70db45305..0f8c8e016c 100644 --- a/fern/pages/c_api/c-api-neighbors-vamana.md +++ b/fern/pages/c_api/c-api-neighbors-vamana.md @@ -178,7 +178,8 @@ The build uses the Vamana insertion-based algorithm to create the graph. The alg The following distance metrics are supported: -- L2 +- L2Expanded (sqeuclidean) +- L2SqrtExpanded (l2 / euclidean distance) Usage example: diff --git a/fern/pages/java_api/java-api-com-nvidia-cuvs-cagraindex.md b/fern/pages/java_api/java-api-com-nvidia-cuvs-cagraindex.md index 8c19be0b1b..0484513500 100644 --- a/fern/pages/java_api/java-api-com-nvidia-cuvs-cagraindex.md +++ b/fern/pages/java_api/java-api-com-nvidia-cuvs-cagraindex.md @@ -29,7 +29,7 @@ public final void setDelegate(AutoCloseable delegate, long handleAddress) Internal wiring hook used by the Java wrapper implementation. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:33`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:34`_ ### isPresent @@ -39,7 +39,7 @@ public final boolean isPresent() Returns true when this view has a native handle. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:41`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:42`_ ### nativeHandleAddress @@ -49,7 +49,7 @@ public final long nativeHandleAddress() Internal accessor for native handle address. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:48`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:49`_ ### setDelegate @@ -59,7 +59,7 @@ public final void setDelegate(AutoCloseable delegate) Internal wiring hook used by the Java wrapper implementation. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:83`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:84`_ ### setDelegate @@ -69,7 +69,7 @@ public final void setDelegate(AutoCloseable delegate, long handleAddress) Internal wiring hook used by the Java wrapper implementation. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:90`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:91`_ ### isPresent @@ -79,7 +79,7 @@ public final boolean isPresent() Returns true when this handle owns native dataset storage. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:98`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:99`_ ### nativeHandleAddress @@ -89,7 +89,7 @@ public final long nativeHandleAddress() Internal accessor for native handle address. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:105`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:106`_ ### close @@ -99,7 +99,7 @@ _Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:105`_ Invokes the native destroy_cagra_index to de-allocate the CAGRA index -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:135`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:136`_ ### search @@ -120,7 +120,7 @@ CAGRA index. an instance of `SearchResults` containing the results -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:146`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:147`_ ### makePaddedDataset @@ -132,7 +132,7 @@ Create an owning padded dataset by allocating padded storage and copying `dataset`. Prefer this when the source matrix is not already padded to CAGRA's required row stride (e.g. unaligned dimensions). -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:153`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:154`_ ### makePaddedDatasetView @@ -144,7 +144,7 @@ Create a caller-owned padded dataset view handle from a matrix that is already padded to CAGRA's required row stride. For unpadded matrices use `#makePaddedDataset(CuVSMatrix)`. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:160`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:161`_ ### makeStandardDatasetView @@ -154,7 +154,7 @@ StandardDatasetView makeStandardDatasetView(CuVSMatrix dataset) throws Throwable Create a caller-owned standard dataset view handle from a matrix. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:163`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:164`_ ### updateDataset @@ -166,7 +166,7 @@ Update this index with a caller-provided padded device dataset view and leave it search-ready in padded-device layout. The caller retains ownership of the underlying padded storage and must keep it alive while this index uses it. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:170`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:171`_ ### updateDataset @@ -177,7 +177,7 @@ void updateDataset(PaddedDataset dataset) throws Throwable Update this index with a caller-owned padded device dataset. The dataset must remain alive while this index uses it. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:176`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:177`_ ### getGraph @@ -191,7 +191,7 @@ Returns the CAGRA graph a `CuVSDeviceMatrix` encapsulating the native int (uint32_t) array used to represent the cagra graph -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:183`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:184`_ ### getGraphDegree @@ -207,7 +207,21 @@ build truncated it. the built graph degree (`graph().extent(1)`) -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:192`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:193`_ + +### size + +```java +long size() +``` + +Returns the number of vectors in this index. + +**Returns** + +the number of rows of the indexed dataset + +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:200`_ ### serialize @@ -224,7 +238,7 @@ for writing index bytes. | --- | --- | | `outputStream` | an instance of `OutputStream` to write the index bytes into | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:201`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:209`_ ### serialize @@ -242,7 +256,7 @@ for writing index bytes. | `outputStream` | an instance of `OutputStream` to write the index bytes into | | `bufferLength` | the length of buffer to use for writing bytes. Default value is 1024 | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:212`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:220`_ ### serialize @@ -260,7 +274,7 @@ for writing index bytes. | `outputStream` | an instance of `OutputStream` to write the index bytes into | | `tempFile` | an intermediate `Path` where CAGRA index is written temporarily | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:223`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:231`_ ### serialize @@ -279,7 +293,7 @@ and path to the intermediate temporary file. | `tempFile` | an intermediate `Path` where CAGRA index is written temporarily | | `bufferLength` | the length of buffer to use for writing bytes. Default value is 1024 | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:238`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:246`_ ### serializeToHNSW @@ -296,7 +310,7 @@ of `OutputStream` and path to the intermediate temporary file. | --- | --- | | `outputStream` | an instance of `OutputStream` to write the index bytes to | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:247`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:255`_ ### serializeToHNSW @@ -314,7 +328,7 @@ of `OutputStream` and path to the intermediate temporary file. | `outputStream` | an instance of `OutputStream` to write the index bytes to | | `bufferLength` | the length of buffer to use for writing bytes. Default value is 1024 | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:258`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:266`_ ### serializeToHNSW @@ -332,7 +346,7 @@ of `OutputStream` and path to the intermediate temporary file. | `outputStream` | an instance of `OutputStream` to write the index bytes to | | `tempFile` | an intermediate `Path` where CAGRA index is written temporarily | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:269`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:277`_ ### serializeToHNSW @@ -351,7 +365,7 @@ of `OutputStream` and path to the intermediate temporary file. | `tempFile` | an intermediate `Path` where CAGRA index is written temporarily | | `bufferLength` | the length of buffer to use for writing bytes. Default value is 1024 | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:284`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:292`_ ### getCuVSResources @@ -365,7 +379,7 @@ Gets an instance of `CuVSResources` an instance of `CuVSResources` -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:291`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:299`_ ### newBuilder @@ -387,7 +401,7 @@ Creates a new Builder with an instance of `CuVSResources`. | --- | --- | | `UnsupportedOperationException` | if the provider does not cuvs | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:299`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:307`_ ### merge @@ -413,7 +427,7 @@ A new merged CAGRA index | --- | --- | | `Throwable` | if an error occurs during the merge operation | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:311`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:319`_ ### merge @@ -440,7 +454,43 @@ A new merged CAGRA index | --- | --- | | `Throwable` | if an error occurs during the merge operation | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:323`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:331`_ + +### merge + +```java +static CagraIndex merge(CagraIndex[] indexes, CagraIndexParams mergeParams, BitSet rowFilter) throws Throwable +``` + +Merges multiple CAGRA indexes into a single index, keeping only the rows selected by +`rowFilter`. + +The merge concatenates the input datasets in the order the indexes are given, so bit +`i` of the filter refers to row `i` of that concatenation: bits `0` to +`indexes[0].size() - 1` address the first index, the bits that follow address the second, +and so on. A set bit keeps the row; a clear bit drops it. The rows that survive keep +their relative order and are packed together, so the merged index has one row per set bit. + +**Parameters** + +| Name | Description | +| --- | --- | +| `indexes` | Array of CAGRA indexes to merge | +| `mergeParams` | Parameters to control the merge operation, or null to use defaults | +| `rowFilter` | The rows to keep, or null to keep all of them. A BitSet shorter than the total row count is valid: the rows beyond its logical length are treated as clear (dropped). A bit set at a position at or beyond the total row count throws `IllegalArgumentException`. | + +**Returns** + +A new merged CAGRA index + +**Throws** + +| Type | Description | +| --- | --- | +| `IllegalArgumentException` | if `rowFilter` has a bit set beyond the last row, or if it is non-null but keeps no rows at all | +| `Throwable` | if an error occurs during the merge operation | + +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:355`_ ### isPaddedDataset @@ -466,7 +516,7 @@ copy it into padded storage it already occupies, and one that is not has to go t true when the rows are already padded the way CAGRA requires -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:350`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:383`_ ### from @@ -487,7 +537,7 @@ needed. an instance of this Builder -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:367`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:400`_ ### from @@ -510,7 +560,7 @@ serialized index. Keep `outDataset` alive while the built index is in use. an instance of this Builder -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:378`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:411`_ ### from @@ -521,7 +571,7 @@ Builder from(CuVSMatrix graph) Sets a CAGRA graph instance to re-create an index from a previously built graph. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:384`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:417`_ ### withDataset @@ -541,7 +591,7 @@ Sets the dataset vectors for building the `CagraIndex`. an instance of this Builder -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:392`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:425`_ ### withDataset @@ -561,7 +611,7 @@ Sets the dataset for building the `CagraIndex`. an instance of this Builder -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:400`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:433`_ ### withIndexParams @@ -582,7 +632,7 @@ Builder. An instance of this Builder. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:409`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:442`_ ### build @@ -596,6 +646,6 @@ Builds and returns an instance of CagraIndex. an instance of CagraIndex -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:416`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:449`_ -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:25`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/CagraIndex.java:26`_ diff --git a/fern/pages/java_api/java-api-com-nvidia-cuvs-spi-cuvsprovider.md b/fern/pages/java_api/java-api-com-nvidia-cuvs-spi-cuvsprovider.md index 3301bfa7ab..1e5018c3e7 100644 --- a/fern/pages/java_api/java-api-com-nvidia-cuvs-spi-cuvsprovider.md +++ b/fern/pages/java_api/java-api-com-nvidia-cuvs-spi-cuvsprovider.md @@ -23,7 +23,7 @@ static Path tempDirectory() The temporary directory to use for intermediate operations. Defaults to \{@systemProperty java.io.tmpdir\}. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:24`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:25`_ ### nativeLibraryPath @@ -34,7 +34,7 @@ default Path nativeLibraryPath() The directory where to extract and install the native library. Defaults to \{@systemProperty java.io.tmpdir\}. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:32`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:33`_ ### newCuVSResources @@ -44,7 +44,7 @@ CuVSResources newCuVSResources(Path tempDirectory) throws Throwable Creates a new CuVSResources. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:37`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:38`_ ### newCuVSResources @@ -69,7 +69,7 @@ opt in. | `memoryTrackingCsvPath` | path to the output CSV file (created/truncated) | | `memoryTrackingSampleInterval` | minimum interval between successive CSV samples | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:56`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:57`_ ### newHostMatrixBuilder @@ -79,7 +79,7 @@ CuVSMatrix.Builder newHostMatrixBuilder( long size, long dimensi Create a `CuVSMatrix.Builder` instance for a host memory matrix * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:64`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:65`_ ### newHostMatrixBuilder @@ -89,7 +89,7 @@ CuVSMatrix.Builder newHostMatrixBuilder( long size, long columns Create a `CuVSMatrix.Builder` instance for a host memory matrix * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:68`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:69`_ ### newDeviceMatrixBuilder @@ -99,7 +99,7 @@ CuVSMatrix.Builder newDeviceMatrixBuilder( CuVSResources cuVSR Create a `CuVSMatrix.Builder` instance for a device memory matrix * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:72`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:73`_ ### newDeviceMatrixBuilder @@ -109,7 +109,7 @@ CuVSMatrix.Builder newDeviceMatrixBuilder( CuVSResources cuVSR Create a `CuVSMatrix.Builder` instance for a device memory matrix * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:76`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:77`_ ### newNativeMatrixBuilder @@ -133,7 +133,7 @@ The caller will need to invoke the factory via the `MethodHandle#invokeExact` me a MethodHandle which can be invoked to build a CuVSMatrix from an external `MemorySegment` -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:99`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:100`_ ### newNativeMatrixBuilderWithStrides @@ -159,7 +159,7 @@ The caller will need to invoke the factory via the `MethodHandle#invokeExact` me a MethodHandle which can be invoked to build a CuVSMatrix from an external `MemorySegment` -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:118`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:119`_ ### newMatrixFromArray @@ -169,7 +169,7 @@ CuVSMatrix newMatrixFromArray(float[][] vectors) Create a `CuVSMatrix` from an on-heap array * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:121`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:122`_ ### newMatrixFromArray @@ -179,7 +179,7 @@ CuVSMatrix newMatrixFromArray(int[][] vectors) Create a `CuVSMatrix` from an on-heap array * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:124`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:125`_ ### newMatrixFromArray @@ -189,7 +189,7 @@ CuVSMatrix newMatrixFromArray(byte[][] vectors) Create a `CuVSMatrix` from an on-heap array * -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:127`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:128`_ ### newBruteForceIndexBuilder @@ -199,7 +199,7 @@ BruteForceIndex.Builder newBruteForceIndexBuilder(CuVSResources cuVSResources) t Creates a new BruteForceIndex Builder. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:130`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:131`_ ### newCagraIndexBuilder @@ -209,7 +209,7 @@ CagraIndex.Builder newCagraIndexBuilder(CuVSResources cuVSResources) throws Unsu Creates a new CagraIndex Builder. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:134`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:135`_ ### newHnswIndexBuilder @@ -219,7 +219,7 @@ HnswIndex.Builder newHnswIndexBuilder(CuVSResources cuVSResources) throws Unsupp Creates a new HnswIndex Builder. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:138`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:139`_ ### hnswIndexFromCagra @@ -246,7 +246,7 @@ A new HNSW index | --- | --- | | `Throwable` | if an error occurs during conversion | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:149`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:150`_ ### hnswIndexBuild @@ -274,7 +274,7 @@ A new HNSW index ready for search | --- | --- | | `Throwable` | if an error occurs during building | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:160`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:161`_ ### newTieredIndexBuilder @@ -284,41 +284,50 @@ TieredIndex.Builder newTieredIndexBuilder(CuVSResources cuVSResources) throws Un Creates a new TieredIndex Builder. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:164`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:165`_ -### mergeCagraIndexes +### isCagraPaddedDataset ```java -CagraIndex mergeCagraIndexes(CagraIndex[] indexes) throws Throwable +default boolean isCagraPaddedDataset(CuVSMatrix dataset) ``` -Merges multiple CAGRA indexes into a single index. +Reports whether the rows of `dataset` already sit at the row stride CAGRA requires, which +is the row length in bytes rounded up to a 16 byte boundary. + +This is the question that decides which of the two padded dataset factories a caller has to +use: `CagraIndex#makePaddedDatasetView(CuVSMatrix)` for a device matrix that is already at +that stride, and `CagraIndex#makePaddedDataset(CuVSMatrix)` for one that is not. Asking +for the wrong one is an error rather than an inefficiency, and the stride of a matrix is not +visible outside this library, so callers cannot answer it for themselves. **Parameters** | Name | Description | | --- | --- | -| `indexes` | Array of CAGRA indexes to merge | +| `dataset` | the matrix to inspect | **Returns** -A new merged CAGRA index +true when the rows are already padded the way CAGRA requires **Throws** | Type | Description | | --- | --- | -| `Throwable` | if an error occurs during the merge operation | +| `UnsupportedOperationException` | if this provider cannot answer | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:174`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:182`_ ### mergeCagraIndexes ```java -default CagraIndex mergeCagraIndexes(CagraIndex[] indexes, CagraIndexParams mergeParams) throws Throwable +CagraIndex mergeCagraIndexes(CagraIndex[] indexes, CagraIndexParams mergeParams, BitSet rowFilter) throws Throwable ``` -Merges multiple CAGRA indexes into a single index with the specified merge parameters. +Merges multiple CAGRA indexes into a single index, keeping only the rows selected by +`rowFilter`. See CagraIndexParams, BitSet) for the +meaning of the filter. **Parameters** @@ -326,6 +335,7 @@ Merges multiple CAGRA indexes into a single index with the specified merge param | --- | --- | | `indexes` | Array of CAGRA indexes to merge | | `mergeParams` | Parameters to control the merge operation, or null to use defaults | +| `rowFilter` | The rows to keep, or null to keep all of them | **Returns** @@ -337,40 +347,7 @@ A new merged CAGRA index | --- | --- | | `Throwable` | if an error occurs during the merge operation | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:184`_ - -### isCagraPaddedDataset - -```java -default boolean isCagraPaddedDataset(CuVSMatrix dataset) -``` - -Reports whether the rows of `dataset` already sit at the row stride CAGRA requires, which -is the row length in bytes rounded up to a 16 byte boundary. - -This is the question that decides which of the two padded dataset factories a caller has to -use: `CagraIndex#makePaddedDatasetView(CuVSMatrix)` for a device matrix that is already at -that stride, and `CagraIndex#makePaddedDataset(CuVSMatrix)` for one that is not. Asking -for the wrong one is an error rather than an inefficiency, and the stride of a matrix is not -visible outside this library, so callers cannot answer it for themselves. - -**Parameters** - -| Name | Description | -| --- | --- | -| `dataset` | the matrix to inspect | - -**Returns** - -true when the rows are already padded the way CAGRA requires - -**Throws** - -| Type | Description | -| --- | --- | -| `UnsupportedOperationException` | if this provider cannot answer | - -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:204`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:198`_ ### newFilterBitsetHandle @@ -387,7 +364,7 @@ Per-partition bit offsets are recomputed inside cuVS from the index sizes. | --- | --- | | `combinedLongs` | packed bitset words for a single partition | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:215`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:207`_ ### searchCagraMultiPartition @@ -413,7 +390,7 @@ Searches multiple CAGRA index partitions for the global top-k nearest neighbors | --- | --- | | `Throwable` | if an error occurs during the search | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:228`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:220`_ ### gpuInfoProvider @@ -423,7 +400,7 @@ GPUInfoProvider gpuInfoProvider() Returns a `GPUInfoProvider` to query the system for GPU related information -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:237`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:229`_ ### enableRMMPooledMemory @@ -442,7 +419,7 @@ This operation has a global effect, and will affect all resources on the current | `initialPoolSizePercent` | The initial pool size, in percentage of the total GPU memory | | `maxPoolSizePercent` | The maximum pool size, in percentage of the total GPU memory | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:251`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:243`_ ### enableRMMManagedPooledMemory @@ -461,7 +438,7 @@ This operation has a global effect, and will affect all resources on the current | `initialPoolSizePercent` | The initial pool size, in percentage of the total GPU memory | | `maxPoolSizePercent` | The maximum pool size, in percentage of the total GPU memory | -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:261`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:253`_ ### enableRMMAsyncMemory @@ -476,7 +453,7 @@ on deallocation. This is especially beneficial when multiple CAGRA searches run on separate CUDA streams, because internal workspace allocations no longer serialize kernel launches. This operation has a global effect and will affect all resources on the current device. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:271`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:263`_ ### resetRMMPooledMemory @@ -486,7 +463,7 @@ void resetRMMPooledMemory() Disables pooled memory on the current device, reverting back to the default setting. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:274`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:266`_ ### provider @@ -496,7 +473,7 @@ static CuVSProvider provider() Retrieves the system-wide provider. -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:277`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:269`_ ### cagraIndexParamsFromHnswParams @@ -526,7 +503,7 @@ may be shifted along the curve right or left. See the heuristics descriptions fo A new CAGRA index parameters object -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:297`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:289`_ ### cagraIndexParamsFromDataset @@ -550,6 +527,6 @@ Create CAGRA index parameters heuristically tuned for a dataset. A new CAGRA index parameters object -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:315`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:307`_ -_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:17`_ +_Source: `java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java:18`_ diff --git a/fern/pages/python_api/python-api-neighbors-vamana.md b/fern/pages/python_api/python-api-neighbors-vamana.md index f0f5c6aae6..aeb8d2af9f 100644 --- a/fern/pages/python_api/python-api-neighbors-vamana.md +++ b/fern/pages/python_api/python-api-neighbors-vamana.md @@ -142,14 +142,15 @@ and robustPrune is applied to improve graph quality. The index_params struct controls the degree of the final graph. The following distance metrics are supported: -- L2Expanded +- L2Expanded (sqeuclidean) +- L2SqrtExpanded (l2 / euclidean distance) **Parameters** | Name | Type | Description | | --- | --- | --- | | `index_params` | `IndexParams object` | | -| `dataset` | `CUDA array interface compliant matrix shape (n_samples, dim)` | Supported dtype [float, int8, uint8] | +| `dataset` | `CUDA array interface compliant matrix shape (n_samples, dim)` | Supported dtype [float, float16, int8, uint8] | | `resources` | `cuvs.common.Resources, optional` | | **Returns** diff --git a/java/benchmarks/pom.xml b/java/benchmarks/pom.xml index 3a5ef75eb6..439db01579 100644 --- a/java/benchmarks/pom.xml +++ b/java/benchmarks/pom.xml @@ -10,7 +10,7 @@ com.nvidia.cuvs benchmarks - 26.10.0 + 26.12.0 jar cuvs-java-benchmarks @@ -84,7 +84,7 @@ com.nvidia.cuvs cuvs-java - 26.10.0 + 26.12.0 jar diff --git a/java/build.sh b/java/build.sh index edc04c3d0d..f51b54cd64 100755 --- a/java/build.sh +++ b/java/build.sh @@ -8,7 +8,7 @@ set -e -u -o pipefail ARGS="$*" NUMARGS=$# -VERSION="26.10.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked +VERSION="26.12.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked GROUP_ID="com.nvidia.cuvs" # Identify CUDA major version. diff --git a/java/cuvs-java/pom.xml b/java/cuvs-java/pom.xml index d4d7708a80..0049ee5b14 100644 --- a/java/cuvs-java/pom.xml +++ b/java/cuvs-java/pom.xml @@ -9,7 +9,7 @@ SPDX-License-Identifier: Apache-2.0 com.nvidia.cuvs cuvs-java - 26.10.0 + 26.12.0 cuvs-java This project provides Java bindings for cuVS, enabling approximate nearest neighbors search and clustering diff --git a/java/cuvs-lucene/README.md b/java/cuvs-lucene/README.md index 8e3881f23d..0149a8e7fa 100644 --- a/java/cuvs-lucene/README.md +++ b/java/cuvs-lucene/README.md @@ -39,7 +39,7 @@ To pull `cuvs-lucene` into a Maven project, add the following dependency to your com.nvidia.cuvs.lucene cuvs-lucene - 26.10.0 + 26.12.0 ``` diff --git a/java/cuvs-lucene/bench/pom.xml b/java/cuvs-lucene/bench/pom.xml index 108af3ad98..7a8f54ee60 100644 --- a/java/cuvs-lucene/bench/pom.xml +++ b/java/cuvs-lucene/bench/pom.xml @@ -11,7 +11,7 @@ com.nvidia.cuvs.lucene.benchmarks cuvs-lucene-benchmarks - 26.10.0 + 26.12.0 jar cuvs-lucene-benchmarks @@ -85,7 +85,7 @@ com.nvidia.cuvs.lucene cuvs-lucene - 26.10.0 + 26.12.0 commons-io diff --git a/java/cuvs-lucene/build.sh b/java/cuvs-lucene/build.sh index 0db67b747b..93edc2779d 100755 --- a/java/cuvs-lucene/build.sh +++ b/java/cuvs-lucene/build.sh @@ -8,7 +8,7 @@ set -e -u -o pipefail ARGS="$*" NUMARGS=$# -VERSION="26.10.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked +VERSION="26.12.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked GROUP_ID="com.nvidia.cuvs.lucene" function hasArg { diff --git a/java/cuvs-lucene/examples/README.md b/java/cuvs-lucene/examples/README.md index 19013675b6..9782232595 100644 --- a/java/cuvs-lucene/examples/README.md +++ b/java/cuvs-lucene/examples/README.md @@ -24,11 +24,11 @@ cd java/cuvs-lucene/examples To run Accelerated HNSW example do: ```sh -mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.10.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.AcceleratedHnswExample +mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.12.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.AcceleratedHnswExample ``` To run the Index and Search on GPU example do: ```sh -mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.10.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.IndexAndSearchonGPUExample +mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.12.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.IndexAndSearchonGPUExample ``` diff --git a/java/cuvs-lucene/examples/pom.xml b/java/cuvs-lucene/examples/pom.xml index 4432883f64..fa3207f1a2 100644 --- a/java/cuvs-lucene/examples/pom.xml +++ b/java/cuvs-lucene/examples/pom.xml @@ -11,7 +11,7 @@ com.nvidia.cuvs.lucene.examples examples - 26.10.0 + 26.12.0 examples @@ -100,7 +100,7 @@ com.nvidia.cuvs.lucene cuvs-lucene - 26.10.0 + 26.12.0 diff --git a/java/cuvs-lucene/pom.xml b/java/cuvs-lucene/pom.xml index 48dc6d7889..940da7fc11 100644 --- a/java/cuvs-lucene/pom.xml +++ b/java/cuvs-lucene/pom.xml @@ -9,7 +9,7 @@ SPDX-License-Identifier: Apache-2.0 com.nvidia.cuvs.lucene cuvs-lucene - 26.10.0 + 26.12.0 cuvs-lucene jar @@ -138,7 +138,7 @@ SPDX-License-Identifier: Apache-2.0 com.nvidia.cuvs cuvs-java - 26.10.0 + 26.12.0 diff --git a/java/examples/README.md b/java/examples/README.md index e32670246f..3e51188203 100644 --- a/java/examples/README.md +++ b/java/examples/README.md @@ -14,7 +14,7 @@ This maven project contains examples for CAGRA, HNSW, and Bruteforce algorithms. In the current directory do: ``` -mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.10.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.10.0/cuvs-java-26.10.0.jar com.nvidia.cuvs.examples.CagraExample +mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.12.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.12.0/cuvs-java-26.12.0.jar com.nvidia.cuvs.examples.CagraExample ``` ### HNSW Example @@ -22,7 +22,7 @@ mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-exam In the current directory do: ``` -mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.10.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.10.0/cuvs-java-26.10.0.jar com.nvidia.cuvs.examples.HnswExample +mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.12.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.12.0/cuvs-java-26.12.0.jar com.nvidia.cuvs.examples.HnswExample ``` ### Bruteforce Example @@ -30,5 +30,5 @@ mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-exam In the current directory do: ``` -mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.10.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.10.0/cuvs-java-26.10.0.jar com.nvidia.cuvs.examples.BruteForceExample +mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.12.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.12.0/cuvs-java-26.12.0.jar com.nvidia.cuvs.examples.BruteForceExample ``` diff --git a/java/examples/pom.xml b/java/examples/pom.xml index b4c53552f1..abc52cf1fe 100644 --- a/java/examples/pom.xml +++ b/java/examples/pom.xml @@ -8,7 +8,7 @@ SPDX-License-Identifier: Apache-2.0 com.nvidia.cuvs.examples cuvs-java-examples - 26.10.0 + 26.12.0 cuvs-java-examples @@ -75,7 +75,7 @@ SPDX-License-Identifier: Apache-2.0 com.nvidia.cuvs cuvs-java - 26.10.0 + 26.12.0 diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml index eb80bc49cd..84390170d5 100644 --- a/python/cuvs/pyproject.toml +++ b/python/cuvs/pyproject.toml @@ -21,9 +21,9 @@ license = "Apache-2.0" requires-python = ">=3.11" dependencies = [ "cuda-bindings>=13.0.1,<14.0", - "libcuvs==26.10.*,>=0.0.0a0", + "libcuvs==26.12.*,>=0.0.0a0", "numpy>=2.0,<3.0", - "pylibraft==26.10.*,>=0.0.0a0", + "pylibraft==26.12.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ "Intended Audience :: Developers", @@ -109,9 +109,9 @@ requires = [ "cmake>=4.0", "cuda-bindings>=13.0.1,<14.0", "cython>=3.2.2", - "libcuvs==26.10.*,>=0.0.0a0", - "libraft==26.10.*,>=0.0.0a0", - "librmm==26.10.*,>=0.0.0a0", + "libcuvs==26.12.*,>=0.0.0a0", + "libraft==26.12.*,>=0.0.0a0", + "librmm==26.12.*,>=0.0.0a0", "ninja", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. build-backend = "scikit_build_core.build" diff --git a/python/cuvs_bench/pyproject.toml b/python/cuvs_bench/pyproject.toml index 24e54ff28f..99e81d41c5 100644 --- a/python/cuvs_bench/pyproject.toml +++ b/python/cuvs_bench/pyproject.toml @@ -20,7 +20,7 @@ license = "Apache-2.0" requires-python = ">=3.11" dependencies = [ "click", - "cuvs==26.10.*,>=0.0.0a0", + "cuvs==26.12.*,>=0.0.0a0", "matplotlib>=3.9", "pandas", "pyyaml", diff --git a/python/libcuvs/pyproject.toml b/python/libcuvs/pyproject.toml index 42b5e8e213..b051cc192a 100644 --- a/python/libcuvs/pyproject.toml +++ b/python/libcuvs/pyproject.toml @@ -21,9 +21,9 @@ requires-python = ">=3.11" dependencies = [ "cuda-pathfinder", "cuda-toolkit[cublas,curand,cusolver,cusparse,nvrtc]==13.*", - "libkvikio==26.10.*,>=0.0.0a0", - "libraft==26.10.*,>=0.0.0a0", - "librmm==26.10.*,>=0.0.0a0", + "libkvikio==26.12.*,>=0.0.0a0", + "libraft==26.12.*,>=0.0.0a0", + "librmm==26.12.*,>=0.0.0a0", "nvidia-nvjitlink>=13.3,<14", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ @@ -85,9 +85,9 @@ requires = [ "cmake>=4.0", "cuda-tile", "cuda-toolkit[tileiras]==13.*", - "libkvikio==26.10.*,>=0.0.0a0", - "libraft==26.10.*,>=0.0.0a0", - "librmm==26.10.*,>=0.0.0a0", + "libkvikio==26.12.*,>=0.0.0a0", + "libraft==26.12.*,>=0.0.0a0", + "librmm==26.12.*,>=0.0.0a0", "ninja", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. dependencies-file = "../../dependencies.yaml" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 21b0764ce2..27f3929d27 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -9,7 +9,7 @@ members = [ resolver = "2" [workspace.package] -version = "26.10.0" +version = "26.12.0" edition = "2024" repository = "https://github.com/nvidia/cuvs" homepage = "https://github.com/nvidia/cuvs" @@ -18,4 +18,4 @@ authors = ["NVIDIA Corporation"] license = "Apache-2.0" [workspace.dependencies] -cuvs-sys = { path = "cuvs-sys", version = "26.10.0" } +cuvs-sys = { path = "cuvs-sys", version = "26.12.0" }