From 8a0314f3658e0c93ce6841bbb4286023711af61c Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:52:25 -0500 Subject: [PATCH 01/20] Update rapidsai references to NVIDIA for cuvs, raft, cudf, and kvikio --- .devcontainer/cuda12.9-conda/devcontainer.json | 2 +- .devcontainer/cuda12.9-pip/devcontainer.json | 2 +- .devcontainer/cuda13.3-conda/devcontainer.json | 2 +- .devcontainer/cuda13.3-pip/devcontainer.json | 2 +- .github/labeler.yml | 4 ++-- ci/build_lucene.sh | 2 +- ci/release/update-version.sh | 2 +- ci/test_lucene.sh | 2 +- cpp/bench/ann/src/common/cuda_huge_page_resource.hpp | 2 +- cpp/bench/ann/src/faiss/faiss_cpu_wrapper.h | 4 ++-- cpp/bench/ann/src/faiss/faiss_gpu_wrapper.h | 4 ++-- cpp/cmake/thirdparty/get_cuvs.cmake | 4 ++-- cpp/cmake/thirdparty/get_kvikio.cmake | 2 +- cpp/cmake/thirdparty/get_raft.cmake | 2 +- cpp/include/cuvs/neighbors/ivf_flat.hpp | 4 ++-- cpp/src/cluster/detail/connectivities.cuh | 2 +- cpp/src/distance/detail/kernels/gram_matrix.cu | 4 ++-- cpp/src/neighbors/detail/cagra/search_multi_kernel.cuh | 2 +- cpp/src/neighbors/detail/hnsw.hpp | 2 +- cpp/src/neighbors/detail/nn_descent.cuh | 2 +- cpp/src/neighbors/detail/nn_descent_gnnd.hpp | 2 +- cpp/src/neighbors/detail/vpq_dataset.cuh | 2 +- cpp/src/sparse/neighbors/detail/cross_component_nn.cuh | 2 +- cpp/tests/distance/distance_base.cuh | 2 +- cpp/tests/neighbors/ann_cagra.cuh | 2 +- cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu | 2 +- cpp/tests/neighbors/ball_cover.cu | 2 +- cpp/tests/sparse/neighbors/cross_component_nn.cu | 2 +- dependencies.yaml | 2 +- fern/pages/api_basics.md | 2 +- fern/pages/api_interoperability.md | 2 +- fern/pages/contributing.md | 4 ++-- fern/pages/index.md | 2 +- java/cuvs-java/pom.xml | 2 +- java/cuvs-lucene/pom.xml | 6 +++--- .../cuvs/lucene/TestCagraToHnswSerializationAndSearch.java | 2 +- python/cuvs/cuvs/tests/test_doctests.py | 2 +- 37 files changed, 46 insertions(+), 46 deletions(-) diff --git a/.devcontainer/cuda12.9-conda/devcontainer.json b/.devcontainer/cuda12.9-conda/devcontainer.json index f400158046..b52dc242f4 100644 --- a/.devcontainer/cuda12.9-conda/devcontainer.json +++ b/.devcontainer/cuda12.9-conda/devcontainer.json @@ -8,7 +8,7 @@ "BASE": "rapidsai/devcontainers:26.12-cpp-mambaforge" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda12.9-conda" + "ghcr.io/nvidia/cuvs/devcontainer:26.12-cuda12.9-conda" ] }, "runArgs": [ diff --git a/.devcontainer/cuda12.9-pip/devcontainer.json b/.devcontainer/cuda12.9-pip/devcontainer.json index 44c451da0b..f38c13ddc8 100644 --- a/.devcontainer/cuda12.9-pip/devcontainer.json +++ b/.devcontainer/cuda12.9-pip/devcontainer.json @@ -8,7 +8,7 @@ "BASE": "rapidsai/devcontainers:26.12-cpp-cuda12.9-ucx1.21.0-openmpi5.0.10" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda12.9-pip" + "ghcr.io/nvidia/cuvs/devcontainer:26.12-cuda12.9-pip" ] }, "runArgs": [ diff --git a/.devcontainer/cuda13.3-conda/devcontainer.json b/.devcontainer/cuda13.3-conda/devcontainer.json index e7c410294f..bad17967fb 100644 --- a/.devcontainer/cuda13.3-conda/devcontainer.json +++ b/.devcontainer/cuda13.3-conda/devcontainer.json @@ -8,7 +8,7 @@ "BASE": "rapidsai/devcontainers:26.12-cpp-mambaforge" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda13.3-conda" + "ghcr.io/nvidia/cuvs/devcontainer:26.12-cuda13.3-conda" ] }, "runArgs": [ diff --git a/.devcontainer/cuda13.3-pip/devcontainer.json b/.devcontainer/cuda13.3-pip/devcontainer.json index 2a36e004de..4b7ec93cec 100644 --- a/.devcontainer/cuda13.3-pip/devcontainer.json +++ b/.devcontainer/cuda13.3-pip/devcontainer.json @@ -8,7 +8,7 @@ "BASE": "rapidsai/devcontainers:26.12-cpp-cuda13.3-ucx1.21.0-openmpi5.0.10" }, "cacheFrom": [ - "ghcr.io/rapidsai/cuvs/devcontainer:26.12-cuda13.3-pip" + "ghcr.io/nvidia/cuvs/devcontainer:26.12-cuda13.3-pip" ] }, "runArgs": [ diff --git a/.github/labeler.yml b/.github/labeler.yml index bebde421e8..7b0774279b 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,6 +1,6 @@ # https://github.com/actions/labeler#common-examples -# Adapted from https://github.com/rapidsai/raft/blob/main/.github/CODEOWNERS -# Labels culled from https://github.com/rapidsai/raft/labels +# Adapted from https://github.com/NVIDIA/raft/blob/main/.github/CODEOWNERS +# Labels culled from https://github.com/NVIDIA/raft/labels python: - changed-files: diff --git a/ci/build_lucene.sh b/ci/build_lucene.sh index eafa1c7324..7febafab4d 100755 --- a/ci/build_lucene.sh +++ b/ci/build_lucene.sh @@ -8,7 +8,7 @@ set -euo pipefail # --run-java-tests flag. # TODO: Remove the flag handling when build and test workflows are separated, # and test_lucene.sh no longer calls build_lucene.sh -# ref: https://github.com/rapidsai/cuvs/issues/868 +# ref: https://github.com/NVIDIA/cuvs/issues/868 EXTRA_BUILD_ARGS=("--build-java-examples") CUVS_JAVA_ARTIFACT="" for arg in "$@"; do diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 5eef5500c5..9d8668ec5d 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -161,7 +161,7 @@ sed_runner "s/version = \".*\"/version = \"${NEXT_FULL_RUST_TAG}\"/g" rust/Cargo # .devcontainer files find .devcontainer/ -type f -name devcontainer.json -print0 | while IFS= read -r -d '' filename; do sed_runner "s@rapidsai/devcontainers:[0-9.]*@rapidsai/devcontainers:${NEXT_SHORT_TAG}@g" "${filename}" - sed_runner "s@ghcr.io/rapidsai/cuvs/devcontainer:[0-9.]*@ghcr.io/rapidsai/cuvs/devcontainer:${NEXT_SHORT_TAG}@g" "${filename}" + sed_runner "s@ghcr.io/nvidia/cuvs/devcontainer:[0-9.]*@ghcr.io/nvidia/cuvs/devcontainer:${NEXT_SHORT_TAG}@g" "${filename}" sed_runner "s@rapidsai/devcontainers/features/ucx:[0-9.]*@rapidsai/devcontainers/features/ucx:${NEXT_SHORT_TAG_PEP440}@" "${filename}" sed_runner "s@rapidsai/devcontainers/features/cuda:[0-9.]*@rapidsai/devcontainers/features/cuda:${NEXT_SHORT_TAG_PEP440}@" "${filename}" sed_runner "s@rapidsai/devcontainers/features/rapids-build-utils:[0-9.]*@rapidsai/devcontainers/features/rapids-build-utils:${NEXT_SHORT_TAG_PEP440}@" "${filename}" diff --git a/ci/test_lucene.sh b/ci/test_lucene.sh index 5478a834ae..a01b6bd446 100755 --- a/ci/test_lucene.sh +++ b/ci/test_lucene.sh @@ -18,7 +18,7 @@ export RAPIDS_CUDA_MAJOR # Forwards the name of the cuvs-java artifact given by the workflow. # TODO: switch to installing pre-built artifacts instead of rebuilding in test jobs -# ref: https://github.com/rapidsai/cuvs/issues/868 +# ref: https://github.com/NVIDIA/cuvs/issues/868 ci/build_lucene.sh "$@" --run-java-tests rapids-logger "Test script exiting with value: $EXITCODE" diff --git a/cpp/bench/ann/src/common/cuda_huge_page_resource.hpp b/cpp/bench/ann/src/common/cuda_huge_page_resource.hpp index 585f8839c7..2608339640 100644 --- a/cpp/bench/ann/src/common/cuda_huge_page_resource.hpp +++ b/cpp/bench/ann/src/common/cuda_huge_page_resource.hpp @@ -25,7 +25,7 @@ namespace raft::mr { * works on GH systems. * * TODO(tfeher): consider improving or removing this helper once we made progress with - * https://github.com/rapidsai/raft/issues/1819 + * https://github.com/NVIDIA/raft/issues/1819 */ class cuda_huge_page_resource { public: diff --git a/cpp/bench/ann/src/faiss/faiss_cpu_wrapper.h b/cpp/bench/ann/src/faiss/faiss_cpu_wrapper.h index 282d57dc2e..006f8703fa 100644 --- a/cpp/bench/ann/src/faiss/faiss_cpu_wrapper.h +++ b/cpp/bench/ann/src/faiss/faiss_cpu_wrapper.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ #pragma once @@ -268,7 +268,7 @@ class faiss_cpu_ivfrabitq : public faiss_cpu { }; // TODO(snanditale): Enable this in cmake -// ref: https://github.com/rapidsai/raft/issues/1876 +// ref: https://github.com/NVIDIA/raft/issues/1876 template class faiss_cpu_ivfsq : public faiss_cpu { public: diff --git a/cpp/bench/ann/src/faiss/faiss_gpu_wrapper.h b/cpp/bench/ann/src/faiss/faiss_gpu_wrapper.h index 8cfd115d93..040b15148e 100644 --- a/cpp/bench/ann/src/faiss/faiss_gpu_wrapper.h +++ b/cpp/bench/ann/src/faiss/faiss_gpu_wrapper.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ #pragma once @@ -417,7 +417,7 @@ class faiss_gpu_ivfpq : public faiss_gpu { }; // TODO(snanditale): Enable this in cmake -// ref: https://github.com/rapidsai/raft/issues/1876 +// ref: https://github.com/NVIDIA/raft/issues/1876 template class faiss_gpu_ivfsq : public faiss_gpu { public: diff --git a/cpp/cmake/thirdparty/get_cuvs.cmake b/cpp/cmake/thirdparty/get_cuvs.cmake index a096034a28..e532e0b437 100644 --- a/cpp/cmake/thirdparty/get_cuvs.cmake +++ b/cpp/cmake/thirdparty/get_cuvs.cmake @@ -1,12 +1,12 @@ # ============================================================================= # cmake-format: off -# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # cmake-format: on # Use RAPIDS_VERSION_MAJOR_MINOR from cmake/rapids_config.cmake set(CUVS_VERSION "${RAPIDS_VERSION_MAJOR_MINOR}") -set(CUVS_FORK "rapidsai") +set(CUVS_FORK "NVIDIA") set(CUVS_PINNED_TAG "${rapids-cmake-checkout-tag}") function(find_and_configure_cuvs) diff --git a/cpp/cmake/thirdparty/get_kvikio.cmake b/cpp/cmake/thirdparty/get_kvikio.cmake index e683659e66..a2c1f46681 100644 --- a/cpp/cmake/thirdparty/get_kvikio.cmake +++ b/cpp/cmake/thirdparty/get_kvikio.cmake @@ -6,7 +6,7 @@ # Use RAPIDS_VERSION_MAJOR_MINOR from rapids_config.cmake set(KVIKIO_VERSION "${RAPIDS_VERSION_MAJOR_MINOR}") -set(KVIKIO_FORK "rapidsai") +set(KVIKIO_FORK "NVIDIA") set(KVIKIO_PINNED_TAG "${rapids-cmake-checkout-tag}") function(find_and_configure_kvikio) diff --git a/cpp/cmake/thirdparty/get_raft.cmake b/cpp/cmake/thirdparty/get_raft.cmake index 8db55260ad..d8bc6e4e0e 100644 --- a/cpp/cmake/thirdparty/get_raft.cmake +++ b/cpp/cmake/thirdparty/get_raft.cmake @@ -6,7 +6,7 @@ # Use RAPIDS_VERSION_MAJOR_MINOR from rapids_config.cmake set(RAFT_VERSION "${RAPIDS_VERSION_MAJOR_MINOR}") -set(RAFT_FORK "rapidsai") +set(RAFT_FORK "NVIDIA") set(RAFT_PINNED_TAG "${rapids-cmake-checkout-tag}") set(LIBRAFT_LOGGING_LEVEL "INFO" CACHE STRING "Choose the RAFT logging level compiled into cuVS." diff --git a/cpp/include/cuvs/neighbors/ivf_flat.hpp b/cpp/include/cuvs/neighbors/ivf_flat.hpp index 61fb10b1dc..016837c6ee 100644 --- a/cpp/include/cuvs/neighbors/ivf_flat.hpp +++ b/cpp/include/cuvs/neighbors/ivf_flat.hpp @@ -266,7 +266,7 @@ struct index : cuvs::neighbors::index { private: /** * TODO: in theory, we can lift this to the template parameter and keep it at hardware maximum - * possible value by padding the `dim` of the data https://github.com/rapidsai/raft/issues/711 + * possible value by padding the `dim` of the data https://github.com/NVIDIA/raft/issues/711 */ uint32_t veclen_; cuvs::distance::DistanceType metric_; @@ -285,7 +285,7 @@ struct index : cuvs::neighbors::index { static auto calculate_veclen(uint32_t dim) -> uint32_t { // TODO: consider padding the dimensions and fixing veclen to its maximum possible value as a - // template parameter (https://github.com/rapidsai/raft/issues/711) + // template parameter (https://github.com/NVIDIA/raft/issues/711) // NOTE: keep this consistent with the select_interleaved_scan_kernel logic // in detail/ivf_flat_interleaved_scan-inl.cuh. diff --git a/cpp/src/cluster/detail/connectivities.cuh b/cpp/src/cluster/detail/connectivities.cuh index a85bd43718..6d8f8635ee 100644 --- a/cpp/src/cluster/detail/connectivities.cuh +++ b/cpp/src/cluster/detail/connectivities.cuh @@ -96,7 +96,7 @@ struct distance_graph_impl { // TODO: Wouldn't need to copy here if we could compute knn // graph directly on the device uvectors - // ref: https://github.com/rapidsai/raft/issues/227 + // ref: https://github.com/NVIDIA/raft/issues/227 raft::copy_async(indices.data(), knn_graph_coo.cols(), knn_graph_coo.nnz, stream); raft::copy_async(data.data(), knn_graph_coo.vals(), knn_graph_coo.nnz, stream); } diff --git a/cpp/src/distance/detail/kernels/gram_matrix.cu b/cpp/src/distance/detail/kernels/gram_matrix.cu index 3e64cf2d94..c0c4f5a0d2 100644 --- a/cpp/src/distance/detail/kernels/gram_matrix.cu +++ b/cpp/src/distance/detail/kernels/gram_matrix.cu @@ -351,7 +351,7 @@ void GramMatrixBase::linear(raft::resources const& handle, math_t beta = 0.0; if (is_row_major) { // #TODO: Use mdspan-based API when stride-capable - // https://github.com/rapidsai/raft/issues/875 + // https://github.com/NVIDIA/raft/issues/875 raft::linalg::gemm(handle, true, false, @@ -369,7 +369,7 @@ void GramMatrixBase::linear(raft::resources const& handle, raft::resource::get_cuda_stream(handle).get()); } else { // #TODO: Use mdspan-based API when stride-capable - // https://github.com/rapidsai/raft/issues/875 + // https://github.com/NVIDIA/raft/issues/875 raft::linalg::gemm(handle, false, true, diff --git a/cpp/src/neighbors/detail/cagra/search_multi_kernel.cuh b/cpp/src/neighbors/detail/cagra/search_multi_kernel.cuh index 6483f504ed..87acae66c3 100644 --- a/cpp/src/neighbors/detail/cagra/search_multi_kernel.cuh +++ b/cpp/src/neighbors/detail/cagra/search_multi_kernel.cuh @@ -526,7 +526,7 @@ struct search // Bound random seed selection to the graph size, not the dataset size. // During iterative / CAGRA-Q build the graph is smaller than the dataset, // so using dataset_size here selects seeds that index past the graph end - // (out-of-bounds access). See https://github.com/rapidsai/cuvs/pull/1780. + // (out-of-bounds access). See https://github.com/NVIDIA/cuvs/pull/1780. static_cast(graph.extent(0))); std::shared_ptr compute_distance_to_child_nodes_launcher = diff --git a/cpp/src/neighbors/detail/hnsw.hpp b/cpp/src/neighbors/detail/hnsw.hpp index 19c0afd820..3388d5e80e 100644 --- a/cpp/src/neighbors/detail/hnsw.hpp +++ b/cpp/src/neighbors/detail/hnsw.hpp @@ -2095,7 +2095,7 @@ from_cagra(raft::resources const& res, // gather points from dataset to form query set on host auto host_query_set = raft::make_host_matrix(num_pts, dim); // TODO: Use `raft::matrix::gather` when available as a public API - // Issue: https://github.com/rapidsai/raft/issues/2572 + // Issue: https://github.com/NVIDIA/raft/issues/2572 #pragma omp parallel for num_threads(num_threads) for (auto i = start_idx; i < end_idx; i++) { auto pt_id = order[i]; diff --git a/cpp/src/neighbors/detail/nn_descent.cuh b/cpp/src/neighbors/detail/nn_descent.cuh index b1260784b1..c49b7fa47f 100644 --- a/cpp/src/neighbors/detail/nn_descent.cuh +++ b/cpp/src/neighbors/detail/nn_descent.cuh @@ -175,7 +175,7 @@ __device__ __forceinline__ int xor_swap(int x, int mask, int dir) return x < y == dir ? y : x; } -// TODO: Move to RAFT utils https://github.com/rapidsai/raft/issues/1827 +// TODO: Move to RAFT utils https://github.com/NVIDIA/raft/issues/1827 __device__ __forceinline__ uint bfe(uint lane_id, uint pos) { uint res; diff --git a/cpp/src/neighbors/detail/nn_descent_gnnd.hpp b/cpp/src/neighbors/detail/nn_descent_gnnd.hpp index 07db8b7064..e7c4ca9029 100644 --- a/cpp/src/neighbors/detail/nn_descent_gnnd.hpp +++ b/cpp/src/neighbors/detail/nn_descent_gnnd.hpp @@ -178,7 +178,7 @@ struct CUVS_EXPORT GnndGraph { const size_t internal_node_degree, const size_t num_samples); void init_random_graph(); - // TODO: Create a generic bloom filter utility https://github.com/rapidsai/raft/issues/1827 + // TODO: Create a generic bloom filter utility https://github.com/NVIDIA/raft/issues/1827 // Use Bloom filter to sample "new" neighbors for local joining void sample_graph_new(InternalID_t* new_neighbors, const size_t width); void sample_graph(bool sample_new); diff --git a/cpp/src/neighbors/detail/vpq_dataset.cuh b/cpp/src/neighbors/detail/vpq_dataset.cuh index 4d27c5424a..7452337e89 100644 --- a/cpp/src/neighbors/detail/vpq_dataset.cuh +++ b/cpp/src/neighbors/detail/vpq_dataset.cuh @@ -28,7 +28,7 @@ #include #include -// A temporary stub till https://github.com/rapidsai/raft/pull/2077 is re-merged +// A temporary stub till https://github.com/NVIDIA/raft/pull/2077 is re-merged namespace cuvs::util { /** diff --git a/cpp/src/sparse/neighbors/detail/cross_component_nn.cuh b/cpp/src/sparse/neighbors/detail/cross_component_nn.cuh index 14d288efd9..67e3369e78 100644 --- a/cpp/src/sparse/neighbors/detail/cross_component_nn.cuh +++ b/cpp/src/sparse/neighbors/detail/cross_component_nn.cuh @@ -92,7 +92,7 @@ struct FixConnectivitiesRedOp { /** The gather and scatter ensure that operator() is still consistent after rearranging the data. * TODO (tarang-jain): refactor cross_component_nn API to separate out the gather and scatter - * functions from the reduction op. Reference: https://github.com/rapidsai/raft/issues/1614 */ + * functions from the reduction op. Reference: https://github.com/NVIDIA/raft/issues/1614 */ void gather(const raft::resources& handle, value_idx* map) {} void scatter(const raft::resources& handle, value_idx* map) {} diff --git a/cpp/tests/distance/distance_base.cuh b/cpp/tests/distance/distance_base.cuh index 1541f35fff..55796bc054 100644 --- a/cpp/tests/distance/distance_base.cuh +++ b/cpp/tests/distance/distance_base.cuh @@ -456,7 +456,7 @@ template // implemented. // // Context: -// https://github.com/rapidsai/raft/issues/1338 +// https://github.com/NVIDIA/raft/issues/1338 template constexpr bool layout_to_row_major(); diff --git a/cpp/tests/neighbors/ann_cagra.cuh b/cpp/tests/neighbors/ann_cagra.cuh index 381bddb989..c48515763c 100644 --- a/cpp/tests/neighbors/ann_cagra.cuh +++ b/cpp/tests/neighbors/ann_cagra.cuh @@ -243,7 +243,7 @@ void InitDataset(const raft::resources& handle, if (metric == cuvs::distance::DistanceType::InnerProduct) { // TODO (enp1s0): Change this once row_normalize supports (u)int8 matrices. - // https://github.com/rapidsai/raft/issues/2291 + // https://github.com/NVIDIA/raft/issues/2291 using ComputeT = float; auto dataset_view = raft::make_device_matrix_view(datatset_ptr, size, dim); diff --git a/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu b/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu index 8a0b7c3d36..05ed85287f 100644 --- a/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu +++ b/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu @@ -26,7 +26,7 @@ class CagraIterativeBuildBugTest : public ::testing::Test { protected: // The bug manifests when graph_degree is equal to intermediate_graph_degree - // see issue https://github.com/rapidsai/cuvs/issues/1818 + // see issue https://github.com/NVIDIA/cuvs/issues/1818 static auto bug_index_params() -> cagra::index_params { cagra::index_params index_params; diff --git a/cpp/tests/neighbors/ball_cover.cu b/cpp/tests/neighbors/ball_cover.cu index fab76c93ad..17c6d5554f 100644 --- a/cpp/tests/neighbors/ball_cover.cu +++ b/cpp/tests/neighbors/ball_cover.cu @@ -345,7 +345,7 @@ class BallCoverAllKNNTest : public ::testing::TestWithParam= whatever minor version was available in the build environment # nvJitLink tends to follow the CTK's minor versions, but check at https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html # - # ref: https://github.com/rapidsai/cudf/pull/20873 + # ref: https://github.com/NVIDIA/cudf/pull/20873 - matrix: cuda: "12.9" use_cuda_wheels: "true" diff --git a/fern/pages/api_basics.md b/fern/pages/api_basics.md index a194acfb4b..19370eddef 100644 --- a/fern/pages/api_basics.md +++ b/fern/pages/api_basics.md @@ -39,7 +39,7 @@ rmm.mr.set_current_device_resource(pool) ## Resource management -NVIDIA cuVS uses an API from the [RAFT](https://github.com/rapidsai/raft) library of ML and data mining primitives to centralize and reuse expensive resources, such as memory management. The below code examples demonstrate how to create these resources for use throughout this guide. +NVIDIA cuVS uses an API from the [RAFT](https://github.com/NVIDIA/raft) library of ML and data mining primitives to centralize and reuse expensive resources, such as memory management. The below code examples demonstrate how to create these resources for use throughout this guide. See RAFT's [resource API documentation](https://docs.rapids.ai/api/raft/nightly/cpp_api/core_resources/) for more information. diff --git a/fern/pages/api_interoperability.md b/fern/pages/api_interoperability.md index fd4117eccd..c79e977068 100644 --- a/fern/pages/api_interoperability.md +++ b/fern/pages/api_interoperability.md @@ -38,7 +38,7 @@ Please refer to [NVIDIA cuVS C API documentation](/api-reference/c-api-documenta ## Multi-dimensional span (C++) -NVIDIA cuVS is built on top of the GPU-accelerated machine learning and data mining primitives in the [RAFT](https://github.com/rapidsai/raft) library. Most of the C++ APIs in NVIDIA cuVS accept [mdspan](https://arxiv.org/abs/2010.06474) multi-dimensional array view for representing data in higher dimensions similar to the `ndarray` in the Numpy Python library. RAFT also contains the corresponding owning `mdarray` structure, which simplifies the allocation and management of multi-dimensional data in both host and device (GPU) memory. +NVIDIA cuVS is built on top of the GPU-accelerated machine learning and data mining primitives in the [RAFT](https://github.com/NVIDIA/raft) library. Most of the C++ APIs in NVIDIA cuVS accept [mdspan](https://arxiv.org/abs/2010.06474) multi-dimensional array view for representing data in higher dimensions similar to the `ndarray` in the Numpy Python library. RAFT also contains the corresponding owning `mdarray` structure, which simplifies the allocation and management of multi-dimensional data in both host and device (GPU) memory. The `mdarray` is an owning object that forms a convenience layer over RMM and can be constructed in RAFT using a number of different helper functions: diff --git a/fern/pages/contributing.md b/fern/pages/contributing.md index cb18fcd8dd..6b54b1f88f 100755 --- a/fern/pages/contributing.md +++ b/fern/pages/contributing.md @@ -26,7 +26,7 @@ Performance-critical changes require [proper benchmarks](/developer-guide/coding 1. Read the project's [README.md](https://github.com/nvidia/cuvs) to learn how to setup the development environment -2. Find an issue to work on. The best way is to look for the [good first issue](https://github.com/rapidsai/CUVS/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) +2. Find an issue to work on. The best way is to look for the [good first issue](https://github.com/NVIDIA/cuvs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or [help wanted](https://github.com/nvidia/cuvs/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labels 3. Comment on the issue saying you are going to work on it 4. Code! Make sure to update unit tests! @@ -76,7 +76,7 @@ You can skip these checks with `git commit --no-verify` or with the short versio ### Seasoned developers Once you have gotten your feet wet and are more comfortable with the code, you -can look at the prioritized issues of our next release in our [project boards](https://github.com/rapidsai/CUVS/projects). +can look at the prioritized issues of our next release in our [project boards](https://github.com/NVIDIA/cuvs/projects). > **Pro Tip:** Always look at the release board with the highest number for issues to work on. This is where RAPIDS developers also focus their efforts. diff --git a/fern/pages/index.md b/fern/pages/index.md index 2520eb0cda..542df245ec 100644 --- a/fern/pages/index.md +++ b/fern/pages/index.md @@ -60,6 +60,6 @@ In addition to the items above, NVIDIA cuVS shoulders the responsibility of keep ## NVIDIA cuVS Technology Stack -NVIDIA cuVS is built on top of the [RAPIDS RAFT](https://github.com/rapidsai/raft) library of high performance machine learning primitives and provides all the necessary routines for vector search and clustering on the GPU. +NVIDIA cuVS is built on top of the [RAPIDS RAFT](https://github.com/NVIDIA/raft) library of high performance machine learning primitives and provides all the necessary routines for vector search and clustering on the GPU. NVIDIA cuVS is built on top of low-level CUDA libraries and provides many important routines that enable vector search and clustering on the GPU diff --git a/java/cuvs-java/pom.xml b/java/cuvs-java/pom.xml index d4478f35a6..b210be34d3 100644 --- a/java/cuvs-java/pom.xml +++ b/java/cuvs-java/pom.xml @@ -27,7 +27,7 @@ SPDX-License-Identifier: Apache-2.0 scm:git:https://github.com/nvidia/cuvs.git - scm:git:git@github.com:rapidsai/cuvs.git + scm:git:git@github.com:NVIDIA/cuvs.git HEAD https://github.com/nvidia/cuvs diff --git a/java/cuvs-lucene/pom.xml b/java/cuvs-lucene/pom.xml index a9c7483ea0..4beb176841 100644 --- a/java/cuvs-lucene/pom.xml +++ b/java/cuvs-lucene/pom.xml @@ -27,10 +27,10 @@ SPDX-License-Identifier: Apache-2.0 - scm:git:https://github.com/rapidsai/cuvs.git - scm:git:git@github.com:rapidsai/cuvs.git + scm:git:https://github.com/NVIDIA/cuvs.git + scm:git:git@github.com:NVIDIA/cuvs.git HEAD - https://github.com/rapidsai/cuvs + https://github.com/NVIDIA/cuvs diff --git a/java/cuvs-lucene/src/test/java/com/nvidia/cuvs/lucene/TestCagraToHnswSerializationAndSearch.java b/java/cuvs-lucene/src/test/java/com/nvidia/cuvs/lucene/TestCagraToHnswSerializationAndSearch.java index 934e7c9244..618bd5dc78 100644 --- a/java/cuvs-lucene/src/test/java/com/nvidia/cuvs/lucene/TestCagraToHnswSerializationAndSearch.java +++ b/java/cuvs-lucene/src/test/java/com/nvidia/cuvs/lucene/TestCagraToHnswSerializationAndSearch.java @@ -149,7 +149,7 @@ public void testCagraToHnswSerializationAndSearch() throws Exception { @Test public void testSingleVectorIndex() throws Exception { // Test single vector index support with dummy HNSW graph - // TODO: This test can be removed once https://github.com/rapidsai/cuvs/pull/1256 is merged + // TODO: This test can be removed once https://github.com/NVIDIA/cuvs/pull/1256 is merged // and CAGRA natively supports single vector indexes Codec codec = new Lucene101AcceleratedHNSWCodec(); diff --git a/python/cuvs/cuvs/tests/test_doctests.py b/python/cuvs/cuvs/tests/test_doctests.py index 78fed16b30..e76955a0ae 100644 --- a/python/cuvs/cuvs/tests/test_doctests.py +++ b/python/cuvs/cuvs/tests/test_doctests.py @@ -16,7 +16,7 @@ import cuvs.neighbors import cuvs.preprocessing.quantize -# Code adapted from https://github.com/rapidsai/cudf/blob/branch-23.02/python/cudf/cudf/tests/test_doctests.py # noqa +# Code adapted from https://github.com/NVIDIA/cudf/blob/branch-23.02/python/cudf/cudf/tests/test_doctests.py # noqa def _name_in_all(parent, name): From 92ebff8ffa270eda6d3a02ceba91d3cdcc290f99 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:54:50 -0500 Subject: [PATCH 02/20] Update docs.rapids.ai/api/cuvs links to docs.nvidia.com/cuvs --- README.md | 2 +- examples/README.md | 2 +- examples/java/cuvs-java/README.md | 2 +- fern/pages/index.md | 2 +- java/README.md | 2 +- java/benchmarks/README.md | 2 +- java/docker-build/README.md | 2 +- notebooks/VectorSearch_QuestionRetrieval.ipynb | 2 +- notebooks/ivf_flat_example.ipynb | 8 ++++---- python/cuvs/pyproject.toml | 2 +- python/libcuvs/pyproject.toml | 2 +- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 4eb598f8b5..b4d5d33453 100755 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ cuVS comes with pre-built packages that can be installed through [conda](https:/ > [!NOTE] > If compiled binary size is a concern, please note that the cuVS builds for CUDA 13 are roughly half the size of CUDA 12 builds. This is a result of improved compression rates in the newer supported CUDA drivers. We will be adopting the newer drivers for CUDA 12 builds in Spring of 2026, which will ultimately bring them down to roughly the size of the CUDA 13 builds. In the meantime, the NVIDIA cuVS team is continuing to shave down the binary sizes for all supported CUDA versions. If binary size is an issue for you, please consider linking to cuVS statically either by building from source or using pre-built `libcuvs-static` conda package. -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. +Please see the [Build and Install Guide](https://docs.nvidia.com/cuvs/installation) for more information on installing the available cuVS packages and building from source. ### Standalone C library (Docker) diff --git a/examples/README.md b/examples/README.md index 60c1dde883..3a5d187529 100644 --- a/examples/README.md +++ b/examples/README.md @@ -2,7 +2,7 @@ This template project provides a drop-in sample to either start building a new application with, or using CUVS in an existing CMake project. -First, please refer to our [installation docs](https://docs.rapids.ai/api/cuvs/stable/build.html#cuda-gpu-requirements) for the minimum requirements to use cuVS. +First, please refer to our [installation docs](https://docs.nvidia.com/cuvs/installation#cuda-gpu-requirements) for the minimum requirements to use cuVS. Once the minimum requirements are satisfied, this example template application can be built with the provided `build.sh` script. This is a bash script that calls the appropriate CMake commands, so you can look into it to see the typical CMake based build workflow. diff --git a/examples/java/cuvs-java/README.md b/examples/java/cuvs-java/README.md index 3e51188203..577288397f 100644 --- a/examples/java/cuvs-java/README.md +++ b/examples/java/cuvs-java/README.md @@ -4,7 +4,7 @@ This maven project contains examples for CAGRA, HNSW, and Bruteforce algorithms. ## Prerequisites -- [CuVS libraries](https://docs.rapids.ai/api/cuvs/stable/build/#build-from-source) +- [CuVS libraries](https://docs.nvidia.com/cuvs/installation#build-from-source) - Build the CuVS-Java API ## Run Examples diff --git a/fern/pages/index.md b/fern/pages/index.md index 542df245ec..696474cedd 100644 --- a/fern/pages/index.md +++ b/fern/pages/index.md @@ -6,7 +6,7 @@ NVIDIA cuVS is a GPU-accelerated library for vector search on the GPU. Vector se ## Useful Resources -[cuvs_reference]: https://docs.rapids.ai/api/cuvs/stable/ +[cuvs_reference]: https://docs.nvidia.com/cuvs - [Example Notebooks](https://github.com/nvidia/cuvs/tree/HEAD/notebooks): Example notebooks - [Code Examples](https://github.com/nvidia/cuvs/tree/HEAD/examples): Self-contained code examples diff --git a/java/README.md b/java/README.md index a400f41897..94d1f1bba0 100644 --- a/java/README.md +++ b/java/README.md @@ -7,7 +7,7 @@ cuVS Java API provides a Java based simple, efficient, and a robust vector searc ## Prerequisites -- [CuVS libraries](https://docs.rapids.ai/api/cuvs/stable/build/#build-from-source) +- [CuVS libraries](https://docs.nvidia.com/cuvs/installation#build-from-source) - [maven 3.9.6 or above](https://maven.apache.org/download.cgi) - [JDK 22](https://openjdk.org/projects/jdk/22/) - [jextract for JDK 22](https://jdk.java.net/jextract/) (If not already installed, the build script downloads it) diff --git a/java/benchmarks/README.md b/java/benchmarks/README.md index 4e7eb8a894..d874a869b1 100644 --- a/java/benchmarks/README.md +++ b/java/benchmarks/README.md @@ -4,7 +4,7 @@ This maven project contains JMH benchmarks for the CAGRA Java API. ## Prerequisites -- [CuVS libraries](https://docs.rapids.ai/api/cuvs/stable/build/#build-from-source) +- [CuVS libraries](https://docs.nvidia.com/cuvs/installation#build-from-source) - Build the CuVS-Java API (`./build.sh` from the parent directory) ## Run benchmarks diff --git a/java/docker-build/README.md b/java/docker-build/README.md index f8ec908c2d..8023baa89a 100644 --- a/java/docker-build/README.md +++ b/java/docker-build/README.md @@ -149,4 +149,4 @@ The Docker build process requires significant memory. For large projects, ensure ## Related Documentation - [cuVS Java API README](../README.md): Main Java API documentation -- [cuVS Build Instructions](https://docs.rapids.ai/api/cuvs/stable/build/): Native build documentation +- [cuVS Build Instructions](https://docs.nvidia.com/cuvs/installation): Native build documentation diff --git a/notebooks/VectorSearch_QuestionRetrieval.ipynb b/notebooks/VectorSearch_QuestionRetrieval.ipynb index 211852d6c3..fec6279adf 100644 --- a/notebooks/VectorSearch_QuestionRetrieval.ipynb +++ b/notebooks/VectorSearch_QuestionRetrieval.ipynb @@ -12,7 +12,7 @@ "\n", "The model was pre-trained on the [Natural Questions dataset](https://ai.google.com/research/NaturalQuestions). It consists of about 100k real Google search queries, together with an annotated passage from Wikipedia that provides the answer. It is an example of an asymmetric search task. As corpus, we use the smaller [Simple English Wikipedia](http://sbert.net/datasets/simplewiki-2020-11-01.jsonl.gz) so that it fits easily into memory.\n", "\n", - "The steps to install the latest stable `cuvs` python package are available in the [documentation](https://docs.rapids.ai/api/cuvs/nightly/build/)." + "The steps to install the latest stable `cuvs` python package are available in the [documentation](https://docs.nvidia.com/cuvs/installation)." ] }, { diff --git a/notebooks/ivf_flat_example.ipynb b/notebooks/ivf_flat_example.ipynb index 99f1d33626..7394590f7c 100644 --- a/notebooks/ivf_flat_example.ipynb +++ b/notebooks/ivf_flat_example.ipynb @@ -134,7 +134,7 @@ "metadata": {}, "source": [ "## Build index\n", - "We set [IndexParams](https://docs.rapids.ai/api/cuvs/nightly/python_api/neighbors/#cuvs.neighbors.ivf_flat.IndexParams) and build the index. The index parameters will be discussed in more detail in later sections of this notebook." + "We set [IndexParams](https://docs.nvidia.com/cuvs/api-reference/python-api-neighbors-ivf-flat#indexparams) and build the index. The index parameters will be discussed in more detail in later sections of this notebook." ] }, { @@ -187,7 +187,7 @@ "id": "89ba2eaa-4c85-4e1c-b07c-920394e55dce", "metadata": {}, "source": [ - "It is recommended to reuse [Resources](https://docs.rapids.ai/api/cuvs/nightly/python_api/common/#cuvs.common.Resources) across multiple invocations of search, since constructing these can be time consuming. We will reuse the resources by passing the same handle to each cuVS API call." + "It is recommended to reuse [Resources](https://docs.nvidia.com/cuvs/api-reference/python-api-common#resources) across multiple invocations of search, since constructing these can be time consuming. We will reuse the resources by passing the same handle to each cuVS API call." ] }, { @@ -205,7 +205,7 @@ "id": "a6365229-18fd-468f-af30-e24b950cbd6e", "metadata": {}, "source": [ - "After setting [SearchParams](https://docs.rapids.ai/api/cuvs/nightly/python_api/neighbors/#cuvs.neighbors.ivf_flat.SearchParams) we search for for `k=10` neighbors." + "After setting [SearchParams](https://docs.nvidia.com/cuvs/api-reference/python-api-neighbors-ivf-flat#searchparams) we search for for `k=10` neighbors." ] }, { @@ -258,7 +258,7 @@ "metadata": {}, "source": [ "## Save and load the index\n", - "You can serialize the index to file using [save](https://docs.rapids.ai/api/cuvs/nightly/python_api/neighbors/#cuvs.neighbors.ivf_flat.save), and [load](https://docs.rapids.ai/api/cuvs/nightly/python_api/neighbors/#cuvs.neighbors.ivf_flat.load) it later." + "You can serialize the index to file using [save](https://docs.nvidia.com/cuvs/api-reference/python-api-neighbors-ivf-flat#save), and [load](https://docs.nvidia.com/cuvs/api-reference/python-api-neighbors-ivf-flat#load) it later." ] }, { diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml index 1995d5322a..b796e98d66 100644 --- a/python/cuvs/pyproject.toml +++ b/python/cuvs/pyproject.toml @@ -44,7 +44,7 @@ test = [ [project.urls] Homepage = "https://github.com/nvidia/cuvs" -Documentation = "https://docs.rapids.ai/api/cuvs/stable/" +Documentation = "https://docs.nvidia.com/cuvs" [tool.isort] line_length = 79 diff --git a/python/libcuvs/pyproject.toml b/python/libcuvs/pyproject.toml index 1dce925f04..4fc5da8ddd 100644 --- a/python/libcuvs/pyproject.toml +++ b/python/libcuvs/pyproject.toml @@ -32,7 +32,7 @@ classifiers = [ [project.urls] Homepage = "https://github.com/nvidia/cuvs" -Documentation = "https://docs.rapids.ai/api/cuvs/stable/" +Documentation = "https://docs.nvidia.com/cuvs" [project.entry-points."cmake.prefix"] libcuvs = "libcuvs" From 7100f0ff4176c04f0ef18e93e3bc52ea90b28d71 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:55:06 -0500 Subject: [PATCH 03/20] Update code of conduct link to docs.nvidia.com --- .github/CODE_OF_CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 563581d270..4bbdf7efc2 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -1 +1 @@ -This project has adopted the [Contributor Covenant Code of Conduct](https://docs.rapids.ai/resources/conduct/). +This project has adopted the [Contributor Covenant Code of Conduct](https://docs.nvidia.com/datascience/resources/conduct/). From 7f7dc5e1bc377d07363d4fcb2b902aad526d3e80 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:55:24 -0500 Subject: [PATCH 04/20] Point pyproject documentation URLs to docs.nvidia.com/cuvs/home --- python/cuvs/pyproject.toml | 2 +- python/libcuvs/pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml index b796e98d66..fa781ee8f7 100644 --- a/python/cuvs/pyproject.toml +++ b/python/cuvs/pyproject.toml @@ -44,7 +44,7 @@ test = [ [project.urls] Homepage = "https://github.com/nvidia/cuvs" -Documentation = "https://docs.nvidia.com/cuvs" +Documentation = "https://docs.nvidia.com/cuvs/home" [tool.isort] line_length = 79 diff --git a/python/libcuvs/pyproject.toml b/python/libcuvs/pyproject.toml index 4fc5da8ddd..8ecbba4018 100644 --- a/python/libcuvs/pyproject.toml +++ b/python/libcuvs/pyproject.toml @@ -32,7 +32,7 @@ classifiers = [ [project.urls] Homepage = "https://github.com/nvidia/cuvs" -Documentation = "https://docs.nvidia.com/cuvs" +Documentation = "https://docs.nvidia.com/cuvs/home" [project.entry-points."cmake.prefix"] libcuvs = "libcuvs" From 8a8515fcab26572cf48fd38f2b8678934ce04040 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:57:15 -0500 Subject: [PATCH 05/20] Set examples CUVS_FORK to NVIDIA --- examples/cmake/thirdparty/get_cuvs.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/cmake/thirdparty/get_cuvs.cmake b/examples/cmake/thirdparty/get_cuvs.cmake index 6c0538ace2..d982922eeb 100644 --- a/examples/cmake/thirdparty/get_cuvs.cmake +++ b/examples/cmake/thirdparty/get_cuvs.cmake @@ -1,12 +1,12 @@ # ============================================================================= # cmake-format: off -# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # cmake-format: on # Use RAPIDS_VERSION_MAJOR_MINOR from cmake/rapids_config.cmake set(CUVS_VERSION "${RAPIDS_VERSION_MAJOR_MINOR}") -set(CUVS_FORK "rapidsai") +set(CUVS_FORK "NVIDIA") set(CUVS_PINNED_TAG "${rapids-cmake-branch}") function(find_and_configure_cuvs) From aa5d4771f73a8ffbe52d1ebda33789cf872fcdf3 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:57:52 -0500 Subject: [PATCH 06/20] Replace RAPIDS cuVS with NVIDIA cuVS in notebooks --- notebooks/VectorSearch_QuestionRetrieval.ipynb | 4 ++-- notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/notebooks/VectorSearch_QuestionRetrieval.ipynb b/notebooks/VectorSearch_QuestionRetrieval.ipynb index fec6279adf..6a4ef61f3b 100644 --- a/notebooks/VectorSearch_QuestionRetrieval.ipynb +++ b/notebooks/VectorSearch_QuestionRetrieval.ipynb @@ -125,8 +125,8 @@ "id": "1f4e9b9d", "metadata": {}, "source": [ - "# Vector Search using RAPIDS cuVS\n", - "Now that our embeddings are ready to be indexed and that the model has been loaded, we can use RAPIDS cuVS to do our vector search.\n", + "# Vector Search using NVIDIA cuVS\n", + "Now that our embeddings are ready to be indexed and that the model has been loaded, we can use NVIDIA cuVS to do our vector search.\n", "\n", "This is done in two step: First we build the index, then we search it.\n", "With `cuvs` all you need is those four Python lines:" diff --git a/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb b/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb index 647c9f83b7..364afdd2ed 100644 --- a/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb +++ b/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb @@ -234,8 +234,8 @@ "id": "1f4e9b9d", "metadata": {}, "source": [ - "# Vector Search using Milvus and RAPIDS cuVS \n", - "Now that our embeddings are ready to be indexed and that the model has been loaded, we can use Milvus and RAPIDS cuVS to do our vector search.\n", + "# Vector Search using Milvus and NVIDIA cuVS \n", + "Now that our embeddings are ready to be indexed and that the model has been loaded, we can use Milvus and NVIDIA cuVS to do our vector search.\n", "\n", "This is done in 3 steps: First we ingest all the vectors in the Milvus collection, then we build the Milvus index, to finally search it." ] From 75cd7f940a28ab359f6a13e6da975f2367f58f9d Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 00:58:28 -0500 Subject: [PATCH 07/20] Replace RAPIDS cuVS with NVIDIA cuVS in Dockerfile --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1c08117b0b..dfd780dd40 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ # syntax=docker/dockerfile:1.5 # ============================================================================== -# RAPIDS cuVS Docker Image - Vector Search and Clustering on GPU +# NVIDIA cuVS Docker Image - Vector Search and Clustering on GPU # # Usage: # docker build -t cuvs:latest . @@ -32,8 +32,8 @@ RUN echo " Building cuVS Docker image with:" && \ echo " RAPIDS Version: ${RAPIDS_VER}" # Container metadata -LABEL maintainer="RAPIDS cuVS Team" -LABEL description="RAPIDS cuVS - Vector Search and Clustering on GPU" +LABEL maintainer="NVIDIA cuVS Team" +LABEL description="NVIDIA cuVS - Vector Search and Clustering on GPU" LABEL org.opencontainers.image.source="https://github.com/nvidia/cuvs" LABEL org.opencontainers.image.usage="docker run --gpus all -it " From fc768de1208028aac657a780722eaec38c9fe6dd Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 01:02:18 -0500 Subject: [PATCH 08/20] Remove RAPIDS logo and community links; point remaining docs links to docs.nvidia.com --- README.md | 5 ++--- fern/pages/api_basics.md | 2 +- fern/pages/api_interoperability.md | 2 +- fern/pages/build.md | 2 +- fern/pages/index.md | 3 +-- fern/pages/tuning_guide.md | 2 +- fern/pages/user_guide/abi_stability.md | 2 +- fern/pages/working_with_ann_indexes.md | 4 ++-- notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb | 2 +- 9 files changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index b4d5d33453..08d3c63ed9 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#
 cuVS: Vector Search and Clustering on the GPU
+# cuVS: Vector Search and Clustering on the GPU ## Contents @@ -17,7 +17,6 @@ - [Getting Started Guide](https://docs.nvidia.com/cuvs/getting-started): Guide to getting started with cuVS. - [Code Examples](https://github.com/nvidia/cuvs/tree/HEAD/examples): Self-contained Code Examples. - [API Reference Documentation](https://docs.nvidia.com/cuvs/api_reference): API Documentation. -- [RAPIDS Community](https://rapids.ai/community.html): Get help, contribute, and collaborate. - [GitHub repository](https://github.com/nvidia/cuvs): Download the cuVS source code. - [Issue tracker](https://github.com/nvidia/cuvs/issues): Report issues or request features. @@ -69,7 +68,7 @@ In addition to the items above, cuVS shoulders the burden of keeping non-trivial ## cuVS Technology Stack -cuVS is built on top of the RAPIDS RAFT library of high performance machine learning primitives and provides all the necessary routines for vector search and clustering on the GPU. +cuVS is built on top of the NVIDIA RAFT library of high performance machine learning primitives and provides all the necessary routines for vector search and clustering on the GPU. ![cuVS is built on top of low-level CUDA libraries and provides many important routines that enable vector search and clustering on the GPU](img/tech_stack.png "cuVS Technology Stack") diff --git a/fern/pages/api_basics.md b/fern/pages/api_basics.md index 19370eddef..8748eddec8 100644 --- a/fern/pages/api_basics.md +++ b/fern/pages/api_basics.md @@ -41,7 +41,7 @@ rmm.mr.set_current_device_resource(pool) NVIDIA cuVS uses an API from the [RAFT](https://github.com/NVIDIA/raft) library of ML and data mining primitives to centralize and reuse expensive resources, such as memory management. The below code examples demonstrate how to create these resources for use throughout this guide. -See RAFT's [resource API documentation](https://docs.rapids.ai/api/raft/nightly/cpp_api/core_resources/) for more information. +See RAFT's [resource API documentation](https://docs.nvidia.com/raft/latest/cpp_api/core_resources/) for more information. C ^ diff --git a/fern/pages/api_interoperability.md b/fern/pages/api_interoperability.md index c79e977068..736a8aa2b0 100644 --- a/fern/pages/api_interoperability.md +++ b/fern/pages/api_interoperability.md @@ -96,7 +96,7 @@ auto vector_view = raft::make_host_vector_view(vector.data_handle(), vector.exte auto matrix_view = raft::make_host_matrix_view(matrix.data_handle(), matrix.extent(0), matrix.extent(1)); ``` -Please refer to RAFT's [mdspan documentation](https://docs.rapids.ai/api/raft/stable/cpp_api/mdspan/) to learn more. +Please refer to RAFT's [mdspan documentation](https://docs.nvidia.com/raft/latest/cpp_api/mdspan/) to learn more. ## CUDA array interface (Python) diff --git a/fern/pages/build.md b/fern/pages/build.md index 4cd49bba2b..bb18de5f07 100644 --- a/fern/pages/build.md +++ b/fern/pages/build.md @@ -6,7 +6,7 @@ All NVIDIA cuVS routine implementations live in the C++ core. For every non-C++ ## CUDA GPU Requirements -Pre-compiled NVIDIA cuVS packages are available for Linux on x86_64 and aarch64. Native Windows support is not available at this time. On Windows, use WSL2 with GPU passthrough. See the [RAPIDS WSL2 guide](https://rapids.ai/start.html#wsl2). +Pre-compiled NVIDIA cuVS packages are available for Linux on x86_64 and aarch64. Native Windows support is not available at this time. On Windows, use WSL2 with GPU passthrough. See the [RAPIDS WSL2 guide](https://docs.nvidia.com/datascience/install/#wsl2). Source builds and package installs require a supported NVIDIA GPU. For current source builds, use CUDA Toolkit 12.2 or newer and an Ampere architecture GPU or newer, which means compute capability 8.0 or higher. diff --git a/fern/pages/index.md b/fern/pages/index.md index 696474cedd..a18f1f10b9 100644 --- a/fern/pages/index.md +++ b/fern/pages/index.md @@ -10,7 +10,6 @@ NVIDIA cuVS is a GPU-accelerated library for vector search on the GPU. Vector se - [Example Notebooks](https://github.com/nvidia/cuvs/tree/HEAD/notebooks): Example notebooks - [Code Examples](https://github.com/nvidia/cuvs/tree/HEAD/examples): Self-contained code examples -- [RAPIDS Community](https://rapids.ai/community.html): Get help, contribute, and collaborate. - [GitHub repository](https://github.com/nvidia/cuvs): Download the NVIDIA cuVS source code. - [Issue tracker](https://github.com/nvidia/cuvs/issues): Report issues or request features. @@ -60,6 +59,6 @@ In addition to the items above, NVIDIA cuVS shoulders the responsibility of keep ## NVIDIA cuVS Technology Stack -NVIDIA cuVS is built on top of the [RAPIDS RAFT](https://github.com/NVIDIA/raft) library of high performance machine learning primitives and provides all the necessary routines for vector search and clustering on the GPU. +NVIDIA cuVS is built on top of the [NVIDIA RAFT](https://github.com/NVIDIA/raft) library of high performance machine learning primitives and provides all the necessary routines for vector search and clustering on the GPU. NVIDIA cuVS is built on top of low-level CUDA libraries and provides many important routines that enable vector search and clustering on the GPU diff --git a/fern/pages/tuning_guide.md b/fern/pages/tuning_guide.md index fbc5820f55..2b294698f7 100644 --- a/fern/pages/tuning_guide.md +++ b/fern/pages/tuning_guide.md @@ -18,7 +18,7 @@ Use a representative dataset split. Sample training vectors, test queries, and h Vector search indexes are tuned much like machine learning models. You define an objective, choose a training and validation split, search over candidate hyperparameters, and validate the best candidates on held-out queries. The objective is usually multi-objective: maximize recall while staying within latency, throughput, memory, and build-time limits. -Hyperparameter optimization tools such as [Ray Tune](https://medium.com/rapids-ai/30x-faster-hyperparameter-search-with-raytune-and-rapids-403013fbefc5), [Optuna](https://docs.rapids.ai/deployment/stable/examples/rapids-optuna-hpo/notebook/), and similar HPO frameworks can automate random search, Bayesian search, early stopping, and trial tracking. These tools are useful when the search space is large or when recall and performance must be optimized together. +Hyperparameter optimization tools such as [Ray Tune](https://medium.com/rapids-ai/30x-faster-hyperparameter-search-with-raytune-and-rapids-403013fbefc5), [Optuna](https://docs.nvidia.com/datascience/deployment/latest/examples/rapids-optuna-hpo/notebook/), and similar HPO frameworks can automate random search, Bayesian search, early stopping, and trial tracking. These tools are useful when the search space is large or when recall and performance must be optimized together. [cuVS Bench](/user-guide/benchmarking-guide/cu-vs-bench-tool/introduction) also provides a `tune` mode that can perform hyperparameter optimization for benchmark configurations. This is useful when you want the same tool to run reproducible benchmark trials and search for parameter settings that satisfy a recall, latency, throughput, build-time, or memory target. diff --git a/fern/pages/user_guide/abi_stability.md b/fern/pages/user_guide/abi_stability.md index 0e6487e49c..755f3e0cc0 100644 --- a/fern/pages/user_guide/abi_stability.md +++ b/fern/pages/user_guide/abi_stability.md @@ -33,7 +33,7 @@ The NVIDIA cuVS version tells you which release you are using. The ABI version t NVIDIA cuVS follows the [Calendar Versioning](https://calver.org/overview.html) scheme used by RAPIDS. An NVIDIA cuVS version such as `26.04` means the release was made in April 2026. -RAPIDS releases are scheduled every even-numbered month. The current release schedule is published in the [RAPIDS Maintainers Docs](https://docs.rapids.ai/maintainers/), and completed release schedules are archived on the [RAPIDS release schedule page](https://docs.rapids.ai/releases/schedule/). +RAPIDS releases are scheduled every even-numbered month. The current release schedule is published in the [RAPIDS Maintainers Docs](https://docs.nvidia.com/datascience/maintainers/), and completed release schedules are archived on the [RAPIDS release schedule page](https://docs.nvidia.com/datascience/releases/schedule/). NVIDIA cuVS currently guarantees ABI compatibility for each six-month release window. ABI-breaking changes may happen between the `YY.12` and following `YY.02` releases, and between the `YY.06` and `YY.08` releases. In practice, the stable ABI windows are `YY.02` through `YY.06`, and `YY.08` through `YY.12`. diff --git a/fern/pages/working_with_ann_indexes.md b/fern/pages/working_with_ann_indexes.md index 3a299fdc10..7c8935de8e 100644 --- a/fern/pages/working_with_ann_indexes.md +++ b/fern/pages/working_with_ann_indexes.md @@ -10,13 +10,13 @@ NVIDIA cuVS supports different types of filtering depending on the vector index A bitset is an array of bits where each bit can have two possible values: `0` and `1`. In the context of filtering, `0` means the corresponding vector is filtered out and will not be present in the search results. -Bitsets are optimized to use as little memory as possible and are available through RAFT. See the RAFT [bitset API documentation](https://docs.rapids.ai/api/raft/stable/cpp_api/core_bitset/) for more information. When calling a search function of an ANN index, the bitset length should match the number of vectors present in the database. +Bitsets are optimized to use as little memory as possible and are available through RAFT. See the RAFT [bitset API documentation](https://docs.nvidia.com/raft/latest/cpp_api/core_bitset/) for more information. When calling a search function of an ANN index, the bitset length should match the number of vectors present in the database. For CAGRA bitset examples, see [Using Filters](/user-guide/api-guides/indexing-guide/cagra#using-filters). ### Bitmap -A bitmap is based on the same principle as a bitset, but in two dimensions. This allows users to provide a different bitset for each query being searched. See the RAFT [bitmap API documentation](https://docs.rapids.ai/api/raft/stable/cpp_api/core_bitmap/) for more information. +A bitmap is based on the same principle as a bitset, but in two dimensions. This allows users to provide a different bitset for each query being searched. See the RAFT [bitmap API documentation](https://docs.nvidia.com/raft/latest/cpp_api/core_bitmap/) for more information. For Brute-force bitmap examples, see [Using Filters](/user-guide/api-guides/indexing-guide/brute-force#using-filters). diff --git a/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb b/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb index 364afdd2ed..6e28f8d94f 100644 --- a/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb +++ b/notebooks/VectorSearch_QuestionRetrieval_Milvus.ipynb @@ -8,7 +8,7 @@ "\n", "# Similar Questions Retrieval - Milvus - CAGRA-HNSW\n", "\n", - "This notebook is inspired by the [similar search example of Sentence-Transformers](https://www.sbert.net/examples/applications/semantic-search/README.html#similar-questions-retrieval), and adapted to be used with [Milvus](https://milvus.io) and [cuVS](https://rapids.ai/cuvs/).\n", + "This notebook is inspired by the [similar search example of Sentence-Transformers](https://www.sbert.net/examples/applications/semantic-search/README.html#similar-questions-retrieval), and adapted to be used with [Milvus](https://milvus.io) and [cuVS](https://developer.nvidia.com/topics/ai/generative-ai/cuvs).\n", "\n", "The model was pre-trained on the [Natural Questions dataset](https://ai.google.com/research/NaturalQuestions). It consists of about 100k real Google search queries, together with an annotated passage from Wikipedia that provides the answer. It is an example of an asymmetric search task. As corpus, we use the smaller [Simple English Wikipedia](http://sbert.net/datasets/simplewiki-2020-11-01.jsonl.gz) so that it fits easily into memory.\n", "\n", From d9259b436d5d130b7c6fbc2aa23ab315d17903db Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 01:05:41 -0500 Subject: [PATCH 09/20] Replace RAPIDS Memory Manager with NVIDIA RMM --- fern/pages/other/memory_management.md | 2 +- .../nvidia/cuvs/internal/common/CloseableRMMAllocation.java | 4 ++-- python/cuvs_bench/cuvs_bench/run/run.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fern/pages/other/memory_management.md b/fern/pages/other/memory_management.md index ecc9af68c4..c5505d865d 100644 --- a/fern/pages/other/memory_management.md +++ b/fern/pages/other/memory_management.md @@ -1,6 +1,6 @@ # Memory Management -NVIDIA cuVS uses RAPIDS Memory Manager (RMM) through RAFT so GPU algorithms can allocate temporary buffers, output arrays, and staging memory through one configurable memory layer. RMM helps NVIDIA cuVS interoperate with the broader GPU library ecosystem that either uses RMM directly or provides RMM adaptors, including RAPIDS libraries, PyTorch, CuPy, Faiss, and TensorFlow. This lets applications share memory resources and memory allocations across library boundaries without unnecessary copies. +NVIDIA cuVS uses NVIDIA RMM through RAFT so GPU algorithms can allocate temporary buffers, output arrays, and staging memory through one configurable memory layer. RMM helps NVIDIA cuVS interoperate with the broader GPU library ecosystem that either uses RMM directly or provides RMM adaptors, including RAPIDS libraries, PyTorch, CuPy, Faiss, and TensorFlow. This lets applications share memory resources and memory allocations across library boundaries without unnecessary copies. The most common choice is to configure a device memory pool before creating NVIDIA cuVS resources or allocating device arrays. Pooling avoids repeated `cudaMalloc` and `cudaFree` calls, which can synchronize the device and add allocator overhead to workloads with many temporary buffers. diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/CloseableRMMAllocation.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/CloseableRMMAllocation.java index cb4538720b..898a03e888 100644 --- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/CloseableRMMAllocation.java +++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/CloseableRMMAllocation.java @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ package com.nvidia.cuvs.internal.common; @@ -14,7 +14,7 @@ /** * A closeable handle for RMM allocations that can be used with try-with-resources. - * This class manages the lifecycle of a memory allocation made with RMM (RAPIDS Memory Manager). + * This class manages the lifecycle of a memory allocation made with NVIDIA RMM. * It ensures that the allocated memory is properly released when no longer needed. */ public class CloseableRMMAllocation implements CloseableHandle { diff --git a/python/cuvs_bench/cuvs_bench/run/run.py b/python/cuvs_bench/cuvs_bench/run/run.py index 052f1384c9..37cc035a32 100644 --- a/python/cuvs_bench/cuvs_bench/run/run.py +++ b/python/cuvs_bench/cuvs_bench/run/run.py @@ -1,5 +1,5 @@ # -# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # @@ -16,7 +16,7 @@ def rmm_present() -> bool: """ - Check if RMM (RAPIDS Memory Manager) is present. + Check if NVIDIA RMM is present. Returns ------- From 8e463567eee2a0af256e3b89bbaecdf2e75938a9 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 2 Oct 2026 01:08:59 -0500 Subject: [PATCH 10/20] Point wiki-all dataset link in HPO notebook to docs.nvidia.com --- notebooks/cuvs_hpo_example.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/cuvs_hpo_example.ipynb b/notebooks/cuvs_hpo_example.ipynb index e333f8fa9f..9d14501de0 100644 --- a/notebooks/cuvs_hpo_example.ipynb +++ b/notebooks/cuvs_hpo_example.ipynb @@ -126,7 +126,7 @@ "\n", ".fbin: float32\n", ".ibin: int\n", - "For more information on the Wiki-1M dataset, please refer to the [RAPIDS documentation](https://docs.rapids.ai/api/raft/nightly/ann_benchmarks_dataset)\n", + "For more information on the Wiki-1M dataset, please refer to the [NVIDIA documentation](https://docs.nvidia.com/cuvs/user-guide/benchmarking-guide/cu-vs-bench-tool/wiki-all-dataset)\n", "." ] }, From 7e789b01b15fa5b0f8d528a92282aff733202ede Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:15:41 -0500 Subject: [PATCH 11/20] Update cpp/cmake/thirdparty/get_kvikio.cmake Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- cpp/cmake/thirdparty/get_kvikio.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/cmake/thirdparty/get_kvikio.cmake b/cpp/cmake/thirdparty/get_kvikio.cmake index a2c1f46681..e683659e66 100644 --- a/cpp/cmake/thirdparty/get_kvikio.cmake +++ b/cpp/cmake/thirdparty/get_kvikio.cmake @@ -6,7 +6,7 @@ # Use RAPIDS_VERSION_MAJOR_MINOR from rapids_config.cmake set(KVIKIO_VERSION "${RAPIDS_VERSION_MAJOR_MINOR}") -set(KVIKIO_FORK "NVIDIA") +set(KVIKIO_FORK "rapidsai") set(KVIKIO_PINNED_TAG "${rapids-cmake-checkout-tag}") function(find_and_configure_kvikio) From de197cdaa55bc09c3add22be03326d6e40c209ca Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:35:01 -0500 Subject: [PATCH 12/20] Remove RAPIDS reference from compute_matrix_product.py comment --- cpp/cmake/modules/compute_matrix_product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/cmake/modules/compute_matrix_product.py b/cpp/cmake/modules/compute_matrix_product.py index 76262f6597..33399715a1 100644 --- a/cpp/cmake/modules/compute_matrix_product.py +++ b/cpp/cmake/modules/compute_matrix_product.py @@ -6,7 +6,7 @@ # generation. We *could* write this in CMake with `string(JSON)`, but writing # it in Python is much easier. Once we have a version of CMake that has # https://gitlab.kitware.com/cmake/cmake/-/merge_requests/11516, we may be able -# to port the algorithm to CMake script and use it in other RAPIDS projects. +# to port the algorithm to CMake script and use it in other projects. import argparse import json From 7223e29f4fab93d6060db726c13b034cdbda8513 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:36:20 -0500 Subject: [PATCH 13/20] Update rust/cuvs description --- rust/cuvs/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/cuvs/Cargo.toml b/rust/cuvs/Cargo.toml index 3133171c83..66643fd805 100644 --- a/rust/cuvs/Cargo.toml +++ b/rust/cuvs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cuvs" -description = "RAPIDS vector search library" +description = "NVIDIA cuVS vector search library" version.workspace = true edition.workspace = true repository.workspace = true From 3897b7b14c81baf6eb4ad5a241e19950437d2a13 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:36:24 -0500 Subject: [PATCH 14/20] Use NVIDIA uppercase in GitHub links --- CHANGELOG.md | 1830 ++++++++--------- Dockerfile | 2 +- README.md | 12 +- ci/check_c_abi/pyproject.toml | 2 +- cpp/bench/ann/src/diskann/diskann_wrapper.h | 2 +- cpp/include/cuvs/cluster/kmeans.hpp | 2 +- cpp/include/cuvs/cluster/spectral.hpp | 2 +- cpp/include/cuvs/neighbors/common.hpp | 2 +- cpp/include/cuvs/neighbors/hnsw.hpp | 2 +- .../all_neighbors/all_neighbors_merge.cuh | 2 +- cpp/src/neighbors/detail/cagra/cagra_ace.cuh | 2 +- cpp/src/neighbors/detail/nn_descent.cuh | 4 +- .../neighbors/detail/vamana/vamana_build.cuh | 2 +- cpp/src/neighbors/detail/vpq_dataset.cuh | 2 +- cpp/src/neighbors/mg/snmg.cuh | 2 +- .../ann_cagra/bug_issue_93_reproducer.cu | 2 +- .../ann_cagra/bug_iterative_cagra_build.cu | 2 +- cpp/tests/neighbors/ann_ivf_flat.cuh | 2 +- cpp/tests/neighbors/ann_ivf_pq.cuh | 2 +- examples/go/README.md | 2 +- fern/docs.yml | 2 +- fern/pages/contributing.md | 8 +- fern/pages/cpp_api/cpp-api-cluster-kmeans.md | 2 +- .../pages/cpp_api/cpp-api-neighbors-common.md | 2 +- fern/pages/cpp_guidelines.md | 2 +- fern/pages/cuvs_bench/datasets.md | 2 +- fern/pages/index.md | 8 +- java/cuvs-java/pom.xml | 4 +- .../com/nvidia/cuvs/CagraRandomizedIT.java | 2 +- .../VectorSearch_QuestionRetrieval.ipynb | 2 +- python/cuvs/cuvs/tests/test_doctests.py | 2 +- python/cuvs/cuvs/tests/test_vamana.py | 2 +- python/cuvs/pyproject.toml | 2 +- python/cuvs_bench/cuvs_bench/plot/__main__.py | 2 +- python/cuvs_bench/pyproject.toml | 2 +- python/libcuvs/pyproject.toml | 2 +- rust/Cargo.toml | 4 +- 37 files changed, 965 insertions(+), 965 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 434b97f8a2..9ff1363dd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -104,1107 +104,1107 @@ # cuvs 26.06.00 (3 Jun 2026) ### 🚨 Breaking Changes -* Default to static linking of libcudart by @bdice in https://github.com/nvidia/cuvs/pull/1627 -* Remove JIT+LTO fragment database by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1927 -* Use static cudart by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1931 -* Always build with JIT+LTO by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1923 -* Migrate RMM usage to CCCL MR design by @bdice in https://github.com/nvidia/cuvs/pull/1990 -* Exposition of KMeans param object for PQ in C++ by @lowener in https://github.com/nvidia/cuvs/pull/2005 -* [Cleanup] Combine Batched and Regular KMeans Impl by @tarang-jain in https://github.com/nvidia/cuvs/pull/2015 -* Preserve input memory location for NN Descent by @jinsolp in https://github.com/nvidia/cuvs/pull/1928 +* Default to static linking of libcudart by @bdice in https://github.com/NVIDIA/cuvs/pull/1627 +* Remove JIT+LTO fragment database by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1927 +* Use static cudart by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1931 +* Always build with JIT+LTO by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1923 +* Migrate RMM usage to CCCL MR design by @bdice in https://github.com/NVIDIA/cuvs/pull/1990 +* Exposition of KMeans param object for PQ in C++ by @lowener in https://github.com/NVIDIA/cuvs/pull/2005 +* [Cleanup] Combine Batched and Regular KMeans Impl by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/2015 +* Preserve input memory location for NN Descent by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1928 ### 🐛 Bug Fixes -* Fix CCCL compilation error by @viclafargue in https://github.com/nvidia/cuvs/pull/1963 -* Forward-merge release/26.04 into main by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1971 -* Forward-merge release/26.04 into main by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1980 -* Remove dangling pointers in JIT Fragments by @divyegala in https://github.com/nvidia/cuvs/pull/1988 -* Add `head_rev` to cuvs recipe by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1993 -* Fix potential OOB access in CAGRA search when graph size < dataset size by @irina-resh-nvda in https://github.com/nvidia/cuvs/pull/1780 -* Fix MG kmeans intertia_check n_iters by @aamijar in https://github.com/nvidia/cuvs/pull/2020 -* Fix cuvs_bench pytest pareto assert by @aamijar in https://github.com/nvidia/cuvs/pull/2027 -* Fix nightly build matrix by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2054 -* Fix vulnerable index deserialization by @lowener in https://github.com/nvidia/cuvs/pull/2068 -* Fix symbol export kmeans by @aamijar in https://github.com/nvidia/cuvs/pull/2070 -* Fix argmin/argmax based on the distance type by @achirkin in https://github.com/nvidia/cuvs/pull/2016 -* Remove unneeded request for CUDA device link phase by @robertmaynard in https://github.com/nvidia/cuvs/pull/2077 -* Update Faiss and DiskANN Patch to Use C++20 by @tarang-jain in https://github.com/nvidia/cuvs/pull/1796 -* Fix brute force Rust index dataset lifetime by @yan-zaretskiy in https://github.com/nvidia/cuvs/pull/2083 -* Fix segfault cuvs bench by @aamijar in https://github.com/nvidia/cuvs/pull/2088 -* Fix cagra::optimize modifying the state of raft::resources by @achirkin in https://github.com/nvidia/cuvs/pull/2103 -* Add direct target dependency when embedding fatbins by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2106 -* Fix check for PQ vectorized load by @lowener in https://github.com/nvidia/cuvs/pull/2107 -* Fix workspace usage by @mfoerste4 in https://github.com/nvidia/cuvs/pull/2135 -* Add missing visibility controls in IVF SQ by @divyegala in https://github.com/nvidia/cuvs/pull/2141 +* Fix CCCL compilation error by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1963 +* Forward-merge release/26.04 into main by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1971 +* Forward-merge release/26.04 into main by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1980 +* Remove dangling pointers in JIT Fragments by @divyegala in https://github.com/NVIDIA/cuvs/pull/1988 +* Add `head_rev` to cuvs recipe by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1993 +* Fix potential OOB access in CAGRA search when graph size < dataset size by @irina-resh-nvda in https://github.com/NVIDIA/cuvs/pull/1780 +* Fix MG kmeans intertia_check n_iters by @aamijar in https://github.com/NVIDIA/cuvs/pull/2020 +* Fix cuvs_bench pytest pareto assert by @aamijar in https://github.com/NVIDIA/cuvs/pull/2027 +* Fix nightly build matrix by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2054 +* Fix vulnerable index deserialization by @lowener in https://github.com/NVIDIA/cuvs/pull/2068 +* Fix symbol export kmeans by @aamijar in https://github.com/NVIDIA/cuvs/pull/2070 +* Fix argmin/argmax based on the distance type by @achirkin in https://github.com/NVIDIA/cuvs/pull/2016 +* Remove unneeded request for CUDA device link phase by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/2077 +* Update Faiss and DiskANN Patch to Use C++20 by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1796 +* Fix brute force Rust index dataset lifetime by @yan-zaretskiy in https://github.com/NVIDIA/cuvs/pull/2083 +* Fix segfault cuvs bench by @aamijar in https://github.com/NVIDIA/cuvs/pull/2088 +* Fix cagra::optimize modifying the state of raft::resources by @achirkin in https://github.com/NVIDIA/cuvs/pull/2103 +* Add direct target dependency when embedding fatbins by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2106 +* Fix check for PQ vectorized load by @lowener in https://github.com/NVIDIA/cuvs/pull/2107 +* Fix workspace usage by @mfoerste4 in https://github.com/NVIDIA/cuvs/pull/2135 +* Add missing visibility controls in IVF SQ by @divyegala in https://github.com/NVIDIA/cuvs/pull/2141 ### 📖 Documentation -* Elaborate on fragment architecture in JIT+LTO documentation by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1991 -* Add Cluster and Distance sections to C documentation by @lowener in https://github.com/nvidia/cuvs/pull/1955 -* Adding CAGRA merge to the documentation by @viclafargue in https://github.com/nvidia/cuvs/pull/1942 -* [Doc Update] CAGRA Memory Footprint by @singhmanas1 in https://github.com/nvidia/cuvs/pull/1300 -* Align docs with pluggable benchmark API by @jnke2016 in https://github.com/nvidia/cuvs/pull/1891 -* Add docs for cagra mem usage with NN Descent build algo by @jinsolp in https://github.com/nvidia/cuvs/pull/2000 -* Fix minor typos in ``cuvs-bench`` source build docs by @jrbourbeau in https://github.com/nvidia/cuvs/pull/2006 -* Fix `cuvs-bench` docker images in docs by @jrbourbeau in https://github.com/nvidia/cuvs/pull/2003 -* Update JIT+LTO guide to reflect new automatic embedding system by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2045 -* [Docs] Convert Sphinx docs to Fern by @cjnolet in https://github.com/nvidia/cuvs/pull/2067 -* Add UDF Usage and Developer docs by @divyegala in https://github.com/nvidia/cuvs/pull/2030 -* [DOC] Adding API guides for core cuVS types by @cjnolet in https://github.com/nvidia/cuvs/pull/2117 +* Elaborate on fragment architecture in JIT+LTO documentation by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1991 +* Add Cluster and Distance sections to C documentation by @lowener in https://github.com/NVIDIA/cuvs/pull/1955 +* Adding CAGRA merge to the documentation by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1942 +* [Doc Update] CAGRA Memory Footprint by @singhmanas1 in https://github.com/NVIDIA/cuvs/pull/1300 +* Align docs with pluggable benchmark API by @jnke2016 in https://github.com/NVIDIA/cuvs/pull/1891 +* Add docs for cagra mem usage with NN Descent build algo by @jinsolp in https://github.com/NVIDIA/cuvs/pull/2000 +* Fix minor typos in ``cuvs-bench`` source build docs by @jrbourbeau in https://github.com/NVIDIA/cuvs/pull/2006 +* Fix `cuvs-bench` docker images in docs by @jrbourbeau in https://github.com/NVIDIA/cuvs/pull/2003 +* Update JIT+LTO guide to reflect new automatic embedding system by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2045 +* [Docs] Convert Sphinx docs to Fern by @cjnolet in https://github.com/NVIDIA/cuvs/pull/2067 +* Add UDF Usage and Developer docs by @divyegala in https://github.com/NVIDIA/cuvs/pull/2030 +* [DOC] Adding API guides for core cuVS types by @cjnolet in https://github.com/NVIDIA/cuvs/pull/2117 ### 🚀 New Features -* [REVIEW] Add L1 support to NN-Descent by @yan-zaretskiy in https://github.com/nvidia/cuvs/pull/1898 -* PCA C and Python API by @aamijar in https://github.com/nvidia/cuvs/pull/1987 -* Introduce UDF Architecture by @divyegala in https://github.com/nvidia/cuvs/pull/1804 -* JIT LTO Cagra Search by @divyegala in https://github.com/nvidia/cuvs/pull/1807 -* Expose supported brute force metrics in `all_neighbors` by @jinsolp in https://github.com/nvidia/cuvs/pull/1827 -* [REVIEW] Generalize and improve cagra::optimize by @mfoerste4 in https://github.com/nvidia/cuvs/pull/1830 -* IVF-SQ C++ API by @viclafargue in https://github.com/nvidia/cuvs/pull/1865 +* [REVIEW] Add L1 support to NN-Descent by @yan-zaretskiy in https://github.com/NVIDIA/cuvs/pull/1898 +* PCA C and Python API by @aamijar in https://github.com/NVIDIA/cuvs/pull/1987 +* Introduce UDF Architecture by @divyegala in https://github.com/NVIDIA/cuvs/pull/1804 +* JIT LTO Cagra Search by @divyegala in https://github.com/NVIDIA/cuvs/pull/1807 +* Expose supported brute force metrics in `all_neighbors` by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1827 +* [REVIEW] Generalize and improve cagra::optimize by @mfoerste4 in https://github.com/NVIDIA/cuvs/pull/1830 +* IVF-SQ C++ API by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1865 ### 🛠️ Improvements -* Use PQ API in CAGRA-Q + SCANN by @lowener in https://github.com/nvidia/cuvs/pull/1746 -* Speed up recall calculation in cuVS Bench for large top-K by @jamxia155 in https://github.com/nvidia/cuvs/pull/1816 -* Update codespell Version in pre-commit-config by @tarang-jain in https://github.com/nvidia/cuvs/pull/1920 -* Forward-merge release/26.04 into main by @gforsyth in https://github.com/nvidia/cuvs/pull/1936 -* Refactor `StaticFatbinFragmentEntry` to use tags by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1970 -* Replace cudaMemcpy2DAsync Calls with raft::copy_matrix by @tarang-jain in https://github.com/nvidia/cuvs/pull/1976 -* update pip devcontainers' base image tags by @trxcllnt in https://github.com/nvidia/cuvs/pull/1985 -* Refactor instantiation matrices to generate at build time by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1984 -* Add option to enable "sve" optimization level on armv9 by @LizYou in https://github.com/nvidia/cuvs/pull/1121 -* Improve cuvs-bench doc and add executable dir option by @tfeher in https://github.com/nvidia/cuvs/pull/681 -* Enforce type safety in JIT+LTO launcher by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1997 -* Add KDE kernel by @Intron7 in https://github.com/nvidia/cuvs/pull/1915 -* Coderabbit integration by @benfred in https://github.com/nvidia/cuvs/pull/1908 -* Refactor fatbin registration to use common input file by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2008 -* Update to clang 20.1.8 by @bdice in https://github.com/nvidia/cuvs/pull/2009 -* JIT+LTO IVF-PQ compute similarity by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1957 -* Refactor JIT+LTO kernels by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2021 -* feat(rust): add serialize/deserialize support for CAGRA index by @zbennett10 in https://github.com/nvidia/cuvs/pull/1840 -* Use new compute-matrix workflow by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2034 -* Reuse minClusterAndDistance Helper for Balanced KMeans by @tarang-jain in https://github.com/nvidia/cuvs/pull/2001 -* feat(rust): add search_with_filter to CAGRA Index by @jamie8johnson in https://github.com/nvidia/cuvs/pull/2019 -* [REVIEW] Drop extra copy in `get_last_error_text` by @jakirkham in https://github.com/nvidia/cuvs/pull/2044 -* FIX: disable warpspeed scan by @mfoerste4 in https://github.com/nvidia/cuvs/pull/2062 -* Use `token.rapids.nvidia.com` when issuing S3 bucket creds in devcontainers by @trxcllnt in https://github.com/nvidia/cuvs/pull/2047 -* Remove `NO_CUDART_DEP` property by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/2065 -* Switch the remaining C++17 components to C++20 by @achirkin in https://github.com/nvidia/cuvs/pull/2063 -* fix(ci): resolve all zizmor findings and add zizmor pre-commit checks by @gforsyth in https://github.com/nvidia/cuvs/pull/2053 -* fix(ci): declare explicit secrets in `publish-rust.yaml` by @gforsyth in https://github.com/nvidia/cuvs/pull/2069 -* [REVIEW] Rewrite cuvs-sys build to discover pre-installed cuVS via cmake-package by @yan-zaretskiy in https://github.com/nvidia/cuvs/pull/2022 -* Fix symbol export by @vyasr in https://github.com/nvidia/cuvs/pull/2052 +* Use PQ API in CAGRA-Q + SCANN by @lowener in https://github.com/NVIDIA/cuvs/pull/1746 +* Speed up recall calculation in cuVS Bench for large top-K by @jamxia155 in https://github.com/NVIDIA/cuvs/pull/1816 +* Update codespell Version in pre-commit-config by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1920 +* Forward-merge release/26.04 into main by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1936 +* Refactor `StaticFatbinFragmentEntry` to use tags by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1970 +* Replace cudaMemcpy2DAsync Calls with raft::copy_matrix by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1976 +* update pip devcontainers' base image tags by @trxcllnt in https://github.com/NVIDIA/cuvs/pull/1985 +* Refactor instantiation matrices to generate at build time by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1984 +* Add option to enable "sve" optimization level on armv9 by @LizYou in https://github.com/NVIDIA/cuvs/pull/1121 +* Improve cuvs-bench doc and add executable dir option by @tfeher in https://github.com/NVIDIA/cuvs/pull/681 +* Enforce type safety in JIT+LTO launcher by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1997 +* Add KDE kernel by @Intron7 in https://github.com/NVIDIA/cuvs/pull/1915 +* Coderabbit integration by @benfred in https://github.com/NVIDIA/cuvs/pull/1908 +* Refactor fatbin registration to use common input file by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2008 +* Update to clang 20.1.8 by @bdice in https://github.com/NVIDIA/cuvs/pull/2009 +* JIT+LTO IVF-PQ compute similarity by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1957 +* Refactor JIT+LTO kernels by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2021 +* feat(rust): add serialize/deserialize support for CAGRA index by @zbennett10 in https://github.com/NVIDIA/cuvs/pull/1840 +* Use new compute-matrix workflow by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2034 +* Reuse minClusterAndDistance Helper for Balanced KMeans by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/2001 +* feat(rust): add search_with_filter to CAGRA Index by @jamie8johnson in https://github.com/NVIDIA/cuvs/pull/2019 +* [REVIEW] Drop extra copy in `get_last_error_text` by @jakirkham in https://github.com/NVIDIA/cuvs/pull/2044 +* FIX: disable warpspeed scan by @mfoerste4 in https://github.com/NVIDIA/cuvs/pull/2062 +* Use `token.rapids.nvidia.com` when issuing S3 bucket creds in devcontainers by @trxcllnt in https://github.com/NVIDIA/cuvs/pull/2047 +* Remove `NO_CUDART_DEP` property by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/2065 +* Switch the remaining C++17 components to C++20 by @achirkin in https://github.com/NVIDIA/cuvs/pull/2063 +* fix(ci): resolve all zizmor findings and add zizmor pre-commit checks by @gforsyth in https://github.com/NVIDIA/cuvs/pull/2053 +* fix(ci): declare explicit secrets in `publish-rust.yaml` by @gforsyth in https://github.com/NVIDIA/cuvs/pull/2069 +* [REVIEW] Rewrite cuvs-sys build to discover pre-installed cuVS via cmake-package by @yan-zaretskiy in https://github.com/NVIDIA/cuvs/pull/2022 +* Fix symbol export by @vyasr in https://github.com/NVIDIA/cuvs/pull/2052 * fix(ci): add explicit `actions: write` permission for `telemetry-summarize` - by @gforsyth in https://github.com/nvidia/cuvs/pull/2075 -* [REVIEW] Improve 1-NN performance with split GEMM/reduction kernels on Blackwell by @vinaydes in https://github.com/nvidia/cuvs/pull/1768 -* Build and test with CUDA 13.2.0 by @bdice in https://github.com/nvidia/cuvs/pull/2072 -* Centralize shared utilities across benchmark backends by @jnke2016 in https://github.com/nvidia/cuvs/pull/2040 -* Persistent CAGRA: benchmark group and bad config warnings by @achirkin in https://github.com/nvidia/cuvs/pull/2091 -* Multi-GPU Batched KMeans by @viclafargue in https://github.com/nvidia/cuvs/pull/2017 -* IVF-SQ C API by @viclafargue in https://github.com/nvidia/cuvs/pull/1910 -* skip CuPy 14.1.0 by @jameslamb in https://github.com/nvidia/cuvs/pull/2142 + by @gforsyth in https://github.com/NVIDIA/cuvs/pull/2075 +* [REVIEW] Improve 1-NN performance with split GEMM/reduction kernels on Blackwell by @vinaydes in https://github.com/NVIDIA/cuvs/pull/1768 +* Build and test with CUDA 13.2.0 by @bdice in https://github.com/NVIDIA/cuvs/pull/2072 +* Centralize shared utilities across benchmark backends by @jnke2016 in https://github.com/NVIDIA/cuvs/pull/2040 +* Persistent CAGRA: benchmark group and bad config warnings by @achirkin in https://github.com/NVIDIA/cuvs/pull/2091 +* Multi-GPU Batched KMeans by @viclafargue in https://github.com/NVIDIA/cuvs/pull/2017 +* IVF-SQ C API by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1910 +* skip CuPy 14.1.0 by @jameslamb in https://github.com/NVIDIA/cuvs/pull/2142 ## New Contributors -* @singhmanas1 made their first contribution in https://github.com/nvidia/cuvs/pull/1300 -* @LizYou made their first contribution in https://github.com/nvidia/cuvs/pull/1121 -* @jamie8johnson made their first contribution in https://github.com/nvidia/cuvs/pull/2019 +* @singhmanas1 made their first contribution in https://github.com/NVIDIA/cuvs/pull/1300 +* @LizYou made their first contribution in https://github.com/NVIDIA/cuvs/pull/1121 +* @jamie8johnson made their first contribution in https://github.com/NVIDIA/cuvs/pull/2019 -**Full Changelog**: https://github.com/nvidia/cuvs/compare/v26.06.00a...release/26.06 +**Full Changelog**: https://github.com/NVIDIA/cuvs/compare/v26.06.00a...release/26.06 # cuvs 26.04.00 (8 Apr 2026) ### 🚨 Breaking Changes -* Use HNSW GPU Hierarchy by Default by @julianmi in https://github.com/nvidia/cuvs/pull/1617 -* Backport "Default to static linking of libcudart" by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1918 -* enforce a floor on libnvjitlink, build wheels with CUDA 13.0.x, test wheels against mix of CTK versions by @jameslamb in https://github.com/nvidia/cuvs/pull/1862 +* Use HNSW GPU Hierarchy by Default by @julianmi in https://github.com/NVIDIA/cuvs/pull/1617 +* Backport "Default to static linking of libcudart" by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1918 +* enforce a floor on libnvjitlink, build wheels with CUDA 13.0.x, test wheels against mix of CTK versions by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1862 ### 🐛 Bug Fixes -* Add float16 support for CAGRA extend by @lowener in https://github.com/nvidia/cuvs/pull/1620 -* Fix C examples CUDAToolkit dependency by @tfeher in https://github.com/nvidia/cuvs/pull/1626 -* clang-tidy: remove AnalyzeTemporaryDtors key by @achirkin in https://github.com/nvidia/cuvs/pull/1778 -* Fix build.sh: build cuvs_c for examples and fix --gpu-arch parsing by @achirkin in https://github.com/nvidia/cuvs/pull/1779 -* Better handling of batching of search in MG replicated mode by @viclafargue in https://github.com/nvidia/cuvs/pull/1718 -* Add nvjitlink to cuda-toolkit pip extras for cusparse compatibility by @bdice in https://github.com/nvidia/cuvs/pull/1794 -* [REVIEW] Fix: for balanced kmeans use grid.x for adjust_centers to avoid grid.y overflow for >262K centroids by @Nischal1729 in https://github.com/nvidia/cuvs/pull/1805 -* Fix thrust header by @aamijar in https://github.com/nvidia/cuvs/pull/1817 -* Fix persistent CAGRA regressions by @achirkin in https://github.com/nvidia/cuvs/pull/1800 -* Fix thrust header by @aamijar in https://github.com/nvidia/cuvs/pull/1825 -* Set `cudaFuncAttributeMaxDynamicSharedMemorySize` with thread-safety by @mythrocks in https://github.com/nvidia/cuvs/pull/1771 -* [REVIEW] Move from `thrust::make_counting_iterator` to `cuda::make_counting_iterator` by @mythrocks in https://github.com/nvidia/cuvs/pull/1826 -* Fixed cuvs benchmark debug build issue (linker step fail) by @irina-resh-nvda in https://github.com/nvidia/cuvs/pull/1599 -* Graph degree equals intermediate graph degree bug fix by @irina-resh-nvda in https://github.com/nvidia/cuvs/pull/1834 -* FAISS patch for `thrust_counting_iterator.h` by @aamijar in https://github.com/nvidia/cuvs/pull/1844 -* Use 1D grid calculations in `epsilon_neighborhood` by @divyegala in https://github.com/nvidia/cuvs/pull/1847 -* Fix setting CAGRA graph build algo to iterative search by default by @achirkin in https://github.com/nvidia/cuvs/pull/1864 -* Faiss suppress warning 611 by @aamijar in https://github.com/nvidia/cuvs/pull/1879 -* Pin faiss to 1.14.0 by @aamijar in https://github.com/nvidia/cuvs/pull/1885 -* Make some minor fixes to JIT+LTO functionality by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1896 -* Revert "Default to static linking of libcudart" by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1925 -* Fix hanging pytests by @aamijar in https://github.com/nvidia/cuvs/pull/1924 -* Disallow programmatic stream serialization in JIT kernel launches by @divyegala in https://github.com/nvidia/cuvs/pull/1932 -* IVF-Flat: fix irrelevant assert in the fused kernel mode by @achirkin in https://github.com/nvidia/cuvs/pull/1941 -* [REVIEW] cuVS bench: Fix cudaFuncSetAttribute not being called when CAGRA search switches kernel variants by @irina-resh-nvda in https://github.com/nvidia/cuvs/pull/1851 -* Pin openblas for aarch64 by @tarang-jain in https://github.com/nvidia/cuvs/pull/1965 -* Null JIT kernel launch config by @divyegala in https://github.com/nvidia/cuvs/pull/1974 -* [BUG] Fix Vamana Serialization by @tarang-jain in https://github.com/nvidia/cuvs/pull/1966 +* Add float16 support for CAGRA extend by @lowener in https://github.com/NVIDIA/cuvs/pull/1620 +* Fix C examples CUDAToolkit dependency by @tfeher in https://github.com/NVIDIA/cuvs/pull/1626 +* clang-tidy: remove AnalyzeTemporaryDtors key by @achirkin in https://github.com/NVIDIA/cuvs/pull/1778 +* Fix build.sh: build cuvs_c for examples and fix --gpu-arch parsing by @achirkin in https://github.com/NVIDIA/cuvs/pull/1779 +* Better handling of batching of search in MG replicated mode by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1718 +* Add nvjitlink to cuda-toolkit pip extras for cusparse compatibility by @bdice in https://github.com/NVIDIA/cuvs/pull/1794 +* [REVIEW] Fix: for balanced kmeans use grid.x for adjust_centers to avoid grid.y overflow for >262K centroids by @Nischal1729 in https://github.com/NVIDIA/cuvs/pull/1805 +* Fix thrust header by @aamijar in https://github.com/NVIDIA/cuvs/pull/1817 +* Fix persistent CAGRA regressions by @achirkin in https://github.com/NVIDIA/cuvs/pull/1800 +* Fix thrust header by @aamijar in https://github.com/NVIDIA/cuvs/pull/1825 +* Set `cudaFuncAttributeMaxDynamicSharedMemorySize` with thread-safety by @mythrocks in https://github.com/NVIDIA/cuvs/pull/1771 +* [REVIEW] Move from `thrust::make_counting_iterator` to `cuda::make_counting_iterator` by @mythrocks in https://github.com/NVIDIA/cuvs/pull/1826 +* Fixed cuvs benchmark debug build issue (linker step fail) by @irina-resh-nvda in https://github.com/NVIDIA/cuvs/pull/1599 +* Graph degree equals intermediate graph degree bug fix by @irina-resh-nvda in https://github.com/NVIDIA/cuvs/pull/1834 +* FAISS patch for `thrust_counting_iterator.h` by @aamijar in https://github.com/NVIDIA/cuvs/pull/1844 +* Use 1D grid calculations in `epsilon_neighborhood` by @divyegala in https://github.com/NVIDIA/cuvs/pull/1847 +* Fix setting CAGRA graph build algo to iterative search by default by @achirkin in https://github.com/NVIDIA/cuvs/pull/1864 +* Faiss suppress warning 611 by @aamijar in https://github.com/NVIDIA/cuvs/pull/1879 +* Pin faiss to 1.14.0 by @aamijar in https://github.com/NVIDIA/cuvs/pull/1885 +* Make some minor fixes to JIT+LTO functionality by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1896 +* Revert "Default to static linking of libcudart" by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1925 +* Fix hanging pytests by @aamijar in https://github.com/NVIDIA/cuvs/pull/1924 +* Disallow programmatic stream serialization in JIT kernel launches by @divyegala in https://github.com/NVIDIA/cuvs/pull/1932 +* IVF-Flat: fix irrelevant assert in the fused kernel mode by @achirkin in https://github.com/NVIDIA/cuvs/pull/1941 +* [REVIEW] cuVS bench: Fix cudaFuncSetAttribute not being called when CAGRA search switches kernel variants by @irina-resh-nvda in https://github.com/NVIDIA/cuvs/pull/1851 +* Pin openblas for aarch64 by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1965 +* Null JIT kernel launch config by @divyegala in https://github.com/NVIDIA/cuvs/pull/1974 +* [BUG] Fix Vamana Serialization by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1966 ### 📖 Documentation -* remove docs references to cuvs-bench-datasets, install a C compiler in pre-commit env by @jameslamb in https://github.com/nvidia/cuvs/pull/1736 -* Adding simple tarball install to build and install docs by @cjnolet in https://github.com/nvidia/cuvs/pull/1868 -* Fixing nccl link in tarball install instructions by @cjnolet in https://github.com/nvidia/cuvs/pull/1887 -* Add developer and user guides for JIT by @divyegala in https://github.com/nvidia/cuvs/pull/1876 -* PCA docs by @aamijar in https://github.com/nvidia/cuvs/pull/1949 -* Fix a few typos and ``.rst`` link syntax by @jrbourbeau in https://github.com/nvidia/cuvs/pull/1973 -* Update docs footer year by @aamijar in https://github.com/nvidia/cuvs/pull/1958 -* Doc improvements by @aamijar in https://github.com/nvidia/cuvs/pull/1978 +* remove docs references to cuvs-bench-datasets, install a C compiler in pre-commit env by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1736 +* Adding simple tarball install to build and install docs by @cjnolet in https://github.com/NVIDIA/cuvs/pull/1868 +* Fixing nccl link in tarball install instructions by @cjnolet in https://github.com/NVIDIA/cuvs/pull/1887 +* Add developer and user guides for JIT by @divyegala in https://github.com/NVIDIA/cuvs/pull/1876 +* PCA docs by @aamijar in https://github.com/NVIDIA/cuvs/pull/1949 +* Fix a few typos and ``.rst`` link syntax by @jrbourbeau in https://github.com/NVIDIA/cuvs/pull/1973 +* Update docs footer year by @aamijar in https://github.com/NVIDIA/cuvs/pull/1958 +* Doc improvements by @aamijar in https://github.com/NVIDIA/cuvs/pull/1978 ### 🚀 New Features -* JIT compile `interleaved_scan_kernel` for CUDA 13 by @divyegala in https://github.com/nvidia/cuvs/pull/1405 -* [REVIEW] L1 distance support for iterative search CAGRA build by @yan-zaretskiy in https://github.com/nvidia/cuvs/pull/1831 -* [FEA] Inertia Computation for Balanced KMeans and Add Option for Weighted Inertia by @tarang-jain in https://github.com/nvidia/cuvs/pull/1880 -* PCA preprocessor by @aamijar in https://github.com/nvidia/cuvs/pull/1808 -* [FEA] Add Batching to KMeans by @tarang-jain in https://github.com/nvidia/cuvs/pull/1886 +* JIT compile `interleaved_scan_kernel` for CUDA 13 by @divyegala in https://github.com/NVIDIA/cuvs/pull/1405 +* [REVIEW] L1 distance support for iterative search CAGRA build by @yan-zaretskiy in https://github.com/NVIDIA/cuvs/pull/1831 +* [FEA] Inertia Computation for Balanced KMeans and Add Option for Weighted Inertia by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1880 +* PCA preprocessor by @aamijar in https://github.com/NVIDIA/cuvs/pull/1808 +* [FEA] Add Batching to KMeans by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1886 ### 🛠️ Improvements -* Automatic Partition Count Derivation for ACE by @julianmi in https://github.com/nvidia/cuvs/pull/1603 -* Add filter for cagra::merge by @benfred in https://github.com/nvidia/cuvs/pull/1496 -* Ivf_flat extends golang APIs by @cpegeric in https://github.com/nvidia/cuvs/pull/1600 -* Drop Python 3.10 support by @gforsyth in https://github.com/nvidia/cuvs/pull/1748 -* tighten wheel size limits, expand CI-skipping logic, other small build changes by @jameslamb in https://github.com/nvidia/cuvs/pull/1751 -* Migrate hash strategy to use the new cuco::static_map by @PointKernel in https://github.com/nvidia/cuvs/pull/1462 -* Update raft headers by @aamijar in https://github.com/nvidia/cuvs/pull/1763 -* remove pip.conf migration code in CI scripts, update CI-skipping rules by @jameslamb in https://github.com/nvidia/cuvs/pull/1760 -* Convert non-type template parameters to runtime parameters in CAGRA search to cut binary size by @seunghwak in https://github.com/nvidia/cuvs/pull/1498 -* Rename lanczos by @aamijar in https://github.com/nvidia/cuvs/pull/1759 -* CI: build with CUDA 13.1.1 by @jameslamb in https://github.com/nvidia/cuvs/pull/1766 -* Fixes for stricter compilers by @maxwbuckley in https://github.com/nvidia/cuvs/pull/1703 -* fix cpu_search call by including `k` argument by @benfred in https://github.com/nvidia/cuvs/pull/1785 -* Use GHA id-token for `sccache-dist` auth token by @trxcllnt in https://github.com/nvidia/cuvs/pull/1790 -* Remove `cagra_optimize.hpp` by @aamijar in https://github.com/nvidia/cuvs/pull/1791 -* Remove unused use_norms constant from kernel_sm60.cuh by @maxwbuckley in https://github.com/nvidia/cuvs/pull/1705 -* Remove unused variable read_idx from query loop by @maxwbuckley in https://github.com/nvidia/cuvs/pull/1706 -* remove gitutils by @jameslamb in https://github.com/nvidia/cuvs/pull/1797 -* refactor: build wheels and conda packages using Python limited API by @gforsyth in https://github.com/nvidia/cuvs/pull/1788 -* Add pluggable backend architecture to cuvs-bench by @jnke2016 in https://github.com/nvidia/cuvs/pull/1536 -* Use Specific CCCL Includes by @divyegala in https://github.com/nvidia/cuvs/pull/1806 -* Replace `thrust::tuple` with `cuda::std::tuple` by @miscco in https://github.com/nvidia/cuvs/pull/1811 -* check-nightly-ci: update to new version by @jameslamb in https://github.com/nvidia/cuvs/pull/1813 -* check-nightly-ci: remove testing config by @jameslamb in https://github.com/nvidia/cuvs/pull/1824 -* Refactor JIT LTO kernel generation by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1812 -* Move `test_compute_matrix_product.py` to `cpp/tests` by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1836 -* Drop uses of `thrust/functional.h` by @miscco in https://github.com/nvidia/cuvs/pull/1835 -* Better `ncv` param spectral embedding edge case by @aamijar in https://github.com/nvidia/cuvs/pull/1828 -* Modernize the uses of raft in cuVS by @achirkin in https://github.com/nvidia/cuvs/pull/1837 +* Automatic Partition Count Derivation for ACE by @julianmi in https://github.com/NVIDIA/cuvs/pull/1603 +* Add filter for cagra::merge by @benfred in https://github.com/NVIDIA/cuvs/pull/1496 +* Ivf_flat extends golang APIs by @cpegeric in https://github.com/NVIDIA/cuvs/pull/1600 +* Drop Python 3.10 support by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1748 +* tighten wheel size limits, expand CI-skipping logic, other small build changes by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1751 +* Migrate hash strategy to use the new cuco::static_map by @PointKernel in https://github.com/NVIDIA/cuvs/pull/1462 +* Update raft headers by @aamijar in https://github.com/NVIDIA/cuvs/pull/1763 +* remove pip.conf migration code in CI scripts, update CI-skipping rules by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1760 +* Convert non-type template parameters to runtime parameters in CAGRA search to cut binary size by @seunghwak in https://github.com/NVIDIA/cuvs/pull/1498 +* Rename lanczos by @aamijar in https://github.com/NVIDIA/cuvs/pull/1759 +* CI: build with CUDA 13.1.1 by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1766 +* Fixes for stricter compilers by @maxwbuckley in https://github.com/NVIDIA/cuvs/pull/1703 +* fix cpu_search call by including `k` argument by @benfred in https://github.com/NVIDIA/cuvs/pull/1785 +* Use GHA id-token for `sccache-dist` auth token by @trxcllnt in https://github.com/NVIDIA/cuvs/pull/1790 +* Remove `cagra_optimize.hpp` by @aamijar in https://github.com/NVIDIA/cuvs/pull/1791 +* Remove unused use_norms constant from kernel_sm60.cuh by @maxwbuckley in https://github.com/NVIDIA/cuvs/pull/1705 +* Remove unused variable read_idx from query loop by @maxwbuckley in https://github.com/NVIDIA/cuvs/pull/1706 +* remove gitutils by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1797 +* refactor: build wheels and conda packages using Python limited API by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1788 +* Add pluggable backend architecture to cuvs-bench by @jnke2016 in https://github.com/NVIDIA/cuvs/pull/1536 +* Use Specific CCCL Includes by @divyegala in https://github.com/NVIDIA/cuvs/pull/1806 +* Replace `thrust::tuple` with `cuda::std::tuple` by @miscco in https://github.com/NVIDIA/cuvs/pull/1811 +* check-nightly-ci: update to new version by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1813 +* check-nightly-ci: remove testing config by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1824 +* Refactor JIT LTO kernel generation by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1812 +* Move `test_compute_matrix_product.py` to `cpp/tests` by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1836 +* Drop uses of `thrust/functional.h` by @miscco in https://github.com/NVIDIA/cuvs/pull/1835 +* Better `ncv` param spectral embedding edge case by @aamijar in https://github.com/NVIDIA/cuvs/pull/1828 +* Modernize the uses of raft in cuVS by @achirkin in https://github.com/NVIDIA/cuvs/pull/1837 * refactor(limited api): add explicit `wheel.py-api` to `pyproject.toml` - by @gforsyth in https://github.com/nvidia/cuvs/pull/1852 -* Update Cython lower bound pin to 3.2.2 by @vyasr in https://github.com/nvidia/cuvs/pull/1858 -* Add support for Python 3.14 by @gforsyth in https://github.com/nvidia/cuvs/pull/1845 -* fix(rust): change Index::search to take &self instead of self by @zbennett10 in https://github.com/nvidia/cuvs/pull/1839 -* Remove pytest upper bound pin by @vyasr in https://github.com/nvidia/cuvs/pull/1867 -* Readme: vecflow paper in references by @aamijar in https://github.com/nvidia/cuvs/pull/1874 -* Refactor knn graph build params to remove `graph_build_types.hpp` by @jinsolp in https://github.com/nvidia/cuvs/pull/1235 -* Remove IndexWrapper by @aamijar in https://github.com/nvidia/cuvs/pull/1792 -* Use C linkage for JIT LTO kernels by @divyegala in https://github.com/nvidia/cuvs/pull/1909 -* Prevent nested parallelism in HNSW bench by @julianmi in https://github.com/nvidia/cuvs/pull/1895 -* Add a script to check for breaking C ABI changes by @benfred in https://github.com/nvidia/cuvs/pull/1749 -* Improve the IVF-PQ Coarse Batch Size Workspace Estimation by @julianmi in https://github.com/nvidia/cuvs/pull/1937 -* ScaNN: Fix AVQ prefetch by @rmaschal in https://github.com/nvidia/cuvs/pull/1899 + by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1852 +* Update Cython lower bound pin to 3.2.2 by @vyasr in https://github.com/NVIDIA/cuvs/pull/1858 +* Add support for Python 3.14 by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1845 +* fix(rust): change Index::search to take &self instead of self by @zbennett10 in https://github.com/NVIDIA/cuvs/pull/1839 +* Remove pytest upper bound pin by @vyasr in https://github.com/NVIDIA/cuvs/pull/1867 +* Readme: vecflow paper in references by @aamijar in https://github.com/NVIDIA/cuvs/pull/1874 +* Refactor knn graph build params to remove `graph_build_types.hpp` by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1235 +* Remove IndexWrapper by @aamijar in https://github.com/NVIDIA/cuvs/pull/1792 +* Use C linkage for JIT LTO kernels by @divyegala in https://github.com/NVIDIA/cuvs/pull/1909 +* Prevent nested parallelism in HNSW bench by @julianmi in https://github.com/NVIDIA/cuvs/pull/1895 +* Add a script to check for breaking C ABI changes by @benfred in https://github.com/NVIDIA/cuvs/pull/1749 +* Improve the IVF-PQ Coarse Batch Size Workspace Estimation by @julianmi in https://github.com/NVIDIA/cuvs/pull/1937 +* ScaNN: Fix AVQ prefetch by @rmaschal in https://github.com/NVIDIA/cuvs/pull/1899 ## New Contributors -* @cpegeric made their first contribution in https://github.com/nvidia/cuvs/pull/1600 -* @PointKernel made their first contribution in https://github.com/nvidia/cuvs/pull/1462 -* @seunghwak made their first contribution in https://github.com/nvidia/cuvs/pull/1498 -* @Nischal1729 made their first contribution in https://github.com/nvidia/cuvs/pull/1805 -* @jnke2016 made their first contribution in https://github.com/nvidia/cuvs/pull/1536 -* @zbennett10 made their first contribution in https://github.com/nvidia/cuvs/pull/1839 -* @jrbourbeau made their first contribution in https://github.com/nvidia/cuvs/pull/1973 +* @cpegeric made their first contribution in https://github.com/NVIDIA/cuvs/pull/1600 +* @PointKernel made their first contribution in https://github.com/NVIDIA/cuvs/pull/1462 +* @seunghwak made their first contribution in https://github.com/NVIDIA/cuvs/pull/1498 +* @Nischal1729 made their first contribution in https://github.com/NVIDIA/cuvs/pull/1805 +* @jnke2016 made their first contribution in https://github.com/NVIDIA/cuvs/pull/1536 +* @zbennett10 made their first contribution in https://github.com/NVIDIA/cuvs/pull/1839 +* @jrbourbeau made their first contribution in https://github.com/NVIDIA/cuvs/pull/1973 -**Full Changelog**: https://github.com/nvidia/cuvs/compare/v26.04.00a...release/26.04 +**Full Changelog**: https://github.com/NVIDIA/cuvs/compare/v26.04.00a...release/26.04 # cuvs 26.02.00 (4 Feb 2026) ### 🚨 Breaking Changes -* Use CCCL's mdspan implementation by @divyegala in https://github.com/nvidia/cuvs/pull/1605 -* Add filter for cagra::merge by @benfred in https://github.com/nvidia/cuvs/pull/1755 +* Use CCCL's mdspan implementation by @divyegala in https://github.com/NVIDIA/cuvs/pull/1605 +* Add filter for cagra::merge by @benfred in https://github.com/NVIDIA/cuvs/pull/1755 ### 🐛 Bug Fixes -* fix(ci): remove unknown parameter `name` from rocky8 build job by @gforsyth in https://github.com/nvidia/cuvs/pull/1554 -* CMake check for FAISS use in benchmarks by @irina-resh-nvda in https://github.com/nvidia/cuvs/pull/1591 -* Fix overflow in `preprocess_data_kernel` of NN Descent by @jinsolp in https://github.com/nvidia/cuvs/pull/1596 -* cmake is missing `sparse/gram.cu` gtest by @aamijar in https://github.com/nvidia/cuvs/pull/1611 -* Correctly specify the ninja-build version to download by @robertmaynard in https://github.com/nvidia/cuvs/pull/1634 -* Remove Flaky Python ACE Example by @julianmi in https://github.com/nvidia/cuvs/pull/1641 -* Fix integer overflow in get_free_host_memory() on systems with >2TB RAM by @bdice in https://github.com/nvidia/cuvs/pull/1636 -* Fix libclang download for Rust, CUDA initialization for C tests by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1652 -* Skip Python Multi-GPU Doctests by @julianmi in https://github.com/nvidia/cuvs/pull/1671 -* [Bug] Fix memory allocation test in CAGRA graph optimization by @enp1s0 in https://github.com/nvidia/cuvs/pull/1675 -* Fix multi-GPU All Neighbors memory coherence issue on older platforms by @viclafargue in https://github.com/nvidia/cuvs/pull/1713 +* fix(ci): remove unknown parameter `name` from rocky8 build job by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1554 +* CMake check for FAISS use in benchmarks by @irina-resh-nvda in https://github.com/NVIDIA/cuvs/pull/1591 +* Fix overflow in `preprocess_data_kernel` of NN Descent by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1596 +* cmake is missing `sparse/gram.cu` gtest by @aamijar in https://github.com/NVIDIA/cuvs/pull/1611 +* Correctly specify the ninja-build version to download by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1634 +* Remove Flaky Python ACE Example by @julianmi in https://github.com/NVIDIA/cuvs/pull/1641 +* Fix integer overflow in get_free_host_memory() on systems with >2TB RAM by @bdice in https://github.com/NVIDIA/cuvs/pull/1636 +* Fix libclang download for Rust, CUDA initialization for C tests by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1652 +* Skip Python Multi-GPU Doctests by @julianmi in https://github.com/NVIDIA/cuvs/pull/1671 +* [Bug] Fix memory allocation test in CAGRA graph optimization by @enp1s0 in https://github.com/NVIDIA/cuvs/pull/1675 +* Fix multi-GPU All Neighbors memory coherence issue on older platforms by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1713 ### 📖 Documentation -* Clean `raft/neighbors` comments by @aamijar in https://github.com/nvidia/cuvs/pull/1651 -* Clean `raft::neighbors` comments by @aamijar in https://github.com/nvidia/cuvs/pull/1665 +* Clean `raft/neighbors` comments by @aamijar in https://github.com/NVIDIA/cuvs/pull/1651 +* Clean `raft::neighbors` comments by @aamijar in https://github.com/NVIDIA/cuvs/pull/1665 ### 🚀 New Features -* Assign the c/ folder to the the c code ownder group by @robertmaynard in https://github.com/nvidia/cuvs/pull/1573 -* Add arm64 builds to the libcuvs_c rocky8 matrix by @robertmaynard in https://github.com/nvidia/cuvs/pull/1570 -* [FEA] Enforce tighter link restrictions on libcuvs_c by @robertmaynard in https://github.com/nvidia/cuvs/pull/1614 -* [FEA] IVF-PQ Build Factories for Precomputed Centroids and Codebooks by @tarang-jain in https://github.com/nvidia/cuvs/pull/1483 -* Add HNSW ACE build method by @julianmi in https://github.com/nvidia/cuvs/pull/1597 -* [FEA] C + Python API for IVF-PQ Build Factories with Precomputed Centroids by @tarang-jain in https://github.com/nvidia/cuvs/pull/1664 -* Add arm64 builds to the libcuvs_c build.yaml matrix by @robertmaynard in https://github.com/nvidia/cuvs/pull/1701 -* pre-built libcuvs_c.so now use the new ABI major/minor values by @robertmaynard in https://github.com/nvidia/cuvs/pull/1708 -* Correct base release for cuvs abi 1 major by @robertmaynard in https://github.com/nvidia/cuvs/pull/1724 -* Add support for PQ preprocessing API by @lowener in https://github.com/nvidia/cuvs/pull/1278 -* [FEA] IVF-PQ to Write Flat PQ Codes by @tarang-jain in https://github.com/nvidia/cuvs/pull/1607 -* Enable collation of all license files into pre-built binaries by @robertmaynard in https://github.com/nvidia/cuvs/pull/1679 +* Assign the c/ folder to the the c code ownder group by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1573 +* Add arm64 builds to the libcuvs_c rocky8 matrix by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1570 +* [FEA] Enforce tighter link restrictions on libcuvs_c by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1614 +* [FEA] IVF-PQ Build Factories for Precomputed Centroids and Codebooks by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1483 +* Add HNSW ACE build method by @julianmi in https://github.com/NVIDIA/cuvs/pull/1597 +* [FEA] C + Python API for IVF-PQ Build Factories with Precomputed Centroids by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1664 +* Add arm64 builds to the libcuvs_c build.yaml matrix by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1701 +* pre-built libcuvs_c.so now use the new ABI major/minor values by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1708 +* Correct base release for cuvs abi 1 major by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1724 +* Add support for PQ preprocessing API by @lowener in https://github.com/NVIDIA/cuvs/pull/1278 +* [FEA] IVF-PQ to Write Flat PQ Codes by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1607 +* Enable collation of all license files into pre-built binaries by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1679 ### 🛠️ Improvements -* Update FAISS patch for RMM memory resource header migration by @bdice in https://github.com/nvidia/cuvs/pull/1566 -* Use strict priority in CI conda tests by @bdice in https://github.com/nvidia/cuvs/pull/1583 -* Update FAISS from 1.12.0 to 1.13.0 by @bdice in https://github.com/nvidia/cuvs/pull/1585 -* Use strict priority in CI conda tests by @bdice in https://github.com/nvidia/cuvs/pull/1606 -* Deduplicate `{unpack/pack}_list_data_kernel` by @jinsolp in https://github.com/nvidia/cuvs/pull/1609 -* Expose NN Descent fp16 data type support to python by @jinsolp in https://github.com/nvidia/cuvs/pull/1616 -* Remove alpha specs from non-RAPIDS dependencies by @bdice in https://github.com/nvidia/cuvs/pull/1618 -* Enable merge barriers by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1625 -* Add devcontainer fallback for C++ test location by @bdice in https://github.com/nvidia/cuvs/pull/1631 -* Dispatch to use fp32 distance computation in NN Descent depending on data dimensions by @jinsolp in https://github.com/nvidia/cuvs/pull/1415 -* Prepare cuvs for removal of deprecated raft apis by @aamijar in https://github.com/nvidia/cuvs/pull/1610 -* Shorten the Test Duration of test_cagra_ace.py by @julianmi in https://github.com/nvidia/cuvs/pull/1640 -* Optional seed spectral embedding by @aamijar in https://github.com/nvidia/cuvs/pull/1639 -* FAISS patch for removed raft headers by @aamijar in https://github.com/nvidia/cuvs/pull/1654 -* Empty commit to trigger a build by @bdice in https://github.com/nvidia/cuvs/pull/1662 -* Spectral Clustering dataset api by @aamijar in https://github.com/nvidia/cuvs/pull/1653 -* Hide kernel symbols by @divyegala in https://github.com/nvidia/cuvs/pull/1663 -* Update cuVS to c++20 by @divyegala in https://github.com/nvidia/cuvs/pull/1649 -* Move faiss_select from raft to cuvs by @aamijar in https://github.com/nvidia/cuvs/pull/1658 -* Fix DiskANN Override by @tarang-jain in https://github.com/nvidia/cuvs/pull/1666 -* Use SPDX license identifiers in pyproject.toml, bump build dependency floors by @jameslamb in https://github.com/nvidia/cuvs/pull/1667 -* Add CUDA 13.1 support by @bdice in https://github.com/nvidia/cuvs/pull/1642 -* Remove faiss patch by @aamijar in https://github.com/nvidia/cuvs/pull/1668 -* Expose pq list data to python by @benfred in https://github.com/nvidia/cuvs/pull/1428 -* Add rust bindings for vamana index by @benfred in https://github.com/nvidia/cuvs/pull/1608 -* build and test against CUDA 13.1.0 by @jameslamb in https://github.com/nvidia/cuvs/pull/1677 -* [Improvement] Allow Configurable DRAM in DiskANN SSD Wrapper by @tarang-jain in https://github.com/nvidia/cuvs/pull/1598 -* prefer CUDA 13.1 devcontainers, react to some cutlass removals in RAFT by @jameslamb in https://github.com/nvidia/cuvs/pull/1686 -* Empty commit to trigger a build by @jameslamb in https://github.com/nvidia/cuvs/pull/1694 -* Spectral Embedding `nnz_t` by @aamijar in https://github.com/nvidia/cuvs/pull/1628 -* Avoid installing CCCL headers in wheels by @divyegala in https://github.com/nvidia/cuvs/pull/1692 -* Use main shared-workflows branch by @jameslamb in https://github.com/nvidia/cuvs/pull/1707 -* Add Helper to Create NumPy Files by @julianmi in https://github.com/nvidia/cuvs/pull/1645 -* Spectral Embedding with `all_neighbors` by @aamijar in https://github.com/nvidia/cuvs/pull/1693 -* Deduplicate `calc_chunk_indices_kernel` by @jinsolp in https://github.com/nvidia/cuvs/pull/1657 -* wheel builds: react to changes in pip's handling of build constraints by @mmccarty in https://github.com/nvidia/cuvs/pull/1710 -* fix(build): build package on merge to `release/*` branch by @gforsyth in https://github.com/nvidia/cuvs/pull/1733 -* Add a `transform` function to ivf_pq by @benfred in https://github.com/nvidia/cuvs/pull/1732 +* Update FAISS patch for RMM memory resource header migration by @bdice in https://github.com/NVIDIA/cuvs/pull/1566 +* Use strict priority in CI conda tests by @bdice in https://github.com/NVIDIA/cuvs/pull/1583 +* Update FAISS from 1.12.0 to 1.13.0 by @bdice in https://github.com/NVIDIA/cuvs/pull/1585 +* Use strict priority in CI conda tests by @bdice in https://github.com/NVIDIA/cuvs/pull/1606 +* Deduplicate `{unpack/pack}_list_data_kernel` by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1609 +* Expose NN Descent fp16 data type support to python by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1616 +* Remove alpha specs from non-RAPIDS dependencies by @bdice in https://github.com/NVIDIA/cuvs/pull/1618 +* Enable merge barriers by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1625 +* Add devcontainer fallback for C++ test location by @bdice in https://github.com/NVIDIA/cuvs/pull/1631 +* Dispatch to use fp32 distance computation in NN Descent depending on data dimensions by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1415 +* Prepare cuvs for removal of deprecated raft apis by @aamijar in https://github.com/NVIDIA/cuvs/pull/1610 +* Shorten the Test Duration of test_cagra_ace.py by @julianmi in https://github.com/NVIDIA/cuvs/pull/1640 +* Optional seed spectral embedding by @aamijar in https://github.com/NVIDIA/cuvs/pull/1639 +* FAISS patch for removed raft headers by @aamijar in https://github.com/NVIDIA/cuvs/pull/1654 +* Empty commit to trigger a build by @bdice in https://github.com/NVIDIA/cuvs/pull/1662 +* Spectral Clustering dataset api by @aamijar in https://github.com/NVIDIA/cuvs/pull/1653 +* Hide kernel symbols by @divyegala in https://github.com/NVIDIA/cuvs/pull/1663 +* Update cuVS to c++20 by @divyegala in https://github.com/NVIDIA/cuvs/pull/1649 +* Move faiss_select from raft to cuvs by @aamijar in https://github.com/NVIDIA/cuvs/pull/1658 +* Fix DiskANN Override by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1666 +* Use SPDX license identifiers in pyproject.toml, bump build dependency floors by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1667 +* Add CUDA 13.1 support by @bdice in https://github.com/NVIDIA/cuvs/pull/1642 +* Remove faiss patch by @aamijar in https://github.com/NVIDIA/cuvs/pull/1668 +* Expose pq list data to python by @benfred in https://github.com/NVIDIA/cuvs/pull/1428 +* Add rust bindings for vamana index by @benfred in https://github.com/NVIDIA/cuvs/pull/1608 +* build and test against CUDA 13.1.0 by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1677 +* [Improvement] Allow Configurable DRAM in DiskANN SSD Wrapper by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1598 +* prefer CUDA 13.1 devcontainers, react to some cutlass removals in RAFT by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1686 +* Empty commit to trigger a build by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1694 +* Spectral Embedding `nnz_t` by @aamijar in https://github.com/NVIDIA/cuvs/pull/1628 +* Avoid installing CCCL headers in wheels by @divyegala in https://github.com/NVIDIA/cuvs/pull/1692 +* Use main shared-workflows branch by @jameslamb in https://github.com/NVIDIA/cuvs/pull/1707 +* Add Helper to Create NumPy Files by @julianmi in https://github.com/NVIDIA/cuvs/pull/1645 +* Spectral Embedding with `all_neighbors` by @aamijar in https://github.com/NVIDIA/cuvs/pull/1693 +* Deduplicate `calc_chunk_indices_kernel` by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1657 +* wheel builds: react to changes in pip's handling of build constraints by @mmccarty in https://github.com/NVIDIA/cuvs/pull/1710 +* fix(build): build package on merge to `release/*` branch by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1733 +* Add a `transform` function to ivf_pq by @benfred in https://github.com/NVIDIA/cuvs/pull/1732 ## New Contributors -* @irina-resh-nvda made their first contribution in https://github.com/nvidia/cuvs/pull/1591 +* @irina-resh-nvda made their first contribution in https://github.com/NVIDIA/cuvs/pull/1591 -**Full Changelog**: https://github.com/nvidia/cuvs/compare/v26.02.00a...release/26.02 +**Full Changelog**: https://github.com/NVIDIA/cuvs/compare/v26.02.00a...release/26.02 # cuvs 25.12.00 (10 Dec 2025) ### 🚨 Breaking Changes -* Using `all_neighbors` for mutual reachability by @jinsolp in https://github.com/nvidia/cuvs/pull/1234 -* Refactor libcuvs_c header and source locations by @robertmaynard in https://github.com/nvidia/cuvs/pull/1357 -* Update cagra C API enums to have more long term stable values by @robertmaynard in https://github.com/nvidia/cuvs/pull/1436 -* Require CUDA 12.2+ by @jakirkham in https://github.com/nvidia/cuvs/pull/1476 -* Remove mutual_reachability_graph Public API by @tarang-jain in https://github.com/nvidia/cuvs/pull/1481 +* Using `all_neighbors` for mutual reachability by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1234 +* Refactor libcuvs_c header and source locations by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1357 +* Update cagra C API enums to have more long term stable values by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1436 +* Require CUDA 12.2+ by @jakirkham in https://github.com/NVIDIA/cuvs/pull/1476 +* Remove mutual_reachability_graph Public API by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1481 ### 🐛 Bug Fixes -* Allow compilation when OpenMP is disabled by @robertmaynard in https://github.com/nvidia/cuvs/pull/1346 -* Deallocation should be noexcept by @bdice in https://github.com/nvidia/cuvs/pull/1416 -* ANN_BENCH: Don't throw in noexcept do_deallocate by @achirkin in https://github.com/nvidia/cuvs/pull/1417 -* Remove unneeded cutlass public build/install dependency by @robertmaynard in https://github.com/nvidia/cuvs/pull/1411 -* cuvs_static properly adds C include dir to target_include_directories by @robertmaynard in https://github.com/nvidia/cuvs/pull/1426 -* Fix C/Python serialization for FP16. Add python tests by @lowener in https://github.com/nvidia/cuvs/pull/1429 -* Properly guard usage of openmp function calls by @robertmaynard in https://github.com/nvidia/cuvs/pull/1435 -* Update nlohmann-json to 3.12.0 by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1449 -* Fix test params for filtered ivf_flat by @aamijar in https://github.com/nvidia/cuvs/pull/1463 -* [REVIEW][Java][Bug] Fix `CuVSMatrix#getRow` to take strides into consideration by @ldematte in https://github.com/nvidia/cuvs/pull/1442 -* Adding more tests and I find the compression settings are broken in the Golang API by @maxwbuckley in https://github.com/nvidia/cuvs/pull/1472 -* Fix binary quantizer host transform bounds and stream order by @achirkin in https://github.com/nvidia/cuvs/pull/1473 -* [BUG] Check if dynamic batching conf is null by @tarang-jain in https://github.com/nvidia/cuvs/pull/1459 -* Include cagra search algorithms in libcuvs_static.a by @robertmaynard in https://github.com/nvidia/cuvs/pull/1457 -* [Java] Disable flaky test `testFloatSerialization` by @mythrocks in https://github.com/nvidia/cuvs/pull/1503 -* Add libaio to cuvs-bench-cpu, improve bench dependencies by @tarang-jain in https://github.com/nvidia/cuvs/pull/1480 -* [Java] Fix `CagraBuildAndSearchIT` concurrent deallocation errors by @ldematte in https://github.com/nvidia/cuvs/pull/1510 -* Pin Cython pre-3.2.0 and PyTest pre-9 by @jakirkham in https://github.com/nvidia/cuvs/pull/1528 -* Fix a bug in compute_distance_00_generate.py by @enp1s0 in https://github.com/nvidia/cuvs/pull/1532 -* Check stride information in from_dlpack by @benfred in https://github.com/nvidia/cuvs/pull/1458 -* refactored update-version.sh to handle new branching strategy by @rockhowse in https://github.com/nvidia/cuvs/pull/1535 -* fixed bug with update-version.sh by @rockhowse in https://github.com/nvidia/cuvs/pull/1556 -* fix(ci): remove unsupported `name` parameter from custom job def by @gforsyth in https://github.com/nvidia/cuvs/pull/1560 -* Remove need to have rapids_logger headers installed to use clib by @robertmaynard in https://github.com/nvidia/cuvs/pull/1527 -* Fix BruteForce serialize test by @lowener in https://github.com/nvidia/cuvs/pull/1568 -* [C] Fix: `cuvsRMMMemoryResourceReset` sets a valid resource by @ldematte in https://github.com/nvidia/cuvs/pull/1540 -* Fix typo in date field by @vyasr in https://github.com/nvidia/cuvs/pull/1563 -* SNMG ANN build with OpenMP nested parallelism by @viclafargue in https://github.com/nvidia/cuvs/pull/1526 +* Allow compilation when OpenMP is disabled by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1346 +* Deallocation should be noexcept by @bdice in https://github.com/NVIDIA/cuvs/pull/1416 +* ANN_BENCH: Don't throw in noexcept do_deallocate by @achirkin in https://github.com/NVIDIA/cuvs/pull/1417 +* Remove unneeded cutlass public build/install dependency by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1411 +* cuvs_static properly adds C include dir to target_include_directories by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1426 +* Fix C/Python serialization for FP16. Add python tests by @lowener in https://github.com/NVIDIA/cuvs/pull/1429 +* Properly guard usage of openmp function calls by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1435 +* Update nlohmann-json to 3.12.0 by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1449 +* Fix test params for filtered ivf_flat by @aamijar in https://github.com/NVIDIA/cuvs/pull/1463 +* [REVIEW][Java][Bug] Fix `CuVSMatrix#getRow` to take strides into consideration by @ldematte in https://github.com/NVIDIA/cuvs/pull/1442 +* Adding more tests and I find the compression settings are broken in the Golang API by @maxwbuckley in https://github.com/NVIDIA/cuvs/pull/1472 +* Fix binary quantizer host transform bounds and stream order by @achirkin in https://github.com/NVIDIA/cuvs/pull/1473 +* [BUG] Check if dynamic batching conf is null by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1459 +* Include cagra search algorithms in libcuvs_static.a by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1457 +* [Java] Disable flaky test `testFloatSerialization` by @mythrocks in https://github.com/NVIDIA/cuvs/pull/1503 +* Add libaio to cuvs-bench-cpu, improve bench dependencies by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1480 +* [Java] Fix `CagraBuildAndSearchIT` concurrent deallocation errors by @ldematte in https://github.com/NVIDIA/cuvs/pull/1510 +* Pin Cython pre-3.2.0 and PyTest pre-9 by @jakirkham in https://github.com/NVIDIA/cuvs/pull/1528 +* Fix a bug in compute_distance_00_generate.py by @enp1s0 in https://github.com/NVIDIA/cuvs/pull/1532 +* Check stride information in from_dlpack by @benfred in https://github.com/NVIDIA/cuvs/pull/1458 +* refactored update-version.sh to handle new branching strategy by @rockhowse in https://github.com/NVIDIA/cuvs/pull/1535 +* fixed bug with update-version.sh by @rockhowse in https://github.com/NVIDIA/cuvs/pull/1556 +* fix(ci): remove unsupported `name` parameter from custom job def by @gforsyth in https://github.com/NVIDIA/cuvs/pull/1560 +* Remove need to have rapids_logger headers installed to use clib by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1527 +* Fix BruteForce serialize test by @lowener in https://github.com/NVIDIA/cuvs/pull/1568 +* [C] Fix: `cuvsRMMMemoryResourceReset` sets a valid resource by @ldematte in https://github.com/NVIDIA/cuvs/pull/1540 +* Fix typo in date field by @vyasr in https://github.com/NVIDIA/cuvs/pull/1563 +* SNMG ANN build with OpenMP nested parallelism by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1526 ### 📖 Documentation -* Fix table of content documentation by @lowener in https://github.com/nvidia/cuvs/pull/1427 -* Docs Spectral Clustering by @aamijar in https://github.com/nvidia/cuvs/pull/1490 -* Use current system architecture in conda environment creation command by @bdice in https://github.com/nvidia/cuvs/pull/1499 -* Updating README for release by @cjnolet in https://github.com/nvidia/cuvs/pull/1584 +* Fix table of content documentation by @lowener in https://github.com/NVIDIA/cuvs/pull/1427 +* Docs Spectral Clustering by @aamijar in https://github.com/NVIDIA/cuvs/pull/1490 +* Use current system architecture in conda environment creation command by @bdice in https://github.com/NVIDIA/cuvs/pull/1499 +* Updating README for release by @cjnolet in https://github.com/NVIDIA/cuvs/pull/1584 ### 🚀 New Features -* Unify binding headers by @robertmaynard in https://github.com/nvidia/cuvs/pull/1413 -* CAGRA: decouple source idx type from graph idx type and add a mapping between them by @achirkin in https://github.com/nvidia/cuvs/pull/1251 -* Add SOVERSION information to libcuvs_c by @robertmaynard in https://github.com/nvidia/cuvs/pull/1474 -* Spectral Clustering by @aamijar in https://github.com/nvidia/cuvs/pull/1425 -* ANN_BENCH: integrate NVTX statistics by @achirkin in https://github.com/nvidia/cuvs/pull/1529 -* Add Augmented Core Extraction Algorithm by @julianmi in https://github.com/nvidia/cuvs/pull/1404 -* Extend CI to build and test x86 libcuvs_c tarballs by @robertmaynard in https://github.com/nvidia/cuvs/pull/1524 -* Introduce `libcuvs-headers` and `libcuvs-static` CMake components and conda packages by @divyegala in https://github.com/nvidia/cuvs/pull/1494 -* [Java] Bindings, tests and benchmarks for RMM pooled memory by @ldematte in https://github.com/nvidia/cuvs/pull/1453 +* Unify binding headers by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1413 +* CAGRA: decouple source idx type from graph idx type and add a mapping between them by @achirkin in https://github.com/NVIDIA/cuvs/pull/1251 +* Add SOVERSION information to libcuvs_c by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1474 +* Spectral Clustering by @aamijar in https://github.com/NVIDIA/cuvs/pull/1425 +* ANN_BENCH: integrate NVTX statistics by @achirkin in https://github.com/NVIDIA/cuvs/pull/1529 +* Add Augmented Core Extraction Algorithm by @julianmi in https://github.com/NVIDIA/cuvs/pull/1404 +* Extend CI to build and test x86 libcuvs_c tarballs by @robertmaynard in https://github.com/NVIDIA/cuvs/pull/1524 +* Introduce `libcuvs-headers` and `libcuvs-static` CMake components and conda packages by @divyegala in https://github.com/NVIDIA/cuvs/pull/1494 +* [Java] Bindings, tests and benchmarks for RMM pooled memory by @ldematte in https://github.com/NVIDIA/cuvs/pull/1453 ### 🛠️ Improvements -* Update `RAPIDS_BRANCH`, codify changes in `update-version.sh` by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1368 -* Move eigen_solvers from raft by @aamijar in https://github.com/nvidia/cuvs/pull/1402 -* CosineExpanded Distance Metric for CAGRA by @tarang-jain in https://github.com/nvidia/cuvs/pull/197 -* Enable `sccache-dist` connection pool by @trxcllnt in https://github.com/nvidia/cuvs/pull/1431 -* Use pinned_host_memory_resource instead of pinned_memory_resource. by @bdice in https://github.com/nvidia/cuvs/pull/1434 -* Use main in RAPIDS_BRANCH by @bdice in https://github.com/nvidia/cuvs/pull/1439 -* Use main shared-workflows branch by @bdice in https://github.com/nvidia/cuvs/pull/1444 -* [Review] ScaNN: Add option for AVQ/Noise Shaping to bfloat16 quantization by @rmaschal in https://github.com/nvidia/cuvs/pull/1354 -* Add NVTX annotations to CAGRA knn graph build stage by @achirkin in https://github.com/nvidia/cuvs/pull/1443 -* [Review][C] Export the ability to get/set the log level to the C API by @ldematte in https://github.com/nvidia/cuvs/pull/1375 -* [Java] Test indexing and serialization with integral (byte) dataset by @ldematte in https://github.com/nvidia/cuvs/pull/1366 -* Use SPDX for all copyright headers by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1446 -* [REVIEW][Java] Log level api by @ldematte in https://github.com/nvidia/cuvs/pull/1376 -* [Review] [Java] Disable flaky Java tests to reduce CI churn by @mythrocks in https://github.com/nvidia/cuvs/pull/1469 -* Refactor rapids_cpm_package_details to rapids_cpm_package_info by @bdice in https://github.com/nvidia/cuvs/pull/1433 -* Fix golang test name and add more logging and error checking. by @maxwbuckley in https://github.com/nvidia/cuvs/pull/1471 -* Use an explicit std::min for byte alignment calculation by @maxwbuckley in https://github.com/nvidia/cuvs/pull/1465 -* Replace custom cuda_pinned_resource with RMM's pinned_host_memory_resource by @bdice in https://github.com/nvidia/cuvs/pull/1466 -* Add patch for FAISS memory resources by @bdice in https://github.com/nvidia/cuvs/pull/1477 -* Improved CAGRA build parameter heuristics by @achirkin in https://github.com/nvidia/cuvs/pull/1448 -* Decouple C++ library from C library by @divyegala in https://github.com/nvidia/cuvs/pull/1488 -* Use `RAPIDS_BRANCH` in cmake-format invocations that need rapids-cmake configs by @bdice in https://github.com/nvidia/cuvs/pull/1475 -* eigen `tolerance` option Spectral Embedding by @aamijar in https://github.com/nvidia/cuvs/pull/1493 -* Update to CUDA 13.0.2 by @bdice in https://github.com/nvidia/cuvs/pull/1506 -* Single Linkage to Use all_neighbors API to build the KNN graph by @tarang-jain in https://github.com/nvidia/cuvs/pull/1507 -* Migrate to new CCCL memory resource interface by @bdice in https://github.com/nvidia/cuvs/pull/1502 -* Remove unused headers scann by @lowener in https://github.com/nvidia/cuvs/pull/1508 -* Update RMM includes from `` to `` by @bdice in https://github.com/nvidia/cuvs/pull/1538 -* Use ruff-check, ruff-format instead of black, flake8 by @KyleFromNVIDIA in https://github.com/nvidia/cuvs/pull/1500 -* Set memory pool from Python multi-GPU resource by @viclafargue in https://github.com/nvidia/cuvs/pull/1530 -* [Java] Fix format with spotless by @ldematte in https://github.com/nvidia/cuvs/pull/1539 -* fix bad version update by @trxcllnt in https://github.com/nvidia/cuvs/pull/1555 -* Deduplicate KMeans instantiations by @divyegala in https://github.com/nvidia/cuvs/pull/1565 -* Improve memory usage in `build_mr_linkage` by @jinsolp in https://github.com/nvidia/cuvs/pull/1550 -* Use `sccache-dist` build cluster for conda and wheel builds by @trxcllnt in https://github.com/nvidia/cuvs/pull/1495 -* [Java] One PinnedMemoryBuffer per CuVSResourcesImpl by @ldematte in https://github.com/nvidia/cuvs/pull/1441 -* [Java] Relax cuVS version matching by @ldematte in https://github.com/nvidia/cuvs/pull/1544 +* Update `RAPIDS_BRANCH`, codify changes in `update-version.sh` by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1368 +* Move eigen_solvers from raft by @aamijar in https://github.com/NVIDIA/cuvs/pull/1402 +* CosineExpanded Distance Metric for CAGRA by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/197 +* Enable `sccache-dist` connection pool by @trxcllnt in https://github.com/NVIDIA/cuvs/pull/1431 +* Use pinned_host_memory_resource instead of pinned_memory_resource. by @bdice in https://github.com/NVIDIA/cuvs/pull/1434 +* Use main in RAPIDS_BRANCH by @bdice in https://github.com/NVIDIA/cuvs/pull/1439 +* Use main shared-workflows branch by @bdice in https://github.com/NVIDIA/cuvs/pull/1444 +* [Review] ScaNN: Add option for AVQ/Noise Shaping to bfloat16 quantization by @rmaschal in https://github.com/NVIDIA/cuvs/pull/1354 +* Add NVTX annotations to CAGRA knn graph build stage by @achirkin in https://github.com/NVIDIA/cuvs/pull/1443 +* [Review][C] Export the ability to get/set the log level to the C API by @ldematte in https://github.com/NVIDIA/cuvs/pull/1375 +* [Java] Test indexing and serialization with integral (byte) dataset by @ldematte in https://github.com/NVIDIA/cuvs/pull/1366 +* Use SPDX for all copyright headers by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1446 +* [REVIEW][Java] Log level api by @ldematte in https://github.com/NVIDIA/cuvs/pull/1376 +* [Review] [Java] Disable flaky Java tests to reduce CI churn by @mythrocks in https://github.com/NVIDIA/cuvs/pull/1469 +* Refactor rapids_cpm_package_details to rapids_cpm_package_info by @bdice in https://github.com/NVIDIA/cuvs/pull/1433 +* Fix golang test name and add more logging and error checking. by @maxwbuckley in https://github.com/NVIDIA/cuvs/pull/1471 +* Use an explicit std::min for byte alignment calculation by @maxwbuckley in https://github.com/NVIDIA/cuvs/pull/1465 +* Replace custom cuda_pinned_resource with RMM's pinned_host_memory_resource by @bdice in https://github.com/NVIDIA/cuvs/pull/1466 +* Add patch for FAISS memory resources by @bdice in https://github.com/NVIDIA/cuvs/pull/1477 +* Improved CAGRA build parameter heuristics by @achirkin in https://github.com/NVIDIA/cuvs/pull/1448 +* Decouple C++ library from C library by @divyegala in https://github.com/NVIDIA/cuvs/pull/1488 +* Use `RAPIDS_BRANCH` in cmake-format invocations that need rapids-cmake configs by @bdice in https://github.com/NVIDIA/cuvs/pull/1475 +* eigen `tolerance` option Spectral Embedding by @aamijar in https://github.com/NVIDIA/cuvs/pull/1493 +* Update to CUDA 13.0.2 by @bdice in https://github.com/NVIDIA/cuvs/pull/1506 +* Single Linkage to Use all_neighbors API to build the KNN graph by @tarang-jain in https://github.com/NVIDIA/cuvs/pull/1507 +* Migrate to new CCCL memory resource interface by @bdice in https://github.com/NVIDIA/cuvs/pull/1502 +* Remove unused headers scann by @lowener in https://github.com/NVIDIA/cuvs/pull/1508 +* Update RMM includes from `` to `` by @bdice in https://github.com/NVIDIA/cuvs/pull/1538 +* Use ruff-check, ruff-format instead of black, flake8 by @KyleFromNVIDIA in https://github.com/NVIDIA/cuvs/pull/1500 +* Set memory pool from Python multi-GPU resource by @viclafargue in https://github.com/NVIDIA/cuvs/pull/1530 +* [Java] Fix format with spotless by @ldematte in https://github.com/NVIDIA/cuvs/pull/1539 +* fix bad version update by @trxcllnt in https://github.com/NVIDIA/cuvs/pull/1555 +* Deduplicate KMeans instantiations by @divyegala in https://github.com/NVIDIA/cuvs/pull/1565 +* Improve memory usage in `build_mr_linkage` by @jinsolp in https://github.com/NVIDIA/cuvs/pull/1550 +* Use `sccache-dist` build cluster for conda and wheel builds by @trxcllnt in https://github.com/NVIDIA/cuvs/pull/1495 +* [Java] One PinnedMemoryBuffer per CuVSResourcesImpl by @ldematte in https://github.com/NVIDIA/cuvs/pull/1441 +* [Java] Relax cuVS version matching by @ldematte in https://github.com/NVIDIA/cuvs/pull/1544 ## New Contributors -* @maxwbuckley made their first contribution in https://github.com/nvidia/cuvs/pull/1471 -* @rockhowse made their first contribution in https://github.com/nvidia/cuvs/pull/1535 +* @maxwbuckley made their first contribution in https://github.com/NVIDIA/cuvs/pull/1471 +* @rockhowse made their first contribution in https://github.com/NVIDIA/cuvs/pull/1535 -**Full Changelog**: https://github.com/nvidia/cuvs/compare/v25.12.00a...release/25.12 +**Full Changelog**: https://github.com/NVIDIA/cuvs/compare/v25.12.00a...release/25.12 # cuvs 25.10.00 (8 Oct 2025) ## 🚨 Breaking Changes -- [Java] Uniform toHost/toDevice to work across all CuVSMatrix classes ([#1328](https://github.com/nvidia/cuvs/pull/1328)) [@ldematte](https://github.com/ldematte) -- Use int64_t for getters in the cagra/ivf_flat c-api ([#1272](https://github.com/nvidia/cuvs/pull/1272)) [@benfred](https://github.com/benfred) -- [REVIEW][Java] Rename destroyIndex() to close(), extend AutoCloseable ([#1252](https://github.com/nvidia/cuvs/pull/1252)) [@ldematte](https://github.com/ldematte) -- Removing deprecated batching code specific to NN Descent ([#1249](https://github.com/nvidia/cuvs/pull/1249)) [@jinsolp](https://github.com/jinsolp) -- MG C API ([#1160](https://github.com/nvidia/cuvs/pull/1160)) [@viclafargue](https://github.com/viclafargue) +- [Java] Uniform toHost/toDevice to work across all CuVSMatrix classes ([#1328](https://github.com/NVIDIA/cuvs/pull/1328)) [@ldematte](https://github.com/ldematte) +- Use int64_t for getters in the cagra/ivf_flat c-api ([#1272](https://github.com/NVIDIA/cuvs/pull/1272)) [@benfred](https://github.com/benfred) +- [REVIEW][Java] Rename destroyIndex() to close(), extend AutoCloseable ([#1252](https://github.com/NVIDIA/cuvs/pull/1252)) [@ldematte](https://github.com/ldematte) +- Removing deprecated batching code specific to NN Descent ([#1249](https://github.com/NVIDIA/cuvs/pull/1249)) [@jinsolp](https://github.com/jinsolp) +- MG C API ([#1160](https://github.com/NVIDIA/cuvs/pull/1160)) [@viclafargue](https://github.com/viclafargue) ## 🐛 Bug Fixes -- Update `cpp/cmake/config.json` for `ConfigureTest()` ([#1385](https://github.com/nvidia/cuvs/pull/1385)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Fix k-means++ root rank race condition ([#1359](https://github.com/nvidia/cuvs/pull/1359)) [@csadorf](https://github.com/csadorf) -- Fix inadvertent uses of copy constructor in mdarrays across cuVS ([#1330](https://github.com/nvidia/cuvs/pull/1330)) [@achirkin](https://github.com/achirkin) -- Refactor CMakeLists to support static only builds of libcuvs ([#1317](https://github.com/nvidia/cuvs/pull/1317)) [@robertmaynard](https://github.com/robertmaynard) -- Fix pq_compressed file created by SSD Vamana build ([#1313](https://github.com/nvidia/cuvs/pull/1313)) [@bkarsin](https://github.com/bkarsin) -- Revert "[Java]Binary and scalar quantization ([#1104)" (#1274](https://github.com/nvidia/cuvs/pull/1104)" (#1274)) [@mythrocks](https://github.com/mythrocks) -- Fix balanced kmeans API ([#1268](https://github.com/nvidia/cuvs/pull/1268)) [@enp1s0](https://github.com/enp1s0) -- [BUG] NEIGHBORS_ALL_NEIGHBORS_TEST build ignores --no-mg ([#1230](https://github.com/nvidia/cuvs/pull/1230)) [@enp1s0](https://github.com/enp1s0) -- Add error handling for CPU-only bench ([#1203](https://github.com/nvidia/cuvs/pull/1203)) [@lowener](https://github.com/lowener) -- Make duplicate removal in all neighbors robust to distance drift across batches ([#1185](https://github.com/nvidia/cuvs/pull/1185)) [@jinsolp](https://github.com/jinsolp) -- Fix single GPU sharded search merge ([#1094](https://github.com/nvidia/cuvs/pull/1094)) [@viclafargue](https://github.com/viclafargue) -- Processing mutual reachability dist in connect_knn_graph for host data ([#1093](https://github.com/nvidia/cuvs/pull/1093)) [@jinsolp](https://github.com/jinsolp) -- [Java][Fix] Multithreaded querying fails without synchronization ([#1082](https://github.com/nvidia/cuvs/pull/1082)) [@chatman](https://github.com/chatman) +- Update `cpp/cmake/config.json` for `ConfigureTest()` ([#1385](https://github.com/NVIDIA/cuvs/pull/1385)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Fix k-means++ root rank race condition ([#1359](https://github.com/NVIDIA/cuvs/pull/1359)) [@csadorf](https://github.com/csadorf) +- Fix inadvertent uses of copy constructor in mdarrays across cuVS ([#1330](https://github.com/NVIDIA/cuvs/pull/1330)) [@achirkin](https://github.com/achirkin) +- Refactor CMakeLists to support static only builds of libcuvs ([#1317](https://github.com/NVIDIA/cuvs/pull/1317)) [@robertmaynard](https://github.com/robertmaynard) +- Fix pq_compressed file created by SSD Vamana build ([#1313](https://github.com/NVIDIA/cuvs/pull/1313)) [@bkarsin](https://github.com/bkarsin) +- Revert "[Java]Binary and scalar quantization ([#1104)" (#1274](https://github.com/NVIDIA/cuvs/pull/1104)" (#1274)) [@mythrocks](https://github.com/mythrocks) +- Fix balanced kmeans API ([#1268](https://github.com/NVIDIA/cuvs/pull/1268)) [@enp1s0](https://github.com/enp1s0) +- [BUG] NEIGHBORS_ALL_NEIGHBORS_TEST build ignores --no-mg ([#1230](https://github.com/NVIDIA/cuvs/pull/1230)) [@enp1s0](https://github.com/enp1s0) +- Add error handling for CPU-only bench ([#1203](https://github.com/NVIDIA/cuvs/pull/1203)) [@lowener](https://github.com/lowener) +- Make duplicate removal in all neighbors robust to distance drift across batches ([#1185](https://github.com/NVIDIA/cuvs/pull/1185)) [@jinsolp](https://github.com/jinsolp) +- Fix single GPU sharded search merge ([#1094](https://github.com/NVIDIA/cuvs/pull/1094)) [@viclafargue](https://github.com/viclafargue) +- Processing mutual reachability dist in connect_knn_graph for host data ([#1093](https://github.com/NVIDIA/cuvs/pull/1093)) [@jinsolp](https://github.com/jinsolp) +- [Java][Fix] Multithreaded querying fails without synchronization ([#1082](https://github.com/NVIDIA/cuvs/pull/1082)) [@chatman](https://github.com/chatman) ## 📖 Documentation -- Add Vamana C rst Docs to toctree ([#1399](https://github.com/nvidia/cuvs/pull/1399)) [@tarang-jain](https://github.com/tarang-jain) -- Regroup overloads in docs ([#1377](https://github.com/nvidia/cuvs/pull/1377)) [@lowener](https://github.com/lowener) -- [DOCS] Update IVF Docs with Supported Distance Metrics ([#1365](https://github.com/nvidia/cuvs/pull/1365)) [@tarang-jain](https://github.com/tarang-jain) -- Add note about Linux-only support for cuVS pre-compiled packages ([#1306](https://github.com/nvidia/cuvs/pull/1306)) [@stic](https://github.com/stic) -- Documentation Fixes ([#1301](https://github.com/nvidia/cuvs/pull/1301)) [@benfred](https://github.com/benfred) -- Docs for spectral embedding ([#1299](https://github.com/nvidia/cuvs/pull/1299)) [@aamijar](https://github.com/aamijar) -- Improve NN Descent documentation ([#1246](https://github.com/nvidia/cuvs/pull/1246)) [@jinsolp](https://github.com/jinsolp) -- Add NN.extend and kmeans to Python doc ([#1217](https://github.com/nvidia/cuvs/pull/1217)) [@lowener](https://github.com/lowener) +- Add Vamana C rst Docs to toctree ([#1399](https://github.com/NVIDIA/cuvs/pull/1399)) [@tarang-jain](https://github.com/tarang-jain) +- Regroup overloads in docs ([#1377](https://github.com/NVIDIA/cuvs/pull/1377)) [@lowener](https://github.com/lowener) +- [DOCS] Update IVF Docs with Supported Distance Metrics ([#1365](https://github.com/NVIDIA/cuvs/pull/1365)) [@tarang-jain](https://github.com/tarang-jain) +- Add note about Linux-only support for cuVS pre-compiled packages ([#1306](https://github.com/NVIDIA/cuvs/pull/1306)) [@stic](https://github.com/stic) +- Documentation Fixes ([#1301](https://github.com/NVIDIA/cuvs/pull/1301)) [@benfred](https://github.com/benfred) +- Docs for spectral embedding ([#1299](https://github.com/NVIDIA/cuvs/pull/1299)) [@aamijar](https://github.com/aamijar) +- Improve NN Descent documentation ([#1246](https://github.com/NVIDIA/cuvs/pull/1246)) [@jinsolp](https://github.com/jinsolp) +- Add NN.extend and kmeans to Python doc ([#1217](https://github.com/NVIDIA/cuvs/pull/1217)) [@lowener](https://github.com/lowener) ## 🚀 New Features -- [REVIEW] [Java] Option to build fat-jars with native dependencies included ([#1296](https://github.com/nvidia/cuvs/pull/1296)) [@mythrocks](https://github.com/mythrocks) -- Updates needed when building with CUDA 13 ([#1219](https://github.com/nvidia/cuvs/pull/1219)) [@robertmaynard](https://github.com/robertmaynard) -- [Java] Add CAGRA index graph accessor/build from graph (host memory) ([#1216](https://github.com/nvidia/cuvs/pull/1216)) [@ldematte](https://github.com/ldematte) -- [Feat] Add Dockerfile for reproducible installation ([#1195](https://github.com/nvidia/cuvs/pull/1195)) [@rhdong](https://github.com/rhdong) -- Vamana C / Python API ([#1112](https://github.com/nvidia/cuvs/pull/1112)) [@tarang-jain](https://github.com/tarang-jain) -- Mutual Reachability in all-neighbors API ([#1016](https://github.com/nvidia/cuvs/pull/1016)) [@jinsolp](https://github.com/jinsolp) -- CAGRA Build + DiskANN Search cuvs-bench Wrapper ([#899](https://github.com/nvidia/cuvs/pull/899)) [@tarang-jain](https://github.com/tarang-jain) +- [REVIEW] [Java] Option to build fat-jars with native dependencies included ([#1296](https://github.com/NVIDIA/cuvs/pull/1296)) [@mythrocks](https://github.com/mythrocks) +- Updates needed when building with CUDA 13 ([#1219](https://github.com/NVIDIA/cuvs/pull/1219)) [@robertmaynard](https://github.com/robertmaynard) +- [Java] Add CAGRA index graph accessor/build from graph (host memory) ([#1216](https://github.com/NVIDIA/cuvs/pull/1216)) [@ldematte](https://github.com/ldematte) +- [Feat] Add Dockerfile for reproducible installation ([#1195](https://github.com/NVIDIA/cuvs/pull/1195)) [@rhdong](https://github.com/rhdong) +- Vamana C / Python API ([#1112](https://github.com/NVIDIA/cuvs/pull/1112)) [@tarang-jain](https://github.com/tarang-jain) +- Mutual Reachability in all-neighbors API ([#1016](https://github.com/NVIDIA/cuvs/pull/1016)) [@jinsolp](https://github.com/jinsolp) +- CAGRA Build + DiskANN Search cuvs-bench Wrapper ([#899](https://github.com/NVIDIA/cuvs/pull/899)) [@tarang-jain](https://github.com/tarang-jain) ## 🛠️ Improvements -- Patch FAISS for missing Thrust includes ([#1398](https://github.com/nvidia/cuvs/pull/1398)) [@bdice](https://github.com/bdice) -- Empty commit to trigger a build ([#1363](https://github.com/nvidia/cuvs/pull/1363)) [@msarahan](https://github.com/msarahan) -- [Review][Java] Refactor: extract interface from CuVSMatrixBaseImpl ([#1361](https://github.com/nvidia/cuvs/pull/1361)) [@ldematte](https://github.com/ldematte) -- use CUDA 13.0.1 CI images ([#1353](https://github.com/nvidia/cuvs/pull/1353)) [@jameslamb](https://github.com/jameslamb) -- Treat warnings as errors in doc builds + MG ANNs Python API doc update ([#1350](https://github.com/nvidia/cuvs/pull/1350)) [@viclafargue](https://github.com/viclafargue) -- [Java] Support row strides in CuVSMatrix ([#1345](https://github.com/nvidia/cuvs/pull/1345)) [@ldematte](https://github.com/ldematte) -- [Java] Adding tests to use CuVSDeviceMatrix (device memory) directly as a CagraIndex input dataset ([#1340](https://github.com/nvidia/cuvs/pull/1340)) [@ldematte](https://github.com/ldematte) -- Improve performance of assigning clusters in batched all_neighbors ([#1336](https://github.com/nvidia/cuvs/pull/1336)) [@jinsolp](https://github.com/jinsolp) -- Configure repo for automatic release notes generation ([#1334](https://github.com/nvidia/cuvs/pull/1334)) [@AyodeAwe](https://github.com/AyodeAwe) -- [Java] Buffered device matrix builder ([#1332](https://github.com/nvidia/cuvs/pull/1332)) [@ldematte](https://github.com/ldematte) -- Remove UCX-Py/UCXX from release script ([#1331](https://github.com/nvidia/cuvs/pull/1331)) [@pentschev](https://github.com/pentschev) -- [Java] Uniform toHost/toDevice to work across all CuVSMatrix classes ([#1328](https://github.com/nvidia/cuvs/pull/1328)) [@ldematte](https://github.com/ldematte) -- [Java] Add `libcuvs` <-> cuvs-java version check ([#1327](https://github.com/nvidia/cuvs/pull/1327)) [@ldematte](https://github.com/ldematte) -- update dependencies: use cuda-toolkit wheels ([#1326](https://github.com/nvidia/cuvs/pull/1326)) [@jameslamb](https://github.com/jameslamb) -- Add cagra.extend bindings for python ([#1324](https://github.com/nvidia/cuvs/pull/1324)) [@benfred](https://github.com/benfred) -- [Java] Make `cudaGetDeviceProperties` compatible with CUDA 12 and 13 based on symbol presence ([#1323](https://github.com/nvidia/cuvs/pull/1323)) [@ldematte](https://github.com/ldematte) -- Use branch-25.10 again ([#1319](https://github.com/nvidia/cuvs/pull/1319)) [@jameslamb](https://github.com/jameslamb) -- [Review][Java] Add detailed error message for `libcuvs` load failure to UnsupportedProvider/UnsupportedOperationExceptions ([#1316](https://github.com/nvidia/cuvs/pull/1316)) [@ldematte](https://github.com/ldematte) -- [Java] Add reason(s) to UnsupportedProvider/UnsupportedOperationExceptions ([#1314](https://github.com/nvidia/cuvs/pull/1314)) [@ldematte](https://github.com/ldematte) -- MG Python API ([#1307](https://github.com/nvidia/cuvs/pull/1307)) [@viclafargue](https://github.com/viclafargue) -- Fix redundant memset ([#1305](https://github.com/nvidia/cuvs/pull/1305)) [@vinaydes](https://github.com/vinaydes) -- Expose pq-centers to C and Python ([#1303](https://github.com/nvidia/cuvs/pull/1303)) [@benfred](https://github.com/benfred) -- Port `raft::neighbors::epsilon_neighborhood` to cuvs ([#1294](https://github.com/nvidia/cuvs/pull/1294)) [@aamijar](https://github.com/aamijar) -- ScaNN: Overlapped gather for AVQ ([#1286](https://github.com/nvidia/cuvs/pull/1286)) [@rmaschal](https://github.com/rmaschal) -- Update rapids-dependency-file-generator ([#1285](https://github.com/nvidia/cuvs/pull/1285)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- [Review][Java] Expand `CagraIndex#search` to accept more types (int8 and int32) ([#1283](https://github.com/nvidia/cuvs/pull/1283)) [@ldematte](https://github.com/ldematte) -- All neighbors C and Python bindings ([#1282](https://github.com/nvidia/cuvs/pull/1282)) [@viclafargue](https://github.com/viclafargue) -- Build and test with CUDA 13.0.0 ([#1273](https://github.com/nvidia/cuvs/pull/1273)) [@jameslamb](https://github.com/jameslamb) -- Use int64_t for getters in the cagra/ivf_flat c-api ([#1272](https://github.com/nvidia/cuvs/pull/1272)) [@benfred](https://github.com/benfred) -- [Java][C] Expose GPUInfo ([#1267](https://github.com/nvidia/cuvs/pull/1267)) [@ldematte](https://github.com/ldematte) -- Add rust bindings for kmeans ([#1266](https://github.com/nvidia/cuvs/pull/1266)) [@benfred](https://github.com/benfred) -- [REVIEW] Add a public API for CAGRA graph optimize ([#1260](https://github.com/nvidia/cuvs/pull/1260)) [@abc99lr](https://github.com/abc99lr) -- Fix debug build ([#1258](https://github.com/nvidia/cuvs/pull/1258)) [@lowener](https://github.com/lowener) -- Run `cargo fmt` in the pre-commit hooks ([#1255](https://github.com/nvidia/cuvs/pull/1255)) [@benfred](https://github.com/benfred) -- [REVIEW][Java] Rename destroyIndex() to close(), extend AutoCloseable ([#1252](https://github.com/nvidia/cuvs/pull/1252)) [@ldematte](https://github.com/ldematte) -- Removing deprecated batching code specific to NN Descent ([#1249](https://github.com/nvidia/cuvs/pull/1249)) [@jinsolp](https://github.com/jinsolp) -- Pin Latest Faiss Version ([#1247](https://github.com/nvidia/cuvs/pull/1247)) [@tarang-jain](https://github.com/tarang-jain) -- Use build cluster in devcontainers ([#1240](https://github.com/nvidia/cuvs/pull/1240)) [@trxcllnt](https://github.com/trxcllnt) -- Use rapids_cuda_enable_fatbin_compression ([#1239](https://github.com/nvidia/cuvs/pull/1239)) [@robertmaynard](https://github.com/robertmaynard) -- [Improvement] Replace Calls to thrust::transform with raft::linalg ([#1238](https://github.com/nvidia/cuvs/pull/1238)) [@tarang-jain](https://github.com/tarang-jain) -- [Java] CuVSMatrix for device memory ([#1232](https://github.com/nvidia/cuvs/pull/1232)) [@ldematte](https://github.com/ldematte) -- Drop log level for CAGRA trace messages ([#1229](https://github.com/nvidia/cuvs/pull/1229)) [@mythrocks](https://github.com/mythrocks) -- Update rapids_config to handle user defined branch name ([#1227](https://github.com/nvidia/cuvs/pull/1227)) [@robertmaynard](https://github.com/robertmaynard) -- Reduce noise in Java tests ([#1226](https://github.com/nvidia/cuvs/pull/1226)) [@mythrocks](https://github.com/mythrocks) -- Update another instance of rapids-build-backend ([#1225](https://github.com/nvidia/cuvs/pull/1225)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Fix missing sync_stream in ScaNN build ([#1224](https://github.com/nvidia/cuvs/pull/1224)) [@rmaschal](https://github.com/rmaschal) -- [Java] Exception-safe RMM Allocations ([#1215](https://github.com/nvidia/cuvs/pull/1215)) [@mythrocks](https://github.com/mythrocks) -- Update rapids-build-backend to 0.4.1 ([#1214](https://github.com/nvidia/cuvs/pull/1214)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Removing filter templates in ivfpq for binary size reduction ([#1211](https://github.com/nvidia/cuvs/pull/1211)) [@jinsolp](https://github.com/jinsolp) -- ci(labeler): update labeler action to [@v5 ([#1210](https://github.com/nvidia/cuvs/pull/1210)) @gforsyth](https://github.com/v5 ([#1210](https://github.com/nvidia/cuvs/pull/1210)) @gforsyth) -- [Java] Add decorator for synchronized CuVSResource access ([#1209](https://github.com/nvidia/cuvs/pull/1209)) [@ldematte](https://github.com/ldematte) -- Remove unused templated instances ([#1204](https://github.com/nvidia/cuvs/pull/1204)) [@vinaydes](https://github.com/vinaydes) -- Spectral Embedding precomputed graph api ([#1197](https://github.com/nvidia/cuvs/pull/1197)) [@aamijar](https://github.com/aamijar) -- cuvs RAPIDS dependency now use the new rapids-cmake branch info ([#1189](https://github.com/nvidia/cuvs/pull/1189)) [@robertmaynard](https://github.com/robertmaynard) -- Allow latest OS in devcontainers ([#1169](https://github.com/nvidia/cuvs/pull/1169)) [@bdice](https://github.com/bdice) -- MG C API ([#1160](https://github.com/nvidia/cuvs/pull/1160)) [@viclafargue](https://github.com/viclafargue) -- Merge support for tiered index ([#1155](https://github.com/nvidia/cuvs/pull/1155)) [@benfred](https://github.com/benfred) -- Update build infra to support new branching strategy ([#1143](https://github.com/nvidia/cuvs/pull/1143)) [@robertmaynard](https://github.com/robertmaynard) -- [Java]Binary and scalar quantization ([#1104](https://github.com/nvidia/cuvs/pull/1104)) [@punAhuja](https://github.com/punAhuja) -- Improve Vamana index build performance and recall ([#1032](https://github.com/nvidia/cuvs/pull/1032)) [@bkarsin](https://github.com/bkarsin) -- Use GCC 14 in conda builds. ([#1030](https://github.com/nvidia/cuvs/pull/1030)) [@vyasr](https://github.com/vyasr) -- Update SNMG ANN API testing ([#1023](https://github.com/nvidia/cuvs/pull/1023)) [@viclafargue](https://github.com/viclafargue) +- Patch FAISS for missing Thrust includes ([#1398](https://github.com/NVIDIA/cuvs/pull/1398)) [@bdice](https://github.com/bdice) +- Empty commit to trigger a build ([#1363](https://github.com/NVIDIA/cuvs/pull/1363)) [@msarahan](https://github.com/msarahan) +- [Review][Java] Refactor: extract interface from CuVSMatrixBaseImpl ([#1361](https://github.com/NVIDIA/cuvs/pull/1361)) [@ldematte](https://github.com/ldematte) +- use CUDA 13.0.1 CI images ([#1353](https://github.com/NVIDIA/cuvs/pull/1353)) [@jameslamb](https://github.com/jameslamb) +- Treat warnings as errors in doc builds + MG ANNs Python API doc update ([#1350](https://github.com/NVIDIA/cuvs/pull/1350)) [@viclafargue](https://github.com/viclafargue) +- [Java] Support row strides in CuVSMatrix ([#1345](https://github.com/NVIDIA/cuvs/pull/1345)) [@ldematte](https://github.com/ldematte) +- [Java] Adding tests to use CuVSDeviceMatrix (device memory) directly as a CagraIndex input dataset ([#1340](https://github.com/NVIDIA/cuvs/pull/1340)) [@ldematte](https://github.com/ldematte) +- Improve performance of assigning clusters in batched all_neighbors ([#1336](https://github.com/NVIDIA/cuvs/pull/1336)) [@jinsolp](https://github.com/jinsolp) +- Configure repo for automatic release notes generation ([#1334](https://github.com/NVIDIA/cuvs/pull/1334)) [@AyodeAwe](https://github.com/AyodeAwe) +- [Java] Buffered device matrix builder ([#1332](https://github.com/NVIDIA/cuvs/pull/1332)) [@ldematte](https://github.com/ldematte) +- Remove UCX-Py/UCXX from release script ([#1331](https://github.com/NVIDIA/cuvs/pull/1331)) [@pentschev](https://github.com/pentschev) +- [Java] Uniform toHost/toDevice to work across all CuVSMatrix classes ([#1328](https://github.com/NVIDIA/cuvs/pull/1328)) [@ldematte](https://github.com/ldematte) +- [Java] Add `libcuvs` <-> cuvs-java version check ([#1327](https://github.com/NVIDIA/cuvs/pull/1327)) [@ldematte](https://github.com/ldematte) +- update dependencies: use cuda-toolkit wheels ([#1326](https://github.com/NVIDIA/cuvs/pull/1326)) [@jameslamb](https://github.com/jameslamb) +- Add cagra.extend bindings for python ([#1324](https://github.com/NVIDIA/cuvs/pull/1324)) [@benfred](https://github.com/benfred) +- [Java] Make `cudaGetDeviceProperties` compatible with CUDA 12 and 13 based on symbol presence ([#1323](https://github.com/NVIDIA/cuvs/pull/1323)) [@ldematte](https://github.com/ldematte) +- Use branch-25.10 again ([#1319](https://github.com/NVIDIA/cuvs/pull/1319)) [@jameslamb](https://github.com/jameslamb) +- [Review][Java] Add detailed error message for `libcuvs` load failure to UnsupportedProvider/UnsupportedOperationExceptions ([#1316](https://github.com/NVIDIA/cuvs/pull/1316)) [@ldematte](https://github.com/ldematte) +- [Java] Add reason(s) to UnsupportedProvider/UnsupportedOperationExceptions ([#1314](https://github.com/NVIDIA/cuvs/pull/1314)) [@ldematte](https://github.com/ldematte) +- MG Python API ([#1307](https://github.com/NVIDIA/cuvs/pull/1307)) [@viclafargue](https://github.com/viclafargue) +- Fix redundant memset ([#1305](https://github.com/NVIDIA/cuvs/pull/1305)) [@vinaydes](https://github.com/vinaydes) +- Expose pq-centers to C and Python ([#1303](https://github.com/NVIDIA/cuvs/pull/1303)) [@benfred](https://github.com/benfred) +- Port `raft::neighbors::epsilon_neighborhood` to cuvs ([#1294](https://github.com/NVIDIA/cuvs/pull/1294)) [@aamijar](https://github.com/aamijar) +- ScaNN: Overlapped gather for AVQ ([#1286](https://github.com/NVIDIA/cuvs/pull/1286)) [@rmaschal](https://github.com/rmaschal) +- Update rapids-dependency-file-generator ([#1285](https://github.com/NVIDIA/cuvs/pull/1285)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- [Review][Java] Expand `CagraIndex#search` to accept more types (int8 and int32) ([#1283](https://github.com/NVIDIA/cuvs/pull/1283)) [@ldematte](https://github.com/ldematte) +- All neighbors C and Python bindings ([#1282](https://github.com/NVIDIA/cuvs/pull/1282)) [@viclafargue](https://github.com/viclafargue) +- Build and test with CUDA 13.0.0 ([#1273](https://github.com/NVIDIA/cuvs/pull/1273)) [@jameslamb](https://github.com/jameslamb) +- Use int64_t for getters in the cagra/ivf_flat c-api ([#1272](https://github.com/NVIDIA/cuvs/pull/1272)) [@benfred](https://github.com/benfred) +- [Java][C] Expose GPUInfo ([#1267](https://github.com/NVIDIA/cuvs/pull/1267)) [@ldematte](https://github.com/ldematte) +- Add rust bindings for kmeans ([#1266](https://github.com/NVIDIA/cuvs/pull/1266)) [@benfred](https://github.com/benfred) +- [REVIEW] Add a public API for CAGRA graph optimize ([#1260](https://github.com/NVIDIA/cuvs/pull/1260)) [@abc99lr](https://github.com/abc99lr) +- Fix debug build ([#1258](https://github.com/NVIDIA/cuvs/pull/1258)) [@lowener](https://github.com/lowener) +- Run `cargo fmt` in the pre-commit hooks ([#1255](https://github.com/NVIDIA/cuvs/pull/1255)) [@benfred](https://github.com/benfred) +- [REVIEW][Java] Rename destroyIndex() to close(), extend AutoCloseable ([#1252](https://github.com/NVIDIA/cuvs/pull/1252)) [@ldematte](https://github.com/ldematte) +- Removing deprecated batching code specific to NN Descent ([#1249](https://github.com/NVIDIA/cuvs/pull/1249)) [@jinsolp](https://github.com/jinsolp) +- Pin Latest Faiss Version ([#1247](https://github.com/NVIDIA/cuvs/pull/1247)) [@tarang-jain](https://github.com/tarang-jain) +- Use build cluster in devcontainers ([#1240](https://github.com/NVIDIA/cuvs/pull/1240)) [@trxcllnt](https://github.com/trxcllnt) +- Use rapids_cuda_enable_fatbin_compression ([#1239](https://github.com/NVIDIA/cuvs/pull/1239)) [@robertmaynard](https://github.com/robertmaynard) +- [Improvement] Replace Calls to thrust::transform with raft::linalg ([#1238](https://github.com/NVIDIA/cuvs/pull/1238)) [@tarang-jain](https://github.com/tarang-jain) +- [Java] CuVSMatrix for device memory ([#1232](https://github.com/NVIDIA/cuvs/pull/1232)) [@ldematte](https://github.com/ldematte) +- Drop log level for CAGRA trace messages ([#1229](https://github.com/NVIDIA/cuvs/pull/1229)) [@mythrocks](https://github.com/mythrocks) +- Update rapids_config to handle user defined branch name ([#1227](https://github.com/NVIDIA/cuvs/pull/1227)) [@robertmaynard](https://github.com/robertmaynard) +- Reduce noise in Java tests ([#1226](https://github.com/NVIDIA/cuvs/pull/1226)) [@mythrocks](https://github.com/mythrocks) +- Update another instance of rapids-build-backend ([#1225](https://github.com/NVIDIA/cuvs/pull/1225)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Fix missing sync_stream in ScaNN build ([#1224](https://github.com/NVIDIA/cuvs/pull/1224)) [@rmaschal](https://github.com/rmaschal) +- [Java] Exception-safe RMM Allocations ([#1215](https://github.com/NVIDIA/cuvs/pull/1215)) [@mythrocks](https://github.com/mythrocks) +- Update rapids-build-backend to 0.4.1 ([#1214](https://github.com/NVIDIA/cuvs/pull/1214)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Removing filter templates in ivfpq for binary size reduction ([#1211](https://github.com/NVIDIA/cuvs/pull/1211)) [@jinsolp](https://github.com/jinsolp) +- ci(labeler): update labeler action to [@v5 ([#1210](https://github.com/NVIDIA/cuvs/pull/1210)) @gforsyth](https://github.com/v5 ([#1210](https://github.com/NVIDIA/cuvs/pull/1210)) @gforsyth) +- [Java] Add decorator for synchronized CuVSResource access ([#1209](https://github.com/NVIDIA/cuvs/pull/1209)) [@ldematte](https://github.com/ldematte) +- Remove unused templated instances ([#1204](https://github.com/NVIDIA/cuvs/pull/1204)) [@vinaydes](https://github.com/vinaydes) +- Spectral Embedding precomputed graph api ([#1197](https://github.com/NVIDIA/cuvs/pull/1197)) [@aamijar](https://github.com/aamijar) +- cuvs RAPIDS dependency now use the new rapids-cmake branch info ([#1189](https://github.com/NVIDIA/cuvs/pull/1189)) [@robertmaynard](https://github.com/robertmaynard) +- Allow latest OS in devcontainers ([#1169](https://github.com/NVIDIA/cuvs/pull/1169)) [@bdice](https://github.com/bdice) +- MG C API ([#1160](https://github.com/NVIDIA/cuvs/pull/1160)) [@viclafargue](https://github.com/viclafargue) +- Merge support for tiered index ([#1155](https://github.com/NVIDIA/cuvs/pull/1155)) [@benfred](https://github.com/benfred) +- Update build infra to support new branching strategy ([#1143](https://github.com/NVIDIA/cuvs/pull/1143)) [@robertmaynard](https://github.com/robertmaynard) +- [Java]Binary and scalar quantization ([#1104](https://github.com/NVIDIA/cuvs/pull/1104)) [@punAhuja](https://github.com/punAhuja) +- Improve Vamana index build performance and recall ([#1032](https://github.com/NVIDIA/cuvs/pull/1032)) [@bkarsin](https://github.com/bkarsin) +- Use GCC 14 in conda builds. ([#1030](https://github.com/NVIDIA/cuvs/pull/1030)) [@vyasr](https://github.com/vyasr) +- Update SNMG ANN API testing ([#1023](https://github.com/NVIDIA/cuvs/pull/1023)) [@viclafargue](https://github.com/viclafargue) # cuvs 25.08.00 (6 Aug 2025) ## 🚨 Breaking Changes -- [Java] Using functions for mapping ([#1007](https://github.com/nvidia/cuvs/pull/1007)) [@ldematte](https://github.com/ldematte) -- Remove CUDA 11 from dependencies.yaml ([#962](https://github.com/nvidia/cuvs/pull/962)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Common knn graph build params ([#949](https://github.com/nvidia/cuvs/pull/949)) [@jinsolp](https://github.com/jinsolp) -- stop uploading packages to downloads.rapids.ai ([#940](https://github.com/nvidia/cuvs/pull/940)) [@jameslamb](https://github.com/jameslamb) +- [Java] Using functions for mapping ([#1007](https://github.com/NVIDIA/cuvs/pull/1007)) [@ldematte](https://github.com/ldematte) +- Remove CUDA 11 from dependencies.yaml ([#962](https://github.com/NVIDIA/cuvs/pull/962)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Common knn graph build params ([#949](https://github.com/NVIDIA/cuvs/pull/949)) [@jinsolp](https://github.com/jinsolp) +- stop uploading packages to downloads.rapids.ai ([#940](https://github.com/NVIDIA/cuvs/pull/940)) [@jameslamb](https://github.com/jameslamb) ## 🐛 Bug Fixes -- [BUG] Fix Large Batch Preprocessing for NN Descent ([#1166](https://github.com/nvidia/cuvs/pull/1166)) [@tarang-jain](https://github.com/tarang-jain) -- Fix TieredIndexIT, Scoped resource access change was missed ([#1156](https://github.com/nvidia/cuvs/pull/1156)) [@punAhuja](https://github.com/punAhuja) -- Fix for `hellinger` metric ([#1128](https://github.com/nvidia/cuvs/pull/1128)) [@viclafargue](https://github.com/viclafargue) -- Fix go CI failures ([#1114](https://github.com/nvidia/cuvs/pull/1114)) [@benfred](https://github.com/benfred) -- Conditionally post process distances in NN Descent for use with distance epilogue ([#1108](https://github.com/nvidia/cuvs/pull/1108)) [@jinsolp](https://github.com/jinsolp) -- [BUG] Disable flaky cpp test `AnnIVFFlatTestF_half.AnnIVFFlat/21` ([#1092](https://github.com/nvidia/cuvs/pull/1092)) [@julianmi](https://github.com/julianmi) -- [BUG] Fix device access check in build_sorted_mst ([#1083](https://github.com/nvidia/cuvs/pull/1083)) [@tarang-jain](https://github.com/tarang-jain) -- Pin Faiss Version to Last Stable Release ([#1029](https://github.com/nvidia/cuvs/pull/1029)) [@tarang-jain](https://github.com/tarang-jain) -- Fix verify-copyright precommit hook ([#1017](https://github.com/nvidia/cuvs/pull/1017)) [@benfred](https://github.com/benfred) -- Adding GH_TOKEN pass-through to summarize job ([#1011](https://github.com/nvidia/cuvs/pull/1011)) [@msarahan](https://github.com/msarahan) -- Reuse `<version_config.h>` instead of separate version constants in `c_api.h` ([#1003](https://github.com/nvidia/cuvs/pull/1003)) [@mythrocks](https://github.com/mythrocks) -- IVF-PQ coarse search: fix integer overflow and avoid excessive batch sizes ([#999](https://github.com/nvidia/cuvs/pull/999)) [@achirkin](https://github.com/achirkin) -- Fix C compile error in `tiered_index.h` ([#996](https://github.com/nvidia/cuvs/pull/996)) [@mythrocks](https://github.com/mythrocks) -- Fix for NN Descent negative or NaN distances ([#994](https://github.com/nvidia/cuvs/pull/994)) [@jinsolp](https://github.com/jinsolp) -- Adding int64 search for MG CAGRA ([#975](https://github.com/nvidia/cuvs/pull/975)) [@viclafargue](https://github.com/viclafargue) -- [ANN_BENCH] Fix OpenMP Sections in Wrappers ([#911](https://github.com/nvidia/cuvs/pull/911)) [@tarang-jain](https://github.com/tarang-jain) -- [BUG] cuvs-bench data_export fixes ([#863](https://github.com/nvidia/cuvs/pull/863)) [@tarang-jain](https://github.com/tarang-jain) +- [BUG] Fix Large Batch Preprocessing for NN Descent ([#1166](https://github.com/NVIDIA/cuvs/pull/1166)) [@tarang-jain](https://github.com/tarang-jain) +- Fix TieredIndexIT, Scoped resource access change was missed ([#1156](https://github.com/NVIDIA/cuvs/pull/1156)) [@punAhuja](https://github.com/punAhuja) +- Fix for `hellinger` metric ([#1128](https://github.com/NVIDIA/cuvs/pull/1128)) [@viclafargue](https://github.com/viclafargue) +- Fix go CI failures ([#1114](https://github.com/NVIDIA/cuvs/pull/1114)) [@benfred](https://github.com/benfred) +- Conditionally post process distances in NN Descent for use with distance epilogue ([#1108](https://github.com/NVIDIA/cuvs/pull/1108)) [@jinsolp](https://github.com/jinsolp) +- [BUG] Disable flaky cpp test `AnnIVFFlatTestF_half.AnnIVFFlat/21` ([#1092](https://github.com/NVIDIA/cuvs/pull/1092)) [@julianmi](https://github.com/julianmi) +- [BUG] Fix device access check in build_sorted_mst ([#1083](https://github.com/NVIDIA/cuvs/pull/1083)) [@tarang-jain](https://github.com/tarang-jain) +- Pin Faiss Version to Last Stable Release ([#1029](https://github.com/NVIDIA/cuvs/pull/1029)) [@tarang-jain](https://github.com/tarang-jain) +- Fix verify-copyright precommit hook ([#1017](https://github.com/NVIDIA/cuvs/pull/1017)) [@benfred](https://github.com/benfred) +- Adding GH_TOKEN pass-through to summarize job ([#1011](https://github.com/NVIDIA/cuvs/pull/1011)) [@msarahan](https://github.com/msarahan) +- Reuse `<version_config.h>` instead of separate version constants in `c_api.h` ([#1003](https://github.com/NVIDIA/cuvs/pull/1003)) [@mythrocks](https://github.com/mythrocks) +- IVF-PQ coarse search: fix integer overflow and avoid excessive batch sizes ([#999](https://github.com/NVIDIA/cuvs/pull/999)) [@achirkin](https://github.com/achirkin) +- Fix C compile error in `tiered_index.h` ([#996](https://github.com/NVIDIA/cuvs/pull/996)) [@mythrocks](https://github.com/mythrocks) +- Fix for NN Descent negative or NaN distances ([#994](https://github.com/NVIDIA/cuvs/pull/994)) [@jinsolp](https://github.com/jinsolp) +- Adding int64 search for MG CAGRA ([#975](https://github.com/NVIDIA/cuvs/pull/975)) [@viclafargue](https://github.com/viclafargue) +- [ANN_BENCH] Fix OpenMP Sections in Wrappers ([#911](https://github.com/NVIDIA/cuvs/pull/911)) [@tarang-jain](https://github.com/tarang-jain) +- [BUG] cuvs-bench data_export fixes ([#863](https://github.com/NVIDIA/cuvs/pull/863)) [@tarang-jain](https://github.com/tarang-jain) ## 📖 Documentation -- [ANN_BENCH] [DOCS] Add Vamana / DiskANN to cuvs-bench Docs ([#1164](https://github.com/nvidia/cuvs/pull/1164)) [@tarang-jain](https://github.com/tarang-jain) -- Add Golang build instructions to build.rst ([#1116](https://github.com/nvidia/cuvs/pull/1116)) [@mythrocks](https://github.com/mythrocks) -- Minor correction for Java test instructions ([#1081](https://github.com/nvidia/cuvs/pull/1081)) [@mythrocks](https://github.com/mythrocks) -- add docs on CI workflow inputs ([#1075](https://github.com/nvidia/cuvs/pull/1075)) [@jameslamb](https://github.com/jameslamb) -- [REVIEW][Java] Add instructions on how to run a single test ([#1004](https://github.com/nvidia/cuvs/pull/1004)) [@ldematte](https://github.com/ldematte) +- [ANN_BENCH] [DOCS] Add Vamana / DiskANN to cuvs-bench Docs ([#1164](https://github.com/NVIDIA/cuvs/pull/1164)) [@tarang-jain](https://github.com/tarang-jain) +- Add Golang build instructions to build.rst ([#1116](https://github.com/NVIDIA/cuvs/pull/1116)) [@mythrocks](https://github.com/mythrocks) +- Minor correction for Java test instructions ([#1081](https://github.com/NVIDIA/cuvs/pull/1081)) [@mythrocks](https://github.com/mythrocks) +- add docs on CI workflow inputs ([#1075](https://github.com/NVIDIA/cuvs/pull/1075)) [@jameslamb](https://github.com/jameslamb) +- [REVIEW][Java] Add instructions on how to run a single test ([#1004](https://github.com/NVIDIA/cuvs/pull/1004)) [@ldematte](https://github.com/ldematte) ## 🚀 New Features -- Binary CAGRA with NN Descent ([#1133](https://github.com/nvidia/cuvs/pull/1133)) [@tarang-jain](https://github.com/tarang-jain) -- CAGRA build heuristics for HNSW ([#1125](https://github.com/nvidia/cuvs/pull/1125)) [@achirkin](https://github.com/achirkin) -- BitwiseHamming distance for NN Descent ([#1101](https://github.com/nvidia/cuvs/pull/1101)) [@jinsolp](https://github.com/jinsolp) -- `ReachabilityPostProcess` distance epilogue for NN Descent ([#1073](https://github.com/nvidia/cuvs/pull/1073)) [@jinsolp](https://github.com/jinsolp) -- Add brute force to `all_neighbors` API ([#1062](https://github.com/nvidia/cuvs/pull/1062)) [@jinsolp](https://github.com/jinsolp) -- [Java] Support for tiered index ([#1028](https://github.com/nvidia/cuvs/pull/1028)) [@punAhuja](https://github.com/punAhuja) -- Enable `build_sorted_mst` with data on host memory ([#997](https://github.com/nvidia/cuvs/pull/997)) [@jinsolp](https://github.com/jinsolp) -- Add C-API method to fetch cuVS version from Java. ([#935](https://github.com/nvidia/cuvs/pull/935)) [@mythrocks](https://github.com/mythrocks) -- Spectral Embedding ([#871](https://github.com/nvidia/cuvs/pull/871)) [@aamijar](https://github.com/aamijar) -- [FEA] Build Single Linkage API ([#820](https://github.com/nvidia/cuvs/pull/820)) [@tarang-jain](https://github.com/tarang-jain) +- Binary CAGRA with NN Descent ([#1133](https://github.com/NVIDIA/cuvs/pull/1133)) [@tarang-jain](https://github.com/tarang-jain) +- CAGRA build heuristics for HNSW ([#1125](https://github.com/NVIDIA/cuvs/pull/1125)) [@achirkin](https://github.com/achirkin) +- BitwiseHamming distance for NN Descent ([#1101](https://github.com/NVIDIA/cuvs/pull/1101)) [@jinsolp](https://github.com/jinsolp) +- `ReachabilityPostProcess` distance epilogue for NN Descent ([#1073](https://github.com/NVIDIA/cuvs/pull/1073)) [@jinsolp](https://github.com/jinsolp) +- Add brute force to `all_neighbors` API ([#1062](https://github.com/NVIDIA/cuvs/pull/1062)) [@jinsolp](https://github.com/jinsolp) +- [Java] Support for tiered index ([#1028](https://github.com/NVIDIA/cuvs/pull/1028)) [@punAhuja](https://github.com/punAhuja) +- Enable `build_sorted_mst` with data on host memory ([#997](https://github.com/NVIDIA/cuvs/pull/997)) [@jinsolp](https://github.com/jinsolp) +- Add C-API method to fetch cuVS version from Java. ([#935](https://github.com/NVIDIA/cuvs/pull/935)) [@mythrocks](https://github.com/mythrocks) +- Spectral Embedding ([#871](https://github.com/NVIDIA/cuvs/pull/871)) [@aamijar](https://github.com/aamijar) +- [FEA] Build Single Linkage API ([#820](https://github.com/NVIDIA/cuvs/pull/820)) [@tarang-jain](https://github.com/tarang-jain) ## 🛠️ Improvements -- Check shape is initialized in cuvsMatrixSliceRows ([#1193](https://github.com/nvidia/cuvs/pull/1193)) [@benfred](https://github.com/benfred) -- Add error checking for our C example code ([#1171](https://github.com/nvidia/cuvs/pull/1171)) [@benfred](https://github.com/benfred) -- Removing all references to CUDA 11 from codebase ([#1150](https://github.com/nvidia/cuvs/pull/1150)) [@cjnolet](https://github.com/cjnolet) -- [Java]Fixed TieredIndexParams creation/destruction, calling cuvsTieredIndexParamsCreate ([#1147](https://github.com/nvidia/cuvs/pull/1147)) [@punAhuja](https://github.com/punAhuja) -- Fix update-version ([#1135](https://github.com/nvidia/cuvs/pull/1135)) [@AyodeAwe](https://github.com/AyodeAwe) -- Reducing binary size in `ivf_pq` by deduplicating kernels ([#1130](https://github.com/nvidia/cuvs/pull/1130)) [@jinsolp](https://github.com/jinsolp) -- fix(docker): use versioned `-latest` tag for all `rapidsai` images ([#1129](https://github.com/nvidia/cuvs/pull/1129)) [@gforsyth](https://github.com/gforsyth) -- SCaNN Index build ([#1120](https://github.com/nvidia/cuvs/pull/1120)) [@rmaschal](https://github.com/rmaschal) -- [Java] Extend `Dataset` to work as an output data container ([#1111](https://github.com/nvidia/cuvs/pull/1111)) [@ldematte](https://github.com/ldematte) -- [Java] Fix HNSW params allocation ([#1110](https://github.com/nvidia/cuvs/pull/1110)) [@ldematte](https://github.com/ldematte) -- [Java] Fix CAGRA params allocation ([#1109](https://github.com/nvidia/cuvs/pull/1109)) [@ldematte](https://github.com/ldematte) -- [Java] Fix POM ([#1106](https://github.com/nvidia/cuvs/pull/1106)) [@ldematte](https://github.com/ldematte) -- Enforce java codeowners for managing contents of `java/` ([#1103](https://github.com/nvidia/cuvs/pull/1103)) [@cjnolet](https://github.com/cjnolet) -- Reduce binary size of refine functions ([#1095](https://github.com/nvidia/cuvs/pull/1095)) [@tfeher](https://github.com/tfeher) -- [Java] Introduce scoped resource access ([#1089](https://github.com/nvidia/cuvs/pull/1089)) [@ldematte](https://github.com/ldematte) -- Expose graph and dataset accessors for CAGRA to C/Python ([#1086](https://github.com/nvidia/cuvs/pull/1086)) [@benfred](https://github.com/benfred) -- Add warning for unused GPU when `n_clusters < n_ranks` in batch `all_neighbors` ([#1072](https://github.com/nvidia/cuvs/pull/1072)) [@jinsolp](https://github.com/jinsolp) -- [Java] Tidy up `MemorySegment`s lifecycle ([#1069](https://github.com/nvidia/cuvs/pull/1069)) [@ldematte](https://github.com/ldematte) -- [Java] Refactor SearchResults implementation classes ([#1067](https://github.com/nvidia/cuvs/pull/1067)) [@ldematte](https://github.com/ldematte) -- Use CUDA 12.9 in Conda, Devcontainers, Spark, GHA, etc. ([#1063](https://github.com/nvidia/cuvs/pull/1063)) [@jakirkham](https://github.com/jakirkham) -- Exporting changed `graph_build_params` namespace into `all_neighbors` ([#1060](https://github.com/nvidia/cuvs/pull/1060)) [@jinsolp](https://github.com/jinsolp) -- hnsw::from_cagra: avoid allocating the graph twice ([#1057](https://github.com/nvidia/cuvs/pull/1057)) [@achirkin](https://github.com/achirkin) -- Improve memory efficiency for returning NN Descent distances ([#1053](https://github.com/nvidia/cuvs/pull/1053)) [@jinsolp](https://github.com/jinsolp) -- Deprecation notice for batching code specific to NN Descent ([#1052](https://github.com/nvidia/cuvs/pull/1052)) [@jinsolp](https://github.com/jinsolp) -- Remove nvidia and dask channels ([#1050](https://github.com/nvidia/cuvs/pull/1050)) [@vyasr](https://github.com/vyasr) -- [Java] Enforce Java code format standard ([#1049](https://github.com/nvidia/cuvs/pull/1049)) [@narangvivek10](https://github.com/narangvivek10) -- Make rust publish run after conda upload ([#1047](https://github.com/nvidia/cuvs/pull/1047)) [@AyodeAwe](https://github.com/AyodeAwe) -- refactor(cuda11): remove cuda11-only conda channels, cleanup docs ([#1046](https://github.com/nvidia/cuvs/pull/1046)) [@gforsyth](https://github.com/gforsyth) -- [Review][Java] Fix random segabort/segfault/double free problems ([#1045](https://github.com/nvidia/cuvs/pull/1045)) [@ldematte](https://github.com/ldematte) -- [Java] Add Dataset based on `MemorySegment` ([#1034](https://github.com/nvidia/cuvs/pull/1034)) [@ldematte](https://github.com/ldematte) -- [Java] Add Java API benchmarks ([#1033](https://github.com/nvidia/cuvs/pull/1033)) [@ldematte](https://github.com/ldematte) -- fix(cli): Add validation for search-mode parameter ([#1026](https://github.com/nvidia/cuvs/pull/1026)) [@mayani-nv](https://github.com/mayani-nv) -- [Java] Encapsulate on-heap float arrays into `Dataset` ([#1024](https://github.com/nvidia/cuvs/pull/1024)) [@ldematte](https://github.com/ldematte) -- refactor(shellcheck): fix all remaining warnings/errors ([#1019](https://github.com/nvidia/cuvs/pull/1019)) [@gforsyth](https://github.com/gforsyth) -- Instantiate only specific RAFT linewise kernels ([#1018](https://github.com/nvidia/cuvs/pull/1018)) [@aamijar](https://github.com/aamijar) -- Update nightly CI check to allow 30 days of failing nightly build. ([#1008](https://github.com/nvidia/cuvs/pull/1008)) [@cjnolet](https://github.com/cjnolet) -- [Java] Using functions for mapping ([#1007](https://github.com/nvidia/cuvs/pull/1007)) [@ldematte](https://github.com/ldematte) -- [REVIEW][Java] Refactor CagraBuildAndSearchIT to explicitly express different execution modes ([#1006](https://github.com/nvidia/cuvs/pull/1006)) [@ldematte](https://github.com/ldematte) -- [REVIEW][Java] Add jextract artifacts to gitignore ([#1005](https://github.com/nvidia/cuvs/pull/1005)) [@ldematte](https://github.com/ldematte) -- Remove pytest pin ([#998](https://github.com/nvidia/cuvs/pull/998)) [@vyasr](https://github.com/vyasr) -- [java] Utility function for `cudaMemcpy` ([#983](https://github.com/nvidia/cuvs/pull/983)) [@mythrocks](https://github.com/mythrocks) -- [java] Copy `pom.xml` to `target/` on build ([#981](https://github.com/nvidia/cuvs/pull/981)) [@mythrocks](https://github.com/mythrocks) -- Remove CUDA 11 from dependencies.yaml ([#962](https://github.com/nvidia/cuvs/pull/962)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- refactor(rattler): remove cuda11 options and general cleanup ([#961](https://github.com/nvidia/cuvs/pull/961)) [@gforsyth](https://github.com/gforsyth) -- Remove CUDA 11 devcontainers and update CI scripts ([#960](https://github.com/nvidia/cuvs/pull/960)) [@bdice](https://github.com/bdice) -- Common knn graph build params ([#949](https://github.com/nvidia/cuvs/pull/949)) [@jinsolp](https://github.com/jinsolp) -- stop uploading packages to downloads.rapids.ai ([#940](https://github.com/nvidia/cuvs/pull/940)) [@jameslamb](https://github.com/jameslamb) -- Instantiate only specific RAFT reduction kernels ([#925](https://github.com/nvidia/cuvs/pull/925)) [@divyegala](https://github.com/divyegala) -- [Java] Replace the C wrapper layer with the Panama API-based Java implementation ([#916](https://github.com/nvidia/cuvs/pull/916)) [@narangvivek10](https://github.com/narangvivek10) -- Forward-merge branch-25.06 into branch-25.08 ([#909](https://github.com/nvidia/cuvs/pull/909)) [@gforsyth](https://github.com/gforsyth) -- Forward-merge branch-25.06 into branch-25.08 ([#897](https://github.com/nvidia/cuvs/pull/897)) [@gforsyth](https://github.com/gforsyth) -- Serialize Vamana index with SSD sector alignment per MSFT DiskANN format, generate quantized dataset for integration with DiskANN ([#846](https://github.com/nvidia/cuvs/pull/846)) [@jamxia155](https://github.com/jamxia155) -- Add mean and median threshold modes to binary quantization ([#716](https://github.com/nvidia/cuvs/pull/716)) [@enp1s0](https://github.com/enp1s0) +- Check shape is initialized in cuvsMatrixSliceRows ([#1193](https://github.com/NVIDIA/cuvs/pull/1193)) [@benfred](https://github.com/benfred) +- Add error checking for our C example code ([#1171](https://github.com/NVIDIA/cuvs/pull/1171)) [@benfred](https://github.com/benfred) +- Removing all references to CUDA 11 from codebase ([#1150](https://github.com/NVIDIA/cuvs/pull/1150)) [@cjnolet](https://github.com/cjnolet) +- [Java]Fixed TieredIndexParams creation/destruction, calling cuvsTieredIndexParamsCreate ([#1147](https://github.com/NVIDIA/cuvs/pull/1147)) [@punAhuja](https://github.com/punAhuja) +- Fix update-version ([#1135](https://github.com/NVIDIA/cuvs/pull/1135)) [@AyodeAwe](https://github.com/AyodeAwe) +- Reducing binary size in `ivf_pq` by deduplicating kernels ([#1130](https://github.com/NVIDIA/cuvs/pull/1130)) [@jinsolp](https://github.com/jinsolp) +- fix(docker): use versioned `-latest` tag for all `rapidsai` images ([#1129](https://github.com/NVIDIA/cuvs/pull/1129)) [@gforsyth](https://github.com/gforsyth) +- SCaNN Index build ([#1120](https://github.com/NVIDIA/cuvs/pull/1120)) [@rmaschal](https://github.com/rmaschal) +- [Java] Extend `Dataset` to work as an output data container ([#1111](https://github.com/NVIDIA/cuvs/pull/1111)) [@ldematte](https://github.com/ldematte) +- [Java] Fix HNSW params allocation ([#1110](https://github.com/NVIDIA/cuvs/pull/1110)) [@ldematte](https://github.com/ldematte) +- [Java] Fix CAGRA params allocation ([#1109](https://github.com/NVIDIA/cuvs/pull/1109)) [@ldematte](https://github.com/ldematte) +- [Java] Fix POM ([#1106](https://github.com/NVIDIA/cuvs/pull/1106)) [@ldematte](https://github.com/ldematte) +- Enforce java codeowners for managing contents of `java/` ([#1103](https://github.com/NVIDIA/cuvs/pull/1103)) [@cjnolet](https://github.com/cjnolet) +- Reduce binary size of refine functions ([#1095](https://github.com/NVIDIA/cuvs/pull/1095)) [@tfeher](https://github.com/tfeher) +- [Java] Introduce scoped resource access ([#1089](https://github.com/NVIDIA/cuvs/pull/1089)) [@ldematte](https://github.com/ldematte) +- Expose graph and dataset accessors for CAGRA to C/Python ([#1086](https://github.com/NVIDIA/cuvs/pull/1086)) [@benfred](https://github.com/benfred) +- Add warning for unused GPU when `n_clusters < n_ranks` in batch `all_neighbors` ([#1072](https://github.com/NVIDIA/cuvs/pull/1072)) [@jinsolp](https://github.com/jinsolp) +- [Java] Tidy up `MemorySegment`s lifecycle ([#1069](https://github.com/NVIDIA/cuvs/pull/1069)) [@ldematte](https://github.com/ldematte) +- [Java] Refactor SearchResults implementation classes ([#1067](https://github.com/NVIDIA/cuvs/pull/1067)) [@ldematte](https://github.com/ldematte) +- Use CUDA 12.9 in Conda, Devcontainers, Spark, GHA, etc. ([#1063](https://github.com/NVIDIA/cuvs/pull/1063)) [@jakirkham](https://github.com/jakirkham) +- Exporting changed `graph_build_params` namespace into `all_neighbors` ([#1060](https://github.com/NVIDIA/cuvs/pull/1060)) [@jinsolp](https://github.com/jinsolp) +- hnsw::from_cagra: avoid allocating the graph twice ([#1057](https://github.com/NVIDIA/cuvs/pull/1057)) [@achirkin](https://github.com/achirkin) +- Improve memory efficiency for returning NN Descent distances ([#1053](https://github.com/NVIDIA/cuvs/pull/1053)) [@jinsolp](https://github.com/jinsolp) +- Deprecation notice for batching code specific to NN Descent ([#1052](https://github.com/NVIDIA/cuvs/pull/1052)) [@jinsolp](https://github.com/jinsolp) +- Remove nvidia and dask channels ([#1050](https://github.com/NVIDIA/cuvs/pull/1050)) [@vyasr](https://github.com/vyasr) +- [Java] Enforce Java code format standard ([#1049](https://github.com/NVIDIA/cuvs/pull/1049)) [@narangvivek10](https://github.com/narangvivek10) +- Make rust publish run after conda upload ([#1047](https://github.com/NVIDIA/cuvs/pull/1047)) [@AyodeAwe](https://github.com/AyodeAwe) +- refactor(cuda11): remove cuda11-only conda channels, cleanup docs ([#1046](https://github.com/NVIDIA/cuvs/pull/1046)) [@gforsyth](https://github.com/gforsyth) +- [Review][Java] Fix random segabort/segfault/double free problems ([#1045](https://github.com/NVIDIA/cuvs/pull/1045)) [@ldematte](https://github.com/ldematte) +- [Java] Add Dataset based on `MemorySegment` ([#1034](https://github.com/NVIDIA/cuvs/pull/1034)) [@ldematte](https://github.com/ldematte) +- [Java] Add Java API benchmarks ([#1033](https://github.com/NVIDIA/cuvs/pull/1033)) [@ldematte](https://github.com/ldematte) +- fix(cli): Add validation for search-mode parameter ([#1026](https://github.com/NVIDIA/cuvs/pull/1026)) [@mayani-nv](https://github.com/mayani-nv) +- [Java] Encapsulate on-heap float arrays into `Dataset` ([#1024](https://github.com/NVIDIA/cuvs/pull/1024)) [@ldematte](https://github.com/ldematte) +- refactor(shellcheck): fix all remaining warnings/errors ([#1019](https://github.com/NVIDIA/cuvs/pull/1019)) [@gforsyth](https://github.com/gforsyth) +- Instantiate only specific RAFT linewise kernels ([#1018](https://github.com/NVIDIA/cuvs/pull/1018)) [@aamijar](https://github.com/aamijar) +- Update nightly CI check to allow 30 days of failing nightly build. ([#1008](https://github.com/NVIDIA/cuvs/pull/1008)) [@cjnolet](https://github.com/cjnolet) +- [Java] Using functions for mapping ([#1007](https://github.com/NVIDIA/cuvs/pull/1007)) [@ldematte](https://github.com/ldematte) +- [REVIEW][Java] Refactor CagraBuildAndSearchIT to explicitly express different execution modes ([#1006](https://github.com/NVIDIA/cuvs/pull/1006)) [@ldematte](https://github.com/ldematte) +- [REVIEW][Java] Add jextract artifacts to gitignore ([#1005](https://github.com/NVIDIA/cuvs/pull/1005)) [@ldematte](https://github.com/ldematte) +- Remove pytest pin ([#998](https://github.com/NVIDIA/cuvs/pull/998)) [@vyasr](https://github.com/vyasr) +- [java] Utility function for `cudaMemcpy` ([#983](https://github.com/NVIDIA/cuvs/pull/983)) [@mythrocks](https://github.com/mythrocks) +- [java] Copy `pom.xml` to `target/` on build ([#981](https://github.com/NVIDIA/cuvs/pull/981)) [@mythrocks](https://github.com/mythrocks) +- Remove CUDA 11 from dependencies.yaml ([#962](https://github.com/NVIDIA/cuvs/pull/962)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- refactor(rattler): remove cuda11 options and general cleanup ([#961](https://github.com/NVIDIA/cuvs/pull/961)) [@gforsyth](https://github.com/gforsyth) +- Remove CUDA 11 devcontainers and update CI scripts ([#960](https://github.com/NVIDIA/cuvs/pull/960)) [@bdice](https://github.com/bdice) +- Common knn graph build params ([#949](https://github.com/NVIDIA/cuvs/pull/949)) [@jinsolp](https://github.com/jinsolp) +- stop uploading packages to downloads.rapids.ai ([#940](https://github.com/NVIDIA/cuvs/pull/940)) [@jameslamb](https://github.com/jameslamb) +- Instantiate only specific RAFT reduction kernels ([#925](https://github.com/NVIDIA/cuvs/pull/925)) [@divyegala](https://github.com/divyegala) +- [Java] Replace the C wrapper layer with the Panama API-based Java implementation ([#916](https://github.com/NVIDIA/cuvs/pull/916)) [@narangvivek10](https://github.com/narangvivek10) +- Forward-merge branch-25.06 into branch-25.08 ([#909](https://github.com/NVIDIA/cuvs/pull/909)) [@gforsyth](https://github.com/gforsyth) +- Forward-merge branch-25.06 into branch-25.08 ([#897](https://github.com/NVIDIA/cuvs/pull/897)) [@gforsyth](https://github.com/gforsyth) +- Serialize Vamana index with SSD sector alignment per MSFT DiskANN format, generate quantized dataset for integration with DiskANN ([#846](https://github.com/NVIDIA/cuvs/pull/846)) [@jamxia155](https://github.com/jamxia155) +- Add mean and median threshold modes to binary quantization ([#716](https://github.com/NVIDIA/cuvs/pull/716)) [@enp1s0](https://github.com/enp1s0) # cuvs 25.06.00 (5 Jun 2025) ## 🚨 Breaking Changes -- [Java] Adding support for prefiltering in CAGRA ([#870](https://github.com/nvidia/cuvs/pull/870)) [@punAhuja](https://github.com/punAhuja) +- [Java] Adding support for prefiltering in CAGRA ([#870](https://github.com/NVIDIA/cuvs/pull/870)) [@punAhuja](https://github.com/punAhuja) ## 🐛 Bug Fixes -- Fix failing CAGRA merge google tests for 25.06 ([#974](https://github.com/nvidia/cuvs/pull/974)) [@rhdong](https://github.com/rhdong) -- Fix for recent NCCL resource update ([#968](https://github.com/nvidia/cuvs/pull/968)) [@viclafargue](https://github.com/viclafargue) -- Revert "Fix kmeans::predict argument order ([#915)" (#951](https://github.com/nvidia/cuvs/pull/915)" (#951)) [@divyegala](https://github.com/divyegala) -- IVF-PQ tests: fix segfault when accessing empty lists ([#933](https://github.com/nvidia/cuvs/pull/933)) [@achirkin](https://github.com/achirkin) -- batch_load_iterator shall copy data located in host memory ([#926](https://github.com/nvidia/cuvs/pull/926)) [@tfeher](https://github.com/tfeher) -- Fix kmeans::predict argument order ([#915](https://github.com/nvidia/cuvs/pull/915)) [@enp1s0](https://github.com/enp1s0) -- ANN_BENCH: fix the reported core count ([#896](https://github.com/nvidia/cuvs/pull/896)) [@achirkin](https://github.com/achirkin) -- CUVS_ANN_BENCH_SINGLE_EXE: find the mg library ([#890](https://github.com/nvidia/cuvs/pull/890)) [@achirkin](https://github.com/achirkin) -- [FIX] Revert negated InnerProduct distance for NN Descent ([#859](https://github.com/nvidia/cuvs/pull/859)) [@jinsolp](https://github.com/jinsolp) -- IVF-PQ tests: fix segfault when accessing empty lists ([#838](https://github.com/nvidia/cuvs/pull/838)) [@achirkin](https://github.com/achirkin) -- [CuVS-Java] Automate panama bindings generation, Include IVF_PQ parameters in CAGRA index parameters and other changes ([#831](https://github.com/nvidia/cuvs/pull/831)) [@narangvivek10](https://github.com/narangvivek10) -- Ann-bench: fix unsafe lazy blobs ([#828](https://github.com/nvidia/cuvs/pull/828)) [@achirkin](https://github.com/achirkin) -- Fix test_brute_force conversion ([#821](https://github.com/nvidia/cuvs/pull/821)) [@lowener](https://github.com/lowener) -- [FEA] New algos and updates/corrections to Faiss cuvs-bench ([#677](https://github.com/nvidia/cuvs/pull/677)) [@tarang-jain](https://github.com/tarang-jain) +- Fix failing CAGRA merge google tests for 25.06 ([#974](https://github.com/NVIDIA/cuvs/pull/974)) [@rhdong](https://github.com/rhdong) +- Fix for recent NCCL resource update ([#968](https://github.com/NVIDIA/cuvs/pull/968)) [@viclafargue](https://github.com/viclafargue) +- Revert "Fix kmeans::predict argument order ([#915)" (#951](https://github.com/NVIDIA/cuvs/pull/915)" (#951)) [@divyegala](https://github.com/divyegala) +- IVF-PQ tests: fix segfault when accessing empty lists ([#933](https://github.com/NVIDIA/cuvs/pull/933)) [@achirkin](https://github.com/achirkin) +- batch_load_iterator shall copy data located in host memory ([#926](https://github.com/NVIDIA/cuvs/pull/926)) [@tfeher](https://github.com/tfeher) +- Fix kmeans::predict argument order ([#915](https://github.com/NVIDIA/cuvs/pull/915)) [@enp1s0](https://github.com/enp1s0) +- ANN_BENCH: fix the reported core count ([#896](https://github.com/NVIDIA/cuvs/pull/896)) [@achirkin](https://github.com/achirkin) +- CUVS_ANN_BENCH_SINGLE_EXE: find the mg library ([#890](https://github.com/NVIDIA/cuvs/pull/890)) [@achirkin](https://github.com/achirkin) +- [FIX] Revert negated InnerProduct distance for NN Descent ([#859](https://github.com/NVIDIA/cuvs/pull/859)) [@jinsolp](https://github.com/jinsolp) +- IVF-PQ tests: fix segfault when accessing empty lists ([#838](https://github.com/NVIDIA/cuvs/pull/838)) [@achirkin](https://github.com/achirkin) +- [CuVS-Java] Automate panama bindings generation, Include IVF_PQ parameters in CAGRA index parameters and other changes ([#831](https://github.com/NVIDIA/cuvs/pull/831)) [@narangvivek10](https://github.com/narangvivek10) +- Ann-bench: fix unsafe lazy blobs ([#828](https://github.com/NVIDIA/cuvs/pull/828)) [@achirkin](https://github.com/achirkin) +- Fix test_brute_force conversion ([#821](https://github.com/NVIDIA/cuvs/pull/821)) [@lowener](https://github.com/lowener) +- [FEA] New algos and updates/corrections to Faiss cuvs-bench ([#677](https://github.com/NVIDIA/cuvs/pull/677)) [@tarang-jain](https://github.com/tarang-jain) ## 📖 Documentation -- All-neighbors API docs ([#944](https://github.com/nvidia/cuvs/pull/944)) [@jinsolp](https://github.com/jinsolp) -- cagra.rst: fitered -> filtered ([#866](https://github.com/nvidia/cuvs/pull/866)) [@eli-b](https://github.com/eli-b) -- [DOCS] Fix Integration Docs (Faiss) ([#782](https://github.com/nvidia/cuvs/pull/782)) [@tarang-jain](https://github.com/tarang-jain) +- All-neighbors API docs ([#944](https://github.com/NVIDIA/cuvs/pull/944)) [@jinsolp](https://github.com/jinsolp) +- cagra.rst: fitered -> filtered ([#866](https://github.com/NVIDIA/cuvs/pull/866)) [@eli-b](https://github.com/eli-b) +- [DOCS] Fix Integration Docs (Faiss) ([#782](https://github.com/NVIDIA/cuvs/pull/782)) [@tarang-jain](https://github.com/tarang-jain) ## 🚀 New Features -- Add IVF-PQ support in CAGRA index params in Python ([#918](https://github.com/nvidia/cuvs/pull/918)) [@lowener](https://github.com/lowener) -- [Feat] Expose C API for CAGRA `merge` ([#860](https://github.com/nvidia/cuvs/pull/860)) [@rhdong](https://github.com/rhdong) -- Use NCCL wheels from PyPI for CUDA 12 builds ([#827](https://github.com/nvidia/cuvs/pull/827)) [@divyegala](https://github.com/divyegala) -- Add support for half in CAGRA+HNSW ([#813](https://github.com/nvidia/cuvs/pull/813)) [@lowener](https://github.com/lowener) -- [CI] Enable Java test in CI workflow ([#805](https://github.com/nvidia/cuvs/pull/805)) [@rhdong](https://github.com/rhdong) -- Wrapper for all-neighbors knn graph building ([#785](https://github.com/nvidia/cuvs/pull/785)) [@jinsolp](https://github.com/jinsolp) -- Add support of half dtype in IVF-FLAT ([#730](https://github.com/nvidia/cuvs/pull/730)) [@lowener](https://github.com/lowener) -- IVF-PQ: low-precision coarse search ([#715](https://github.com/nvidia/cuvs/pull/715)) [@achirkin](https://github.com/achirkin) -- [Feat] Add support of logical merge in Cagra ([#713](https://github.com/nvidia/cuvs/pull/713)) [@rhdong](https://github.com/rhdong) +- Add IVF-PQ support in CAGRA index params in Python ([#918](https://github.com/NVIDIA/cuvs/pull/918)) [@lowener](https://github.com/lowener) +- [Feat] Expose C API for CAGRA `merge` ([#860](https://github.com/NVIDIA/cuvs/pull/860)) [@rhdong](https://github.com/rhdong) +- Use NCCL wheels from PyPI for CUDA 12 builds ([#827](https://github.com/NVIDIA/cuvs/pull/827)) [@divyegala](https://github.com/divyegala) +- Add support for half in CAGRA+HNSW ([#813](https://github.com/NVIDIA/cuvs/pull/813)) [@lowener](https://github.com/lowener) +- [CI] Enable Java test in CI workflow ([#805](https://github.com/NVIDIA/cuvs/pull/805)) [@rhdong](https://github.com/rhdong) +- Wrapper for all-neighbors knn graph building ([#785](https://github.com/NVIDIA/cuvs/pull/785)) [@jinsolp](https://github.com/jinsolp) +- Add support of half dtype in IVF-FLAT ([#730](https://github.com/NVIDIA/cuvs/pull/730)) [@lowener](https://github.com/lowener) +- IVF-PQ: low-precision coarse search ([#715](https://github.com/NVIDIA/cuvs/pull/715)) [@achirkin](https://github.com/achirkin) +- [Feat] Add support of logical merge in Cagra ([#713](https://github.com/NVIDIA/cuvs/pull/713)) [@rhdong](https://github.com/rhdong) ## 🛠️ Improvements -- Update score calculation for CAGRA-Q instance selection ([#938](https://github.com/nvidia/cuvs/pull/938)) [@enp1s0](https://github.com/enp1s0) -- [FEA] Use Native Brute Force for Sparse Pairwise KNN ([#927](https://github.com/nvidia/cuvs/pull/927)) [@tarang-jain](https://github.com/tarang-jain) -- use 'rapids-init-pip' in wheel CI, other CI changes ([#917](https://github.com/nvidia/cuvs/pull/917)) [@jameslamb](https://github.com/jameslamb) -- ANN_BENCH: Avoid repeated calls to raft::get_device_for_address in CAGRA search ([#908](https://github.com/nvidia/cuvs/pull/908)) [@achirkin](https://github.com/achirkin) -- [Java] New off-heap Dataset support for CAGRA and Bruteforce ([#902](https://github.com/nvidia/cuvs/pull/902)) [@chatman](https://github.com/chatman) -- Finish CUDA 12.9 migration and use branch-25.06 workflows ([#901](https://github.com/nvidia/cuvs/pull/901)) [@bdice](https://github.com/bdice) -- Update to clang 20 ([#898](https://github.com/nvidia/cuvs/pull/898)) [@bdice](https://github.com/bdice) -- get Java artifacts from GitHub Actions artifact store ([#893](https://github.com/nvidia/cuvs/pull/893)) [@jameslamb](https://github.com/jameslamb) -- Quote head_rev in conda recipes ([#892](https://github.com/nvidia/cuvs/pull/892)) [@bdice](https://github.com/bdice) -- [Java] Exposing merge API for multiple CAGRA indices ([#891](https://github.com/nvidia/cuvs/pull/891)) [@punAhuja](https://github.com/punAhuja) -- Expose ivf-flat centers to python/c ([#888](https://github.com/nvidia/cuvs/pull/888)) [@benfred](https://github.com/benfred) -- CUDA 12.9 use updated compression flags ([#887](https://github.com/nvidia/cuvs/pull/887)) [@robertmaynard](https://github.com/robertmaynard) -- Expose ivf-pq centers to python/c ([#881](https://github.com/nvidia/cuvs/pull/881)) [@benfred](https://github.com/benfred) -- Accept host inputs in python for ivf-pq build and extend ([#880](https://github.com/nvidia/cuvs/pull/880)) [@benfred](https://github.com/benfred) -- Add tiered_index support ([#879](https://github.com/nvidia/cuvs/pull/879)) [@benfred](https://github.com/benfred) -- Exclude librmm.so from auditwheel ([#878](https://github.com/nvidia/cuvs/pull/878)) [@bdice](https://github.com/bdice) -- update.version.sh: remove broken reference, skip most CI on PRs that only modify update-version.sh ([#875](https://github.com/nvidia/cuvs/pull/875)) [@jameslamb](https://github.com/jameslamb) -- Add support for Python 3.13 ([#874](https://github.com/nvidia/cuvs/pull/874)) [@gforsyth](https://github.com/gforsyth) -- chore: lower wheel size threshold ([#872](https://github.com/nvidia/cuvs/pull/872)) [@gforsyth](https://github.com/gforsyth) -- [Java] Adding support for prefiltering in CAGRA ([#870](https://github.com/nvidia/cuvs/pull/870)) [@punAhuja](https://github.com/punAhuja) -- Change snmg index to use updated multi gpu resource API ([#869](https://github.com/nvidia/cuvs/pull/869)) [@jinsolp](https://github.com/jinsolp) -- run shellcheck on all files, other small pre-commit updates ([#865](https://github.com/nvidia/cuvs/pull/865)) [@jameslamb](https://github.com/jameslamb) -- Fix IVF PQ build metric for CAGRA ([#862](https://github.com/nvidia/cuvs/pull/862)) [@lowener](https://github.com/lowener) -- ANN_BENCH: Expose parallel_mode parameter of FAISS CPU IVF implementation ([#861](https://github.com/nvidia/cuvs/pull/861)) [@achirkin](https://github.com/achirkin) -- Specify matplotlib version ([#839](https://github.com/nvidia/cuvs/pull/839)) [@benfred](https://github.com/benfred) -- Use random tmp names for index files in tests ([#837](https://github.com/nvidia/cuvs/pull/837)) [@achirkin](https://github.com/achirkin) -- Download build artifacts from Github for CI ([#834](https://github.com/nvidia/cuvs/pull/834)) [@VenkateshJaya](https://github.com/VenkateshJaya) -- Add NN-Descent return_distances functionality to python/C ([#833](https://github.com/nvidia/cuvs/pull/833)) [@benfred](https://github.com/benfred) -- Optimize hnsw::from_cagra<GPU> ([#826](https://github.com/nvidia/cuvs/pull/826)) [@achirkin](https://github.com/achirkin) -- Use vendored RAPIDS.cmake in example code. ([#824](https://github.com/nvidia/cuvs/pull/824)) [@bdice](https://github.com/bdice) -- refactor(rattler): enable strict channel priority for builds ([#823](https://github.com/nvidia/cuvs/pull/823)) [@gforsyth](https://github.com/gforsyth) -- Reduce device memory usage for CAGRA's graph optimization process (2-hop detour counting) ([#822](https://github.com/nvidia/cuvs/pull/822)) [@anaruse](https://github.com/anaruse) -- [cuvs_bench] distinguish search label from build label in data_export.py ([#818](https://github.com/nvidia/cuvs/pull/818)) [@jiangyinzuo](https://github.com/jiangyinzuo) -- Vendor RAPIDS.cmake ([#816](https://github.com/nvidia/cuvs/pull/816)) [@bdice](https://github.com/bdice) -- Update libcuvs libraft ver to 25.06 in conda env ([#808](https://github.com/nvidia/cuvs/pull/808)) [@jinsolp](https://github.com/jinsolp) -- Moving NN Descent class and struct declarations to `nn_descent_gnnd.hpp` ([#803](https://github.com/nvidia/cuvs/pull/803)) [@jinsolp](https://github.com/jinsolp) -- Remove `[@rapidsai/cuvs-build-codeowners` ([#783](https://github.com/nvidia/cuvs/pull/783)) @KyleFromNVIDIA](https://github.com/nvidia/cuvs-build-codeowners` ([#783](https://github.com/nvidia/cuvs/pull/783)) @KyleFromNVIDIA) -- Moving wheel builds to specified location and uploading build artifacts to Github ([#777](https://github.com/nvidia/cuvs/pull/777)) [@VenkateshJaya](https://github.com/VenkateshJaya) -- Remove unused raft cagra header in add_nodes.cuh ([#741](https://github.com/nvidia/cuvs/pull/741)) [@jiangyinzuo](https://github.com/jiangyinzuo) -- Expose kmeans to python ([#729](https://github.com/nvidia/cuvs/pull/729)) [@benfred](https://github.com/benfred) -- Update cuvs to properly create a NCCL::NCCL target ([#720](https://github.com/nvidia/cuvs/pull/720)) [@robertmaynard](https://github.com/robertmaynard) -- Optimize euclidean distance in host refine phase ([#689](https://github.com/nvidia/cuvs/pull/689)) [@anstellaire](https://github.com/anstellaire) -- Moving MG functions into unified API + `raft::device_resources_snmg` as device resource type for MG functions ([#454](https://github.com/nvidia/cuvs/pull/454)) [@viclafargue](https://github.com/viclafargue) -- Moving random ball cover ([#218](https://github.com/nvidia/cuvs/pull/218)) [@cjnolet](https://github.com/cjnolet) +- Update score calculation for CAGRA-Q instance selection ([#938](https://github.com/NVIDIA/cuvs/pull/938)) [@enp1s0](https://github.com/enp1s0) +- [FEA] Use Native Brute Force for Sparse Pairwise KNN ([#927](https://github.com/NVIDIA/cuvs/pull/927)) [@tarang-jain](https://github.com/tarang-jain) +- use 'rapids-init-pip' in wheel CI, other CI changes ([#917](https://github.com/NVIDIA/cuvs/pull/917)) [@jameslamb](https://github.com/jameslamb) +- ANN_BENCH: Avoid repeated calls to raft::get_device_for_address in CAGRA search ([#908](https://github.com/NVIDIA/cuvs/pull/908)) [@achirkin](https://github.com/achirkin) +- [Java] New off-heap Dataset support for CAGRA and Bruteforce ([#902](https://github.com/NVIDIA/cuvs/pull/902)) [@chatman](https://github.com/chatman) +- Finish CUDA 12.9 migration and use branch-25.06 workflows ([#901](https://github.com/NVIDIA/cuvs/pull/901)) [@bdice](https://github.com/bdice) +- Update to clang 20 ([#898](https://github.com/NVIDIA/cuvs/pull/898)) [@bdice](https://github.com/bdice) +- get Java artifacts from GitHub Actions artifact store ([#893](https://github.com/NVIDIA/cuvs/pull/893)) [@jameslamb](https://github.com/jameslamb) +- Quote head_rev in conda recipes ([#892](https://github.com/NVIDIA/cuvs/pull/892)) [@bdice](https://github.com/bdice) +- [Java] Exposing merge API for multiple CAGRA indices ([#891](https://github.com/NVIDIA/cuvs/pull/891)) [@punAhuja](https://github.com/punAhuja) +- Expose ivf-flat centers to python/c ([#888](https://github.com/NVIDIA/cuvs/pull/888)) [@benfred](https://github.com/benfred) +- CUDA 12.9 use updated compression flags ([#887](https://github.com/NVIDIA/cuvs/pull/887)) [@robertmaynard](https://github.com/robertmaynard) +- Expose ivf-pq centers to python/c ([#881](https://github.com/NVIDIA/cuvs/pull/881)) [@benfred](https://github.com/benfred) +- Accept host inputs in python for ivf-pq build and extend ([#880](https://github.com/NVIDIA/cuvs/pull/880)) [@benfred](https://github.com/benfred) +- Add tiered_index support ([#879](https://github.com/NVIDIA/cuvs/pull/879)) [@benfred](https://github.com/benfred) +- Exclude librmm.so from auditwheel ([#878](https://github.com/NVIDIA/cuvs/pull/878)) [@bdice](https://github.com/bdice) +- update.version.sh: remove broken reference, skip most CI on PRs that only modify update-version.sh ([#875](https://github.com/NVIDIA/cuvs/pull/875)) [@jameslamb](https://github.com/jameslamb) +- Add support for Python 3.13 ([#874](https://github.com/NVIDIA/cuvs/pull/874)) [@gforsyth](https://github.com/gforsyth) +- chore: lower wheel size threshold ([#872](https://github.com/NVIDIA/cuvs/pull/872)) [@gforsyth](https://github.com/gforsyth) +- [Java] Adding support for prefiltering in CAGRA ([#870](https://github.com/NVIDIA/cuvs/pull/870)) [@punAhuja](https://github.com/punAhuja) +- Change snmg index to use updated multi gpu resource API ([#869](https://github.com/NVIDIA/cuvs/pull/869)) [@jinsolp](https://github.com/jinsolp) +- run shellcheck on all files, other small pre-commit updates ([#865](https://github.com/NVIDIA/cuvs/pull/865)) [@jameslamb](https://github.com/jameslamb) +- Fix IVF PQ build metric for CAGRA ([#862](https://github.com/NVIDIA/cuvs/pull/862)) [@lowener](https://github.com/lowener) +- ANN_BENCH: Expose parallel_mode parameter of FAISS CPU IVF implementation ([#861](https://github.com/NVIDIA/cuvs/pull/861)) [@achirkin](https://github.com/achirkin) +- Specify matplotlib version ([#839](https://github.com/NVIDIA/cuvs/pull/839)) [@benfred](https://github.com/benfred) +- Use random tmp names for index files in tests ([#837](https://github.com/NVIDIA/cuvs/pull/837)) [@achirkin](https://github.com/achirkin) +- Download build artifacts from Github for CI ([#834](https://github.com/NVIDIA/cuvs/pull/834)) [@VenkateshJaya](https://github.com/VenkateshJaya) +- Add NN-Descent return_distances functionality to python/C ([#833](https://github.com/NVIDIA/cuvs/pull/833)) [@benfred](https://github.com/benfred) +- Optimize hnsw::from_cagra<GPU> ([#826](https://github.com/NVIDIA/cuvs/pull/826)) [@achirkin](https://github.com/achirkin) +- Use vendored RAPIDS.cmake in example code. ([#824](https://github.com/NVIDIA/cuvs/pull/824)) [@bdice](https://github.com/bdice) +- refactor(rattler): enable strict channel priority for builds ([#823](https://github.com/NVIDIA/cuvs/pull/823)) [@gforsyth](https://github.com/gforsyth) +- Reduce device memory usage for CAGRA's graph optimization process (2-hop detour counting) ([#822](https://github.com/NVIDIA/cuvs/pull/822)) [@anaruse](https://github.com/anaruse) +- [cuvs_bench] distinguish search label from build label in data_export.py ([#818](https://github.com/NVIDIA/cuvs/pull/818)) [@jiangyinzuo](https://github.com/jiangyinzuo) +- Vendor RAPIDS.cmake ([#816](https://github.com/NVIDIA/cuvs/pull/816)) [@bdice](https://github.com/bdice) +- Update libcuvs libraft ver to 25.06 in conda env ([#808](https://github.com/NVIDIA/cuvs/pull/808)) [@jinsolp](https://github.com/jinsolp) +- Moving NN Descent class and struct declarations to `nn_descent_gnnd.hpp` ([#803](https://github.com/NVIDIA/cuvs/pull/803)) [@jinsolp](https://github.com/jinsolp) +- Remove `[@rapidsai/cuvs-build-codeowners` ([#783](https://github.com/NVIDIA/cuvs/pull/783)) @KyleFromNVIDIA](https://github.com/NVIDIA/cuvs-build-codeowners` ([#783](https://github.com/NVIDIA/cuvs/pull/783)) @KyleFromNVIDIA) +- Moving wheel builds to specified location and uploading build artifacts to Github ([#777](https://github.com/NVIDIA/cuvs/pull/777)) [@VenkateshJaya](https://github.com/VenkateshJaya) +- Remove unused raft cagra header in add_nodes.cuh ([#741](https://github.com/NVIDIA/cuvs/pull/741)) [@jiangyinzuo](https://github.com/jiangyinzuo) +- Expose kmeans to python ([#729](https://github.com/NVIDIA/cuvs/pull/729)) [@benfred](https://github.com/benfred) +- Update cuvs to properly create a NCCL::NCCL target ([#720](https://github.com/NVIDIA/cuvs/pull/720)) [@robertmaynard](https://github.com/robertmaynard) +- Optimize euclidean distance in host refine phase ([#689](https://github.com/NVIDIA/cuvs/pull/689)) [@anstellaire](https://github.com/anstellaire) +- Moving MG functions into unified API + `raft::device_resources_snmg` as device resource type for MG functions ([#454](https://github.com/NVIDIA/cuvs/pull/454)) [@viclafargue](https://github.com/viclafargue) +- Moving random ball cover ([#218](https://github.com/NVIDIA/cuvs/pull/218)) [@cjnolet](https://github.com/cjnolet) # cuvs 25.04.00 (9 Apr 2025) ## 🚨 Breaking Changes -- Use new rapids-logger library ([#644](https://github.com/nvidia/cuvs/pull/644)) [@vyasr](https://github.com/vyasr) +- Use new rapids-logger library ([#644](https://github.com/NVIDIA/cuvs/pull/644)) [@vyasr](https://github.com/vyasr) ## 🐛 Bug Fixes -- Use new build_patch_only argument ([#780](https://github.com/nvidia/cuvs/pull/780)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Fix resource import so generate_groundtruth works ([#774](https://github.com/nvidia/cuvs/pull/774)) [@nvrohanv](https://github.com/nvrohanv) -- Relax max duplicates in batched NN Descent ([#770](https://github.com/nvidia/cuvs/pull/770)) [@jinsolp](https://github.com/jinsolp) -- [BUG] Fix graph index sorting in CAGRA graph build by NN Descent ([#763](https://github.com/nvidia/cuvs/pull/763)) [@enp1s0](https://github.com/enp1s0) -- cuvs-bench-cpu: avoid 'mkl' dependency on aarch64 ([#750](https://github.com/nvidia/cuvs/pull/750)) [@jameslamb](https://github.com/jameslamb) -- ANN_BENCH: Fix segfault in CAGRA wrapper when moving its graph ([#733](https://github.com/nvidia/cuvs/pull/733)) [@achirkin](https://github.com/achirkin) -- Fix duplicate indices in batch NN Descent ([#702](https://github.com/nvidia/cuvs/pull/702)) [@jinsolp](https://github.com/jinsolp) +- Use new build_patch_only argument ([#780](https://github.com/NVIDIA/cuvs/pull/780)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Fix resource import so generate_groundtruth works ([#774](https://github.com/NVIDIA/cuvs/pull/774)) [@nvrohanv](https://github.com/nvrohanv) +- Relax max duplicates in batched NN Descent ([#770](https://github.com/NVIDIA/cuvs/pull/770)) [@jinsolp](https://github.com/jinsolp) +- [BUG] Fix graph index sorting in CAGRA graph build by NN Descent ([#763](https://github.com/NVIDIA/cuvs/pull/763)) [@enp1s0](https://github.com/enp1s0) +- cuvs-bench-cpu: avoid 'mkl' dependency on aarch64 ([#750](https://github.com/NVIDIA/cuvs/pull/750)) [@jameslamb](https://github.com/jameslamb) +- ANN_BENCH: Fix segfault in CAGRA wrapper when moving its graph ([#733](https://github.com/NVIDIA/cuvs/pull/733)) [@achirkin](https://github.com/achirkin) +- Fix duplicate indices in batch NN Descent ([#702](https://github.com/NVIDIA/cuvs/pull/702)) [@jinsolp](https://github.com/jinsolp) ## 📖 Documentation -- Go module - Usage docs ([#779](https://github.com/nvidia/cuvs/pull/779)) [@AyodeAwe](https://github.com/AyodeAwe) +- Go module - Usage docs ([#779](https://github.com/NVIDIA/cuvs/pull/779)) [@AyodeAwe](https://github.com/AyodeAwe) ## 🚀 New Features -- `L2SqrtExpanded` metric support for NN Descent ([#790](https://github.com/nvidia/cuvs/pull/790)) [@jinsolp](https://github.com/jinsolp) -- CAGRA search: int64_t indices in the API ([#769](https://github.com/nvidia/cuvs/pull/769)) [@achirkin](https://github.com/achirkin) -- Expose IVF PQ params in CAGRA C API ([#768](https://github.com/nvidia/cuvs/pull/768)) [@divyegala](https://github.com/divyegala) -- [Feat] Expose search with bitset C API for Brute Force ([#717](https://github.com/nvidia/cuvs/pull/717)) [@rhdong](https://github.com/rhdong) -- Diskann Benchmarking Wrapper ([#260](https://github.com/nvidia/cuvs/pull/260)) [@tarang-jain](https://github.com/tarang-jain) +- `L2SqrtExpanded` metric support for NN Descent ([#790](https://github.com/NVIDIA/cuvs/pull/790)) [@jinsolp](https://github.com/jinsolp) +- CAGRA search: int64_t indices in the API ([#769](https://github.com/NVIDIA/cuvs/pull/769)) [@achirkin](https://github.com/achirkin) +- Expose IVF PQ params in CAGRA C API ([#768](https://github.com/NVIDIA/cuvs/pull/768)) [@divyegala](https://github.com/divyegala) +- [Feat] Expose search with bitset C API for Brute Force ([#717](https://github.com/NVIDIA/cuvs/pull/717)) [@rhdong](https://github.com/rhdong) +- Diskann Benchmarking Wrapper ([#260](https://github.com/NVIDIA/cuvs/pull/260)) [@tarang-jain](https://github.com/tarang-jain) ## 🛠️ Improvements -- Use L4 instead of V100 ([#797](https://github.com/nvidia/cuvs/pull/797)) [@bdice](https://github.com/bdice) -- Rust publishing updates ([#789](https://github.com/nvidia/cuvs/pull/789)) [@AyodeAwe](https://github.com/AyodeAwe) -- Removing print statement ([#786](https://github.com/nvidia/cuvs/pull/786)) [@jinsolp](https://github.com/jinsolp) -- Support passing a dataset to `FromCagra` ([#767](https://github.com/nvidia/cuvs/pull/767)) [@ajit283](https://github.com/ajit283) -- add function to build specific gpu-arches [REVIEW] ([#766](https://github.com/nvidia/cuvs/pull/766)) [@nvrohanv](https://github.com/nvrohanv) -- feat(libcuvs): port libcuvs to rattler-build ([#751](https://github.com/nvidia/cuvs/pull/751)) [@gforsyth](https://github.com/gforsyth) -- Consolidate Conda environment for Rust ([#745](https://github.com/nvidia/cuvs/pull/745)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- rename 'sklearn' conda dependency to 'scikit-learn' ([#743](https://github.com/nvidia/cuvs/pull/743)) [@jameslamb](https://github.com/jameslamb) -- Reduce memory consumption of scalar quantizer ([#736](https://github.com/nvidia/cuvs/pull/736)) [@mfoerste4](https://github.com/mfoerste4) -- Use conda-build instead of conda-mambabuild ([#723](https://github.com/nvidia/cuvs/pull/723)) [@bdice](https://github.com/bdice) -- Expand NVTX annotations in CAGRA build and HNSW ([#711](https://github.com/nvidia/cuvs/pull/711)) [@achirkin](https://github.com/achirkin) -- Replace `cub::TransformInputIterator` with `thrust::transform_iterator` ([#707](https://github.com/nvidia/cuvs/pull/707)) [@miscco](https://github.com/miscco) -- Consolidate more Conda solves in CI ([#701](https://github.com/nvidia/cuvs/pull/701)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Require CMake 3.30.4 ([#691](https://github.com/nvidia/cuvs/pull/691)) [@robertmaynard](https://github.com/robertmaynard) -- Create Conda CI test env in one step ([#684](https://github.com/nvidia/cuvs/pull/684)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Use shared-workflows branch-25.04 ([#669](https://github.com/nvidia/cuvs/pull/669)) [@bdice](https://github.com/bdice) -- Add `shellcheck` to pre-commit and fix warnings ([#662](https://github.com/nvidia/cuvs/pull/662)) [@gforsyth](https://github.com/gforsyth) -- Add build_type input field for test.yaml ([#661](https://github.com/nvidia/cuvs/pull/661)) [@gforsyth](https://github.com/gforsyth) -- Use `rapids-pip-retry` in CI jobs that might need retries ([#648](https://github.com/nvidia/cuvs/pull/648)) [@gforsyth](https://github.com/gforsyth) -- Use new rapids-logger library ([#644](https://github.com/nvidia/cuvs/pull/644)) [@vyasr](https://github.com/vyasr) -- disallow fallback to Make in Python builds ([#636](https://github.com/nvidia/cuvs/pull/636)) [@jameslamb](https://github.com/jameslamb) -- Add `verify-codeowners` hook ([#633](https://github.com/nvidia/cuvs/pull/633)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Forward-merge branch-25.02 into branch-25.04 ([#632](https://github.com/nvidia/cuvs/pull/632)) [@bdice](https://github.com/bdice) -- Account for RAFT sparse types updates ([#629](https://github.com/nvidia/cuvs/pull/629)) [@divyegala](https://github.com/divyegala) -- Migrate to NVKS for amd64 CI runners ([#627](https://github.com/nvidia/cuvs/pull/627)) [@bdice](https://github.com/bdice) +- Use L4 instead of V100 ([#797](https://github.com/NVIDIA/cuvs/pull/797)) [@bdice](https://github.com/bdice) +- Rust publishing updates ([#789](https://github.com/NVIDIA/cuvs/pull/789)) [@AyodeAwe](https://github.com/AyodeAwe) +- Removing print statement ([#786](https://github.com/NVIDIA/cuvs/pull/786)) [@jinsolp](https://github.com/jinsolp) +- Support passing a dataset to `FromCagra` ([#767](https://github.com/NVIDIA/cuvs/pull/767)) [@ajit283](https://github.com/ajit283) +- add function to build specific gpu-arches [REVIEW] ([#766](https://github.com/NVIDIA/cuvs/pull/766)) [@nvrohanv](https://github.com/nvrohanv) +- feat(libcuvs): port libcuvs to rattler-build ([#751](https://github.com/NVIDIA/cuvs/pull/751)) [@gforsyth](https://github.com/gforsyth) +- Consolidate Conda environment for Rust ([#745](https://github.com/NVIDIA/cuvs/pull/745)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- rename 'sklearn' conda dependency to 'scikit-learn' ([#743](https://github.com/NVIDIA/cuvs/pull/743)) [@jameslamb](https://github.com/jameslamb) +- Reduce memory consumption of scalar quantizer ([#736](https://github.com/NVIDIA/cuvs/pull/736)) [@mfoerste4](https://github.com/mfoerste4) +- Use conda-build instead of conda-mambabuild ([#723](https://github.com/NVIDIA/cuvs/pull/723)) [@bdice](https://github.com/bdice) +- Expand NVTX annotations in CAGRA build and HNSW ([#711](https://github.com/NVIDIA/cuvs/pull/711)) [@achirkin](https://github.com/achirkin) +- Replace `cub::TransformInputIterator` with `thrust::transform_iterator` ([#707](https://github.com/NVIDIA/cuvs/pull/707)) [@miscco](https://github.com/miscco) +- Consolidate more Conda solves in CI ([#701](https://github.com/NVIDIA/cuvs/pull/701)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Require CMake 3.30.4 ([#691](https://github.com/NVIDIA/cuvs/pull/691)) [@robertmaynard](https://github.com/robertmaynard) +- Create Conda CI test env in one step ([#684](https://github.com/NVIDIA/cuvs/pull/684)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Use shared-workflows branch-25.04 ([#669](https://github.com/NVIDIA/cuvs/pull/669)) [@bdice](https://github.com/bdice) +- Add `shellcheck` to pre-commit and fix warnings ([#662](https://github.com/NVIDIA/cuvs/pull/662)) [@gforsyth](https://github.com/gforsyth) +- Add build_type input field for test.yaml ([#661](https://github.com/NVIDIA/cuvs/pull/661)) [@gforsyth](https://github.com/gforsyth) +- Use `rapids-pip-retry` in CI jobs that might need retries ([#648](https://github.com/NVIDIA/cuvs/pull/648)) [@gforsyth](https://github.com/gforsyth) +- Use new rapids-logger library ([#644](https://github.com/NVIDIA/cuvs/pull/644)) [@vyasr](https://github.com/vyasr) +- disallow fallback to Make in Python builds ([#636](https://github.com/NVIDIA/cuvs/pull/636)) [@jameslamb](https://github.com/jameslamb) +- Add `verify-codeowners` hook ([#633](https://github.com/NVIDIA/cuvs/pull/633)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Forward-merge branch-25.02 into branch-25.04 ([#632](https://github.com/NVIDIA/cuvs/pull/632)) [@bdice](https://github.com/bdice) +- Account for RAFT sparse types updates ([#629](https://github.com/NVIDIA/cuvs/pull/629)) [@divyegala](https://github.com/divyegala) +- Migrate to NVKS for amd64 CI runners ([#627](https://github.com/NVIDIA/cuvs/pull/627)) [@bdice](https://github.com/bdice) # cuvs 25.02.00 (13 Feb 2025) ## 🚨 Breaking Changes -- update pip devcontainers to UCX 1.18, small update-version.sh fixes ([#604](https://github.com/nvidia/cuvs/pull/604)) [@jameslamb](https://github.com/jameslamb) -- Improve the performance of CAGRA new vector addition with the default params ([#569](https://github.com/nvidia/cuvs/pull/569)) [@enp1s0](https://github.com/enp1s0) -- Update for raft logger changes ([#540](https://github.com/nvidia/cuvs/pull/540)) [@vyasr](https://github.com/vyasr) +- update pip devcontainers to UCX 1.18, small update-version.sh fixes ([#604](https://github.com/NVIDIA/cuvs/pull/604)) [@jameslamb](https://github.com/jameslamb) +- Improve the performance of CAGRA new vector addition with the default params ([#569](https://github.com/NVIDIA/cuvs/pull/569)) [@enp1s0](https://github.com/enp1s0) +- Update for raft logger changes ([#540](https://github.com/NVIDIA/cuvs/pull/540)) [@vyasr](https://github.com/vyasr) ## 🐛 Bug Fixes -- Fix ann-bench dataset blob integer overflow leading to incorrect data copy beyond 4B elems ([#671](https://github.com/nvidia/cuvs/pull/671)) [@achirkin](https://github.com/achirkin) -- Fix ann-bench deadlocking on HNSW destruction due to task locks ([#667](https://github.com/nvidia/cuvs/pull/667)) [@achirkin](https://github.com/achirkin) -- cuvs-bench Fixes ([#654](https://github.com/nvidia/cuvs/pull/654)) [@tarang-jain](https://github.com/tarang-jain) -- Fix std::lock_guard use for gcc 14 support ([#639](https://github.com/nvidia/cuvs/pull/639)) [@enp1s0](https://github.com/enp1s0) -- Fix indexing bug when using parallelism to build CPU hierarchy in HNSW ([#620](https://github.com/nvidia/cuvs/pull/620)) [@divyegala](https://github.com/divyegala) -- add runtime dependency on libcuvs in cuvs wheels ([#615](https://github.com/nvidia/cuvs/pull/615)) [@jameslamb](https://github.com/jameslamb) -- Temporarily skip CUDA 11 wheel CI ([#599](https://github.com/nvidia/cuvs/pull/599)) [@bdice](https://github.com/bdice) -- [Fix] l2_exp random fail in half-float32 mixed precision on self-neighboring ([#596](https://github.com/nvidia/cuvs/pull/596)) [@rhdong](https://github.com/rhdong) -- Add CAGRA InnerProduct test and fix a bug ([#595](https://github.com/nvidia/cuvs/pull/595)) [@enp1s0](https://github.com/enp1s0) -- fix cuvs_bench.run --groups options ([#592](https://github.com/nvidia/cuvs/pull/592)) [@jiangyinzuo](https://github.com/jiangyinzuo) -- Fix cagra_hnsw serialization when dataset is not part of index ([#591](https://github.com/nvidia/cuvs/pull/591)) [@tfeher](https://github.com/tfeher) -- fix create_pointset for throughput mode ([#589](https://github.com/nvidia/cuvs/pull/589)) [@jiangyinzuo](https://github.com/jiangyinzuo) -- Fix the use of constexpr in the dynamic batching header ([#582](https://github.com/nvidia/cuvs/pull/582)) [@achirkin](https://github.com/achirkin) -- Reduce the recall threshold for IVF-PQ low-precision LUT inner product tests ([#573](https://github.com/nvidia/cuvs/pull/573)) [@achirkin](https://github.com/achirkin) -- Small fixes to docs and pairwise distances ([#570](https://github.com/nvidia/cuvs/pull/570)) [@cjnolet](https://github.com/cjnolet) -- [BUG] Fix CAGRA graph optimization bug ([#565](https://github.com/nvidia/cuvs/pull/565)) [@enp1s0](https://github.com/enp1s0) -- Fix broken link to python doc ([#564](https://github.com/nvidia/cuvs/pull/564)) [@lowener](https://github.com/lowener) -- Fix cagra::extend error message ([#532](https://github.com/nvidia/cuvs/pull/532)) [@enp1s0](https://github.com/enp1s0) -- Fix Grace-specific issues in CAGRA ([#527](https://github.com/nvidia/cuvs/pull/527)) [@achirkin](https://github.com/achirkin) +- Fix ann-bench dataset blob integer overflow leading to incorrect data copy beyond 4B elems ([#671](https://github.com/NVIDIA/cuvs/pull/671)) [@achirkin](https://github.com/achirkin) +- Fix ann-bench deadlocking on HNSW destruction due to task locks ([#667](https://github.com/NVIDIA/cuvs/pull/667)) [@achirkin](https://github.com/achirkin) +- cuvs-bench Fixes ([#654](https://github.com/NVIDIA/cuvs/pull/654)) [@tarang-jain](https://github.com/tarang-jain) +- Fix std::lock_guard use for gcc 14 support ([#639](https://github.com/NVIDIA/cuvs/pull/639)) [@enp1s0](https://github.com/enp1s0) +- Fix indexing bug when using parallelism to build CPU hierarchy in HNSW ([#620](https://github.com/NVIDIA/cuvs/pull/620)) [@divyegala](https://github.com/divyegala) +- add runtime dependency on libcuvs in cuvs wheels ([#615](https://github.com/NVIDIA/cuvs/pull/615)) [@jameslamb](https://github.com/jameslamb) +- Temporarily skip CUDA 11 wheel CI ([#599](https://github.com/NVIDIA/cuvs/pull/599)) [@bdice](https://github.com/bdice) +- [Fix] l2_exp random fail in half-float32 mixed precision on self-neighboring ([#596](https://github.com/NVIDIA/cuvs/pull/596)) [@rhdong](https://github.com/rhdong) +- Add CAGRA InnerProduct test and fix a bug ([#595](https://github.com/NVIDIA/cuvs/pull/595)) [@enp1s0](https://github.com/enp1s0) +- fix cuvs_bench.run --groups options ([#592](https://github.com/NVIDIA/cuvs/pull/592)) [@jiangyinzuo](https://github.com/jiangyinzuo) +- Fix cagra_hnsw serialization when dataset is not part of index ([#591](https://github.com/NVIDIA/cuvs/pull/591)) [@tfeher](https://github.com/tfeher) +- fix create_pointset for throughput mode ([#589](https://github.com/NVIDIA/cuvs/pull/589)) [@jiangyinzuo](https://github.com/jiangyinzuo) +- Fix the use of constexpr in the dynamic batching header ([#582](https://github.com/NVIDIA/cuvs/pull/582)) [@achirkin](https://github.com/achirkin) +- Reduce the recall threshold for IVF-PQ low-precision LUT inner product tests ([#573](https://github.com/NVIDIA/cuvs/pull/573)) [@achirkin](https://github.com/achirkin) +- Small fixes to docs and pairwise distances ([#570](https://github.com/NVIDIA/cuvs/pull/570)) [@cjnolet](https://github.com/cjnolet) +- [BUG] Fix CAGRA graph optimization bug ([#565](https://github.com/NVIDIA/cuvs/pull/565)) [@enp1s0](https://github.com/enp1s0) +- Fix broken link to python doc ([#564](https://github.com/NVIDIA/cuvs/pull/564)) [@lowener](https://github.com/lowener) +- Fix cagra::extend error message ([#532](https://github.com/NVIDIA/cuvs/pull/532)) [@enp1s0](https://github.com/enp1s0) +- Fix Grace-specific issues in CAGRA ([#527](https://github.com/NVIDIA/cuvs/pull/527)) [@achirkin](https://github.com/achirkin) ## 📖 Documentation -- add docs for nn_descent ([#668](https://github.com/nvidia/cuvs/pull/668)) [@Intron7](https://github.com/Intron7) -- Fixing small typo in cuvs bench docs ([#586](https://github.com/nvidia/cuvs/pull/586)) [@cjnolet](https://github.com/cjnolet) -- Fix typos in README ([#543](https://github.com/nvidia/cuvs/pull/543)) [@nvanbenschoten](https://github.com/nvanbenschoten) -- Use nvidia-sphinx-theme for docs ([#528](https://github.com/nvidia/cuvs/pull/528)) [@benfred](https://github.com/benfred) +- add docs for nn_descent ([#668](https://github.com/NVIDIA/cuvs/pull/668)) [@Intron7](https://github.com/Intron7) +- Fixing small typo in cuvs bench docs ([#586](https://github.com/NVIDIA/cuvs/pull/586)) [@cjnolet](https://github.com/cjnolet) +- Fix typos in README ([#543](https://github.com/NVIDIA/cuvs/pull/543)) [@nvanbenschoten](https://github.com/nvanbenschoten) +- Use nvidia-sphinx-theme for docs ([#528](https://github.com/NVIDIA/cuvs/pull/528)) [@benfred](https://github.com/benfred) ## 🚀 New Features -- Add deep-100M to datasets.yaml for cuvs-bench ([#670](https://github.com/nvidia/cuvs/pull/670)) [@tarang-jain](https://github.com/tarang-jain) -- Expose configuration singleton as a global context for ann-bench algos ([#647](https://github.com/nvidia/cuvs/pull/647)) [@achirkin](https://github.com/achirkin) -- ANN_BENCH enhanced dataset support ([#624](https://github.com/nvidia/cuvs/pull/624)) [@achirkin](https://github.com/achirkin) -- [Feat] Add Support for Index `merge` in CAGRA ([#618](https://github.com/nvidia/cuvs/pull/618)) [@rhdong](https://github.com/rhdong) -- HNSW GPU hierarchy ([#616](https://github.com/nvidia/cuvs/pull/616)) [@divyegala](https://github.com/divyegala) -- CAGRA binary Hamming distance support ([#610](https://github.com/nvidia/cuvs/pull/610)) [@enp1s0](https://github.com/enp1s0) -- Add cuda 12.8 support ([#605](https://github.com/nvidia/cuvs/pull/605)) [@robertmaynard](https://github.com/robertmaynard) -- Add support for refinement with `uint32_t` index type ([#563](https://github.com/nvidia/cuvs/pull/563)) [@lowener](https://github.com/lowener) -- [Feat] Support `bitset` filter for Brute Force ([#560](https://github.com/nvidia/cuvs/pull/560)) [@rhdong](https://github.com/rhdong) -- Remove upper bounds on cuda-python to allow 12.6.2 and 11.8.5 ([#508](https://github.com/nvidia/cuvs/pull/508)) [@bdice](https://github.com/bdice) +- Add deep-100M to datasets.yaml for cuvs-bench ([#670](https://github.com/NVIDIA/cuvs/pull/670)) [@tarang-jain](https://github.com/tarang-jain) +- Expose configuration singleton as a global context for ann-bench algos ([#647](https://github.com/NVIDIA/cuvs/pull/647)) [@achirkin](https://github.com/achirkin) +- ANN_BENCH enhanced dataset support ([#624](https://github.com/NVIDIA/cuvs/pull/624)) [@achirkin](https://github.com/achirkin) +- [Feat] Add Support for Index `merge` in CAGRA ([#618](https://github.com/NVIDIA/cuvs/pull/618)) [@rhdong](https://github.com/rhdong) +- HNSW GPU hierarchy ([#616](https://github.com/NVIDIA/cuvs/pull/616)) [@divyegala](https://github.com/divyegala) +- CAGRA binary Hamming distance support ([#610](https://github.com/NVIDIA/cuvs/pull/610)) [@enp1s0](https://github.com/enp1s0) +- Add cuda 12.8 support ([#605](https://github.com/NVIDIA/cuvs/pull/605)) [@robertmaynard](https://github.com/robertmaynard) +- Add support for refinement with `uint32_t` index type ([#563](https://github.com/NVIDIA/cuvs/pull/563)) [@lowener](https://github.com/lowener) +- [Feat] Support `bitset` filter for Brute Force ([#560](https://github.com/NVIDIA/cuvs/pull/560)) [@rhdong](https://github.com/rhdong) +- Remove upper bounds on cuda-python to allow 12.6.2 and 11.8.5 ([#508](https://github.com/NVIDIA/cuvs/pull/508)) [@bdice](https://github.com/bdice) ## 🛠️ Improvements -- Add filtering to python for ivf_flat ([#664](https://github.com/nvidia/cuvs/pull/664)) [@benfred](https://github.com/benfred) -- Expose binary quantizer to C and Python ([#660](https://github.com/nvidia/cuvs/pull/660)) [@benfred](https://github.com/benfred) -- Add telemetry ([#652](https://github.com/nvidia/cuvs/pull/652)) [@gforsyth](https://github.com/gforsyth) -- Revert docs builds to CI latest tag. ([#643](https://github.com/nvidia/cuvs/pull/643)) [@bdice](https://github.com/bdice) -- Add float16 support in python for cagra/brute_force/ivf_pq and scalar quantizer ([#637](https://github.com/nvidia/cuvs/pull/637)) [@benfred](https://github.com/benfred) -- Expose NN-Descent to C and Python ([#635](https://github.com/nvidia/cuvs/pull/635)) [@benfred](https://github.com/benfred) -- Revert CUDA 12.8 shared workflow branch changes ([#630](https://github.com/nvidia/cuvs/pull/630)) [@vyasr](https://github.com/vyasr) -- cuvs-java: Rework the api to be Java 21 friendly ([#628](https://github.com/nvidia/cuvs/pull/628)) [@ChrisHegarty](https://github.com/ChrisHegarty) -- Build and test with CUDA 12.8.0 ([#621](https://github.com/nvidia/cuvs/pull/621)) [@bdice](https://github.com/bdice) -- Add Scalar Quantization to the c and python apis ([#617](https://github.com/nvidia/cuvs/pull/617)) [@benfred](https://github.com/benfred) -- Iteratively build graph index ([#612](https://github.com/nvidia/cuvs/pull/612)) [@anaruse](https://github.com/anaruse) -- update pip devcontainers to UCX 1.18, small update-version.sh fixes ([#604](https://github.com/nvidia/cuvs/pull/604)) [@jameslamb](https://github.com/jameslamb) -- Reduce CAGRA test runtime ([#602](https://github.com/nvidia/cuvs/pull/602)) [@bdice](https://github.com/bdice) -- Revert "Temporarily skip CUDA 11 wheel CI" ([#601](https://github.com/nvidia/cuvs/pull/601)) [@bdice](https://github.com/bdice) -- introduce libcuvs wheels ([#594](https://github.com/nvidia/cuvs/pull/594)) [@jameslamb](https://github.com/jameslamb) -- Normalize whitespace ([#593](https://github.com/nvidia/cuvs/pull/593)) [@bdice](https://github.com/bdice) -- Rename test to tests. ([#590](https://github.com/nvidia/cuvs/pull/590)) [@bdice](https://github.com/bdice) -- Use cuda.bindings layout. ([#588](https://github.com/nvidia/cuvs/pull/588)) [@bdice](https://github.com/bdice) -- run_cuvs_pytests.sh uses proper test dir ([#584](https://github.com/nvidia/cuvs/pull/584)) [@robertmaynard](https://github.com/robertmaynard) -- expose col-major bfknn to python ([#575](https://github.com/nvidia/cuvs/pull/575)) [@benfred](https://github.com/benfred) -- Run cuvs-bench pytests and end-to-end tests in CI ([#574](https://github.com/nvidia/cuvs/pull/574)) [@dantegd](https://github.com/dantegd) -- Expose col-major pairwise distances to python ([#572](https://github.com/nvidia/cuvs/pull/572)) [@benfred](https://github.com/benfred) -- Improve the performance of CAGRA new vector addition with the default params ([#569](https://github.com/nvidia/cuvs/pull/569)) [@enp1s0](https://github.com/enp1s0) -- Improve filtering documentation ([#568](https://github.com/nvidia/cuvs/pull/568)) [@lowener](https://github.com/lowener) -- Use GCC 13 in CUDA 12 conda builds. ([#567](https://github.com/nvidia/cuvs/pull/567)) [@bdice](https://github.com/bdice) -- Allow brute_force::build to work on host matrix dataset ([#562](https://github.com/nvidia/cuvs/pull/562)) [@benfred](https://github.com/benfred) -- FAISS with cuVS enabled in cuvs-bench ([#561](https://github.com/nvidia/cuvs/pull/561)) [@tarang-jain](https://github.com/tarang-jain) -- Vamana build improvement and added docs ([#558](https://github.com/nvidia/cuvs/pull/558)) [@bkarsin](https://github.com/bkarsin) -- Support raft's logger targets ([#557](https://github.com/nvidia/cuvs/pull/557)) [@vyasr](https://github.com/vyasr) -- Get Breathe from conda again ([#554](https://github.com/nvidia/cuvs/pull/554)) [@vyasr](https://github.com/vyasr) -- Check if nightlies have succeeded recently enough ([#548](https://github.com/nvidia/cuvs/pull/548)) [@vyasr](https://github.com/vyasr) -- Add support for float16 to the python pairwise distance api ([#547](https://github.com/nvidia/cuvs/pull/547)) [@benfred](https://github.com/benfred) -- Additional Distances for CAGRA C and Python API ([#546](https://github.com/nvidia/cuvs/pull/546)) [@tarang-jain](https://github.com/tarang-jain) -- remove setup.cfg files, other packaging cleanup ([#544](https://github.com/nvidia/cuvs/pull/544)) [@jameslamb](https://github.com/jameslamb) -- Fix CI for python cuvs_bench ([#541](https://github.com/nvidia/cuvs/pull/541)) [@benfred](https://github.com/benfred) -- Update for raft logger changes ([#540](https://github.com/nvidia/cuvs/pull/540)) [@vyasr](https://github.com/vyasr) -- Change brute_force api to match ivf*/cagra ([#536](https://github.com/nvidia/cuvs/pull/536)) [@benfred](https://github.com/benfred) -- Branch 25.02 merge 24.12 ([#526](https://github.com/nvidia/cuvs/pull/526)) [@benfred](https://github.com/benfred) -- Update cuda-python lower bounds to 12.6.2 / 11.8.5 ([#524](https://github.com/nvidia/cuvs/pull/524)) [@bdice](https://github.com/bdice) -- Automatic adjustment of itopk size according to filtering rate ([#509](https://github.com/nvidia/cuvs/pull/509)) [@anaruse](https://github.com/anaruse) -- prefer system install of UCX in devcontainers ([#501](https://github.com/nvidia/cuvs/pull/501)) [@jameslamb](https://github.com/jameslamb) -- Adapt to rmm logger changes ([#499](https://github.com/nvidia/cuvs/pull/499)) [@vyasr](https://github.com/vyasr) -- Require approval to run CI on draft PRs ([#498](https://github.com/nvidia/cuvs/pull/498)) [@bdice](https://github.com/bdice) -- Remove RAFT BUILD_ANN_BENCH option ([#497](https://github.com/nvidia/cuvs/pull/497)) [@bdice](https://github.com/bdice) -- Update example code fetching rapids-cmake to use CUVS instead of RAFT ([#493](https://github.com/nvidia/cuvs/pull/493)) [@bdice](https://github.com/bdice) -- Improve multi-CTA algorithm ([#492](https://github.com/nvidia/cuvs/pull/492)) [@anaruse](https://github.com/anaruse) -- Add filtering for CAGRA to C API ([#452](https://github.com/nvidia/cuvs/pull/452)) [@ajit283](https://github.com/ajit283) -- Initial cut for a cuVS Java API ([#450](https://github.com/nvidia/cuvs/pull/450)) [@chatman](https://github.com/chatman) -- Add breaking change workflow trigger ([#442](https://github.com/nvidia/cuvs/pull/442)) [@AyodeAwe](https://github.com/AyodeAwe) -- Expose `extend()` in C API ([#276](https://github.com/nvidia/cuvs/pull/276)) [@ajit283](https://github.com/ajit283) -- Go API - [WIP] ([#212](https://github.com/nvidia/cuvs/pull/212)) [@ajit283](https://github.com/ajit283) +- Add filtering to python for ivf_flat ([#664](https://github.com/NVIDIA/cuvs/pull/664)) [@benfred](https://github.com/benfred) +- Expose binary quantizer to C and Python ([#660](https://github.com/NVIDIA/cuvs/pull/660)) [@benfred](https://github.com/benfred) +- Add telemetry ([#652](https://github.com/NVIDIA/cuvs/pull/652)) [@gforsyth](https://github.com/gforsyth) +- Revert docs builds to CI latest tag. ([#643](https://github.com/NVIDIA/cuvs/pull/643)) [@bdice](https://github.com/bdice) +- Add float16 support in python for cagra/brute_force/ivf_pq and scalar quantizer ([#637](https://github.com/NVIDIA/cuvs/pull/637)) [@benfred](https://github.com/benfred) +- Expose NN-Descent to C and Python ([#635](https://github.com/NVIDIA/cuvs/pull/635)) [@benfred](https://github.com/benfred) +- Revert CUDA 12.8 shared workflow branch changes ([#630](https://github.com/NVIDIA/cuvs/pull/630)) [@vyasr](https://github.com/vyasr) +- cuvs-java: Rework the api to be Java 21 friendly ([#628](https://github.com/NVIDIA/cuvs/pull/628)) [@ChrisHegarty](https://github.com/ChrisHegarty) +- Build and test with CUDA 12.8.0 ([#621](https://github.com/NVIDIA/cuvs/pull/621)) [@bdice](https://github.com/bdice) +- Add Scalar Quantization to the c and python apis ([#617](https://github.com/NVIDIA/cuvs/pull/617)) [@benfred](https://github.com/benfred) +- Iteratively build graph index ([#612](https://github.com/NVIDIA/cuvs/pull/612)) [@anaruse](https://github.com/anaruse) +- update pip devcontainers to UCX 1.18, small update-version.sh fixes ([#604](https://github.com/NVIDIA/cuvs/pull/604)) [@jameslamb](https://github.com/jameslamb) +- Reduce CAGRA test runtime ([#602](https://github.com/NVIDIA/cuvs/pull/602)) [@bdice](https://github.com/bdice) +- Revert "Temporarily skip CUDA 11 wheel CI" ([#601](https://github.com/NVIDIA/cuvs/pull/601)) [@bdice](https://github.com/bdice) +- introduce libcuvs wheels ([#594](https://github.com/NVIDIA/cuvs/pull/594)) [@jameslamb](https://github.com/jameslamb) +- Normalize whitespace ([#593](https://github.com/NVIDIA/cuvs/pull/593)) [@bdice](https://github.com/bdice) +- Rename test to tests. ([#590](https://github.com/NVIDIA/cuvs/pull/590)) [@bdice](https://github.com/bdice) +- Use cuda.bindings layout. ([#588](https://github.com/NVIDIA/cuvs/pull/588)) [@bdice](https://github.com/bdice) +- run_cuvs_pytests.sh uses proper test dir ([#584](https://github.com/NVIDIA/cuvs/pull/584)) [@robertmaynard](https://github.com/robertmaynard) +- expose col-major bfknn to python ([#575](https://github.com/NVIDIA/cuvs/pull/575)) [@benfred](https://github.com/benfred) +- Run cuvs-bench pytests and end-to-end tests in CI ([#574](https://github.com/NVIDIA/cuvs/pull/574)) [@dantegd](https://github.com/dantegd) +- Expose col-major pairwise distances to python ([#572](https://github.com/NVIDIA/cuvs/pull/572)) [@benfred](https://github.com/benfred) +- Improve the performance of CAGRA new vector addition with the default params ([#569](https://github.com/NVIDIA/cuvs/pull/569)) [@enp1s0](https://github.com/enp1s0) +- Improve filtering documentation ([#568](https://github.com/NVIDIA/cuvs/pull/568)) [@lowener](https://github.com/lowener) +- Use GCC 13 in CUDA 12 conda builds. ([#567](https://github.com/NVIDIA/cuvs/pull/567)) [@bdice](https://github.com/bdice) +- Allow brute_force::build to work on host matrix dataset ([#562](https://github.com/NVIDIA/cuvs/pull/562)) [@benfred](https://github.com/benfred) +- FAISS with cuVS enabled in cuvs-bench ([#561](https://github.com/NVIDIA/cuvs/pull/561)) [@tarang-jain](https://github.com/tarang-jain) +- Vamana build improvement and added docs ([#558](https://github.com/NVIDIA/cuvs/pull/558)) [@bkarsin](https://github.com/bkarsin) +- Support raft's logger targets ([#557](https://github.com/NVIDIA/cuvs/pull/557)) [@vyasr](https://github.com/vyasr) +- Get Breathe from conda again ([#554](https://github.com/NVIDIA/cuvs/pull/554)) [@vyasr](https://github.com/vyasr) +- Check if nightlies have succeeded recently enough ([#548](https://github.com/NVIDIA/cuvs/pull/548)) [@vyasr](https://github.com/vyasr) +- Add support for float16 to the python pairwise distance api ([#547](https://github.com/NVIDIA/cuvs/pull/547)) [@benfred](https://github.com/benfred) +- Additional Distances for CAGRA C and Python API ([#546](https://github.com/NVIDIA/cuvs/pull/546)) [@tarang-jain](https://github.com/tarang-jain) +- remove setup.cfg files, other packaging cleanup ([#544](https://github.com/NVIDIA/cuvs/pull/544)) [@jameslamb](https://github.com/jameslamb) +- Fix CI for python cuvs_bench ([#541](https://github.com/NVIDIA/cuvs/pull/541)) [@benfred](https://github.com/benfred) +- Update for raft logger changes ([#540](https://github.com/NVIDIA/cuvs/pull/540)) [@vyasr](https://github.com/vyasr) +- Change brute_force api to match ivf*/cagra ([#536](https://github.com/NVIDIA/cuvs/pull/536)) [@benfred](https://github.com/benfred) +- Branch 25.02 merge 24.12 ([#526](https://github.com/NVIDIA/cuvs/pull/526)) [@benfred](https://github.com/benfred) +- Update cuda-python lower bounds to 12.6.2 / 11.8.5 ([#524](https://github.com/NVIDIA/cuvs/pull/524)) [@bdice](https://github.com/bdice) +- Automatic adjustment of itopk size according to filtering rate ([#509](https://github.com/NVIDIA/cuvs/pull/509)) [@anaruse](https://github.com/anaruse) +- prefer system install of UCX in devcontainers ([#501](https://github.com/NVIDIA/cuvs/pull/501)) [@jameslamb](https://github.com/jameslamb) +- Adapt to rmm logger changes ([#499](https://github.com/NVIDIA/cuvs/pull/499)) [@vyasr](https://github.com/vyasr) +- Require approval to run CI on draft PRs ([#498](https://github.com/NVIDIA/cuvs/pull/498)) [@bdice](https://github.com/bdice) +- Remove RAFT BUILD_ANN_BENCH option ([#497](https://github.com/NVIDIA/cuvs/pull/497)) [@bdice](https://github.com/bdice) +- Update example code fetching rapids-cmake to use CUVS instead of RAFT ([#493](https://github.com/NVIDIA/cuvs/pull/493)) [@bdice](https://github.com/bdice) +- Improve multi-CTA algorithm ([#492](https://github.com/NVIDIA/cuvs/pull/492)) [@anaruse](https://github.com/anaruse) +- Add filtering for CAGRA to C API ([#452](https://github.com/NVIDIA/cuvs/pull/452)) [@ajit283](https://github.com/ajit283) +- Initial cut for a cuVS Java API ([#450](https://github.com/NVIDIA/cuvs/pull/450)) [@chatman](https://github.com/chatman) +- Add breaking change workflow trigger ([#442](https://github.com/NVIDIA/cuvs/pull/442)) [@AyodeAwe](https://github.com/AyodeAwe) +- Expose `extend()` in C API ([#276](https://github.com/NVIDIA/cuvs/pull/276)) [@ajit283](https://github.com/ajit283) +- Go API - [WIP] ([#212](https://github.com/NVIDIA/cuvs/pull/212)) [@ajit283](https://github.com/ajit283) # cuvs 24.12.00 (11 Dec 2024) ## 🚨 Breaking Changes -- HNSW CPU Hierarchy ([#465](https://github.com/nvidia/cuvs/pull/465)) [@divyegala](https://github.com/divyegala) -- Use dashes in cuvs-bench package name. ([#417](https://github.com/nvidia/cuvs/pull/417)) [@bdice](https://github.com/bdice) +- HNSW CPU Hierarchy ([#465](https://github.com/NVIDIA/cuvs/pull/465)) [@divyegala](https://github.com/divyegala) +- Use dashes in cuvs-bench package name. ([#417](https://github.com/NVIDIA/cuvs/pull/417)) [@bdice](https://github.com/bdice) ## 🐛 Bug Fixes -- Skip IVF-PQ packing test for lists with not enough data ([#512](https://github.com/nvidia/cuvs/pull/512)) [@achirkin](https://github.com/achirkin) -- [BUG] Fix CAGRA filter ([#489](https://github.com/nvidia/cuvs/pull/489)) [@enp1s0](https://github.com/enp1s0) -- Add `kIsSingleSource` to `PairwiseDistanceEpilogueElementwise` ([#485](https://github.com/nvidia/cuvs/pull/485)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Fix include errors, header, and unsafe locks in iface.hpp ([#467](https://github.com/nvidia/cuvs/pull/467)) [@achirkin](https://github.com/achirkin) -- Fix an OOB error in device-side cuvs::neighbors::refine and CAGRA kern_prune ([#460](https://github.com/nvidia/cuvs/pull/460)) [@achirkin](https://github.com/achirkin) -- Put a ceiling on cuda-python ([#445](https://github.com/nvidia/cuvs/pull/445)) [@bdice](https://github.com/bdice) -- Enable NVTX in cuvs-cagra-search component ([#439](https://github.com/nvidia/cuvs/pull/439)) [@achirkin](https://github.com/achirkin) -- BUG: CAGRA multi-cta illegal access with bad queries ([#438](https://github.com/nvidia/cuvs/pull/438)) [@achirkin](https://github.com/achirkin) -- Fix index overflow in edge cases of CAGRA graph optimize ([#435](https://github.com/nvidia/cuvs/pull/435)) [@achirkin](https://github.com/achirkin) -- Fix correct call to brute force in generate groundtruth of cuvs-bench ([#427](https://github.com/nvidia/cuvs/pull/427)) [@dantegd](https://github.com/dantegd) -- Use Python for sccache hit rate computation. ([#420](https://github.com/nvidia/cuvs/pull/420)) [@bdice](https://github.com/bdice) -- Add `click` package to `cuvs-bench` conda recipe ([#408](https://github.com/nvidia/cuvs/pull/408)) [@divyegala](https://github.com/divyegala) -- Fix NVTX annotations ([#400](https://github.com/nvidia/cuvs/pull/400)) [@achirkin](https://github.com/achirkin) +- Skip IVF-PQ packing test for lists with not enough data ([#512](https://github.com/NVIDIA/cuvs/pull/512)) [@achirkin](https://github.com/achirkin) +- [BUG] Fix CAGRA filter ([#489](https://github.com/NVIDIA/cuvs/pull/489)) [@enp1s0](https://github.com/enp1s0) +- Add `kIsSingleSource` to `PairwiseDistanceEpilogueElementwise` ([#485](https://github.com/NVIDIA/cuvs/pull/485)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Fix include errors, header, and unsafe locks in iface.hpp ([#467](https://github.com/NVIDIA/cuvs/pull/467)) [@achirkin](https://github.com/achirkin) +- Fix an OOB error in device-side cuvs::neighbors::refine and CAGRA kern_prune ([#460](https://github.com/NVIDIA/cuvs/pull/460)) [@achirkin](https://github.com/achirkin) +- Put a ceiling on cuda-python ([#445](https://github.com/NVIDIA/cuvs/pull/445)) [@bdice](https://github.com/bdice) +- Enable NVTX in cuvs-cagra-search component ([#439](https://github.com/NVIDIA/cuvs/pull/439)) [@achirkin](https://github.com/achirkin) +- BUG: CAGRA multi-cta illegal access with bad queries ([#438](https://github.com/NVIDIA/cuvs/pull/438)) [@achirkin](https://github.com/achirkin) +- Fix index overflow in edge cases of CAGRA graph optimize ([#435](https://github.com/NVIDIA/cuvs/pull/435)) [@achirkin](https://github.com/achirkin) +- Fix correct call to brute force in generate groundtruth of cuvs-bench ([#427](https://github.com/NVIDIA/cuvs/pull/427)) [@dantegd](https://github.com/dantegd) +- Use Python for sccache hit rate computation. ([#420](https://github.com/NVIDIA/cuvs/pull/420)) [@bdice](https://github.com/bdice) +- Add `click` package to `cuvs-bench` conda recipe ([#408](https://github.com/NVIDIA/cuvs/pull/408)) [@divyegala](https://github.com/divyegala) +- Fix NVTX annotations ([#400](https://github.com/NVIDIA/cuvs/pull/400)) [@achirkin](https://github.com/achirkin) ## 📖 Documentation -- [Doc] Fix CAGRA search sample code ([#484](https://github.com/nvidia/cuvs/pull/484)) [@enp1s0](https://github.com/enp1s0) -- Fix broken link in README.md references ([#473](https://github.com/nvidia/cuvs/pull/473)) [@Azurethi](https://github.com/Azurethi) -- Adding tech stack to docs ([#448](https://github.com/nvidia/cuvs/pull/448)) [@cjnolet](https://github.com/cjnolet) -- Fix Question Retrieval notebook ([#352](https://github.com/nvidia/cuvs/pull/352)) [@lowener](https://github.com/lowener) +- [Doc] Fix CAGRA search sample code ([#484](https://github.com/NVIDIA/cuvs/pull/484)) [@enp1s0](https://github.com/enp1s0) +- Fix broken link in README.md references ([#473](https://github.com/NVIDIA/cuvs/pull/473)) [@Azurethi](https://github.com/Azurethi) +- Adding tech stack to docs ([#448](https://github.com/NVIDIA/cuvs/pull/448)) [@cjnolet](https://github.com/cjnolet) +- Fix Question Retrieval notebook ([#352](https://github.com/NVIDIA/cuvs/pull/352)) [@lowener](https://github.com/lowener) ## 🚀 New Features -- Add C++ API scalar quantization ([#494](https://github.com/nvidia/cuvs/pull/494)) [@mfoerste4](https://github.com/mfoerste4) -- HNSW CPU Hierarchy ([#465](https://github.com/nvidia/cuvs/pull/465)) [@divyegala](https://github.com/divyegala) -- Add serialization API to brute-force ([#461](https://github.com/nvidia/cuvs/pull/461)) [@lowener](https://github.com/lowener) -- Add Question Retrieval notebook using Milvus ([#451](https://github.com/nvidia/cuvs/pull/451)) [@lowener](https://github.com/lowener) -- Migrate feature diff for NN Descent from RAFT to cuVS ([#421](https://github.com/nvidia/cuvs/pull/421)) [@divyegala](https://github.com/divyegala) -- Add --no-lap-sync cmd option to ann-bench ([#405](https://github.com/nvidia/cuvs/pull/405)) [@achirkin](https://github.com/achirkin) -- Add `InnerProduct` and `CosineExpanded` metric support in NN Descent ([#177](https://github.com/nvidia/cuvs/pull/177)) [@divyegala](https://github.com/divyegala) +- Add C++ API scalar quantization ([#494](https://github.com/NVIDIA/cuvs/pull/494)) [@mfoerste4](https://github.com/mfoerste4) +- HNSW CPU Hierarchy ([#465](https://github.com/NVIDIA/cuvs/pull/465)) [@divyegala](https://github.com/divyegala) +- Add serialization API to brute-force ([#461](https://github.com/NVIDIA/cuvs/pull/461)) [@lowener](https://github.com/lowener) +- Add Question Retrieval notebook using Milvus ([#451](https://github.com/NVIDIA/cuvs/pull/451)) [@lowener](https://github.com/lowener) +- Migrate feature diff for NN Descent from RAFT to cuVS ([#421](https://github.com/NVIDIA/cuvs/pull/421)) [@divyegala](https://github.com/divyegala) +- Add --no-lap-sync cmd option to ann-bench ([#405](https://github.com/NVIDIA/cuvs/pull/405)) [@achirkin](https://github.com/achirkin) +- Add `InnerProduct` and `CosineExpanded` metric support in NN Descent ([#177](https://github.com/NVIDIA/cuvs/pull/177)) [@divyegala](https://github.com/divyegala) ## 🛠️ Improvements -- Update cuvs to match raft's cutlass changes ([#516](https://github.com/nvidia/cuvs/pull/516)) [@vyasr](https://github.com/vyasr) -- add a README for wheels ([#504](https://github.com/nvidia/cuvs/pull/504)) [@jameslamb](https://github.com/jameslamb) -- Move check_input_array from pylibraft ([#474](https://github.com/nvidia/cuvs/pull/474)) [@benfred](https://github.com/benfred) -- use different wheel-size thresholds based on CUDA version ([#469](https://github.com/nvidia/cuvs/pull/469)) [@jameslamb](https://github.com/jameslamb) -- Modify cuvs-bench to be able to generate ground truth in CPU systems ([#466](https://github.com/nvidia/cuvs/pull/466)) [@dantegd](https://github.com/dantegd) -- enforce wheel size limits, README formatting in CI ([#464](https://github.com/nvidia/cuvs/pull/464)) [@jameslamb](https://github.com/jameslamb) -- Moving spectral embedding and kernel gramm APIs to cuVS ([#463](https://github.com/nvidia/cuvs/pull/463)) [@cjnolet](https://github.com/cjnolet) -- Migrate sparse knn and distances code from raft ([#457](https://github.com/nvidia/cuvs/pull/457)) [@benfred](https://github.com/benfred) -- Don't presume pointers location infers usability. ([#441](https://github.com/nvidia/cuvs/pull/441)) [@robertmaynard](https://github.com/robertmaynard) -- call `enable_testing` in root CMakeLists.txt ([#437](https://github.com/nvidia/cuvs/pull/437)) [@robertmaynard](https://github.com/robertmaynard) -- CAGRA tech debt: distance descriptor and workspace memory ([#436](https://github.com/nvidia/cuvs/pull/436)) [@achirkin](https://github.com/achirkin) -- Add ci run_ scripts needed for build infra ([#434](https://github.com/nvidia/cuvs/pull/434)) [@robertmaynard](https://github.com/robertmaynard) -- Use environment variables in cache hit rate computation. ([#422](https://github.com/nvidia/cuvs/pull/422)) [@bdice](https://github.com/bdice) -- Use dashes in cuvs-bench package name. ([#417](https://github.com/nvidia/cuvs/pull/417)) [@bdice](https://github.com/bdice) -- We need to enable the c_api by default ([#416](https://github.com/nvidia/cuvs/pull/416)) [@robertmaynard](https://github.com/robertmaynard) -- print sccache stats in builds ([#413](https://github.com/nvidia/cuvs/pull/413)) [@jameslamb](https://github.com/jameslamb) -- make conda installs in CI stricter ([#406](https://github.com/nvidia/cuvs/pull/406)) [@jameslamb](https://github.com/jameslamb) -- Ivf c example ([#404](https://github.com/nvidia/cuvs/pull/404)) [@abner-ma](https://github.com/abner-ma) -- Prune workflows based on changed files ([#392](https://github.com/nvidia/cuvs/pull/392)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- [WIP] Add pinned memory resource to C API ([#311](https://github.com/nvidia/cuvs/pull/311)) [@ajit283](https://github.com/ajit283) -- Dynamic Batching ([#261](https://github.com/nvidia/cuvs/pull/261)) [@achirkin](https://github.com/achirkin) +- Update cuvs to match raft's cutlass changes ([#516](https://github.com/NVIDIA/cuvs/pull/516)) [@vyasr](https://github.com/vyasr) +- add a README for wheels ([#504](https://github.com/NVIDIA/cuvs/pull/504)) [@jameslamb](https://github.com/jameslamb) +- Move check_input_array from pylibraft ([#474](https://github.com/NVIDIA/cuvs/pull/474)) [@benfred](https://github.com/benfred) +- use different wheel-size thresholds based on CUDA version ([#469](https://github.com/NVIDIA/cuvs/pull/469)) [@jameslamb](https://github.com/jameslamb) +- Modify cuvs-bench to be able to generate ground truth in CPU systems ([#466](https://github.com/NVIDIA/cuvs/pull/466)) [@dantegd](https://github.com/dantegd) +- enforce wheel size limits, README formatting in CI ([#464](https://github.com/NVIDIA/cuvs/pull/464)) [@jameslamb](https://github.com/jameslamb) +- Moving spectral embedding and kernel gramm APIs to cuVS ([#463](https://github.com/NVIDIA/cuvs/pull/463)) [@cjnolet](https://github.com/cjnolet) +- Migrate sparse knn and distances code from raft ([#457](https://github.com/NVIDIA/cuvs/pull/457)) [@benfred](https://github.com/benfred) +- Don't presume pointers location infers usability. ([#441](https://github.com/NVIDIA/cuvs/pull/441)) [@robertmaynard](https://github.com/robertmaynard) +- call `enable_testing` in root CMakeLists.txt ([#437](https://github.com/NVIDIA/cuvs/pull/437)) [@robertmaynard](https://github.com/robertmaynard) +- CAGRA tech debt: distance descriptor and workspace memory ([#436](https://github.com/NVIDIA/cuvs/pull/436)) [@achirkin](https://github.com/achirkin) +- Add ci run_ scripts needed for build infra ([#434](https://github.com/NVIDIA/cuvs/pull/434)) [@robertmaynard](https://github.com/robertmaynard) +- Use environment variables in cache hit rate computation. ([#422](https://github.com/NVIDIA/cuvs/pull/422)) [@bdice](https://github.com/bdice) +- Use dashes in cuvs-bench package name. ([#417](https://github.com/NVIDIA/cuvs/pull/417)) [@bdice](https://github.com/bdice) +- We need to enable the c_api by default ([#416](https://github.com/NVIDIA/cuvs/pull/416)) [@robertmaynard](https://github.com/robertmaynard) +- print sccache stats in builds ([#413](https://github.com/NVIDIA/cuvs/pull/413)) [@jameslamb](https://github.com/jameslamb) +- make conda installs in CI stricter ([#406](https://github.com/NVIDIA/cuvs/pull/406)) [@jameslamb](https://github.com/jameslamb) +- Ivf c example ([#404](https://github.com/NVIDIA/cuvs/pull/404)) [@abner-ma](https://github.com/abner-ma) +- Prune workflows based on changed files ([#392](https://github.com/NVIDIA/cuvs/pull/392)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- [WIP] Add pinned memory resource to C API ([#311](https://github.com/NVIDIA/cuvs/pull/311)) [@ajit283](https://github.com/ajit283) +- Dynamic Batching ([#261](https://github.com/NVIDIA/cuvs/pull/261)) [@achirkin](https://github.com/achirkin) # cuvs 24.10.00 (9 Oct 2024) ## 🐛 Bug Fixes -- Use 64 bit types for dataset size calculation in CAGRA graph optimizer ([#380](https://github.com/nvidia/cuvs/pull/380)) [@tfeher](https://github.com/tfeher) -- Remove EXPLICIT_INSTANTIATE_ONLY macros ([#358](https://github.com/nvidia/cuvs/pull/358)) [@achirkin](https://github.com/achirkin) -- Fix order of operations for cosine IVF Flat ([#329](https://github.com/nvidia/cuvs/pull/329)) [@lowener](https://github.com/lowener) -- Exclude any kernel symbol that uses cutlass ([#314](https://github.com/nvidia/cuvs/pull/314)) [@benfred](https://github.com/benfred) -- [Fix] pin raft dependent to rapidsai ([#299](https://github.com/nvidia/cuvs/pull/299)) [@rhdong](https://github.com/rhdong) -- Fix dataset dimension in IVF-PQ C wrappers ([#292](https://github.com/nvidia/cuvs/pull/292)) [@tfeher](https://github.com/tfeher) -- Fix python ivf-pq for int8/uint8 dtypes ([#271](https://github.com/nvidia/cuvs/pull/271)) [@benfred](https://github.com/benfred) -- FP16 API for CAGRA and IVF-PQ ([#264](https://github.com/nvidia/cuvs/pull/264)) [@tfeher](https://github.com/tfeher) +- Use 64 bit types for dataset size calculation in CAGRA graph optimizer ([#380](https://github.com/NVIDIA/cuvs/pull/380)) [@tfeher](https://github.com/tfeher) +- Remove EXPLICIT_INSTANTIATE_ONLY macros ([#358](https://github.com/NVIDIA/cuvs/pull/358)) [@achirkin](https://github.com/achirkin) +- Fix order of operations for cosine IVF Flat ([#329](https://github.com/NVIDIA/cuvs/pull/329)) [@lowener](https://github.com/lowener) +- Exclude any kernel symbol that uses cutlass ([#314](https://github.com/NVIDIA/cuvs/pull/314)) [@benfred](https://github.com/benfred) +- [Fix] pin raft dependent to rapidsai ([#299](https://github.com/NVIDIA/cuvs/pull/299)) [@rhdong](https://github.com/rhdong) +- Fix dataset dimension in IVF-PQ C wrappers ([#292](https://github.com/NVIDIA/cuvs/pull/292)) [@tfeher](https://github.com/tfeher) +- Fix python ivf-pq for int8/uint8 dtypes ([#271](https://github.com/NVIDIA/cuvs/pull/271)) [@benfred](https://github.com/benfred) +- FP16 API for CAGRA and IVF-PQ ([#264](https://github.com/NVIDIA/cuvs/pull/264)) [@tfeher](https://github.com/tfeher) ## 📖 Documentation -- More doc updates for 24.10 ([#396](https://github.com/nvidia/cuvs/pull/396)) [@cjnolet](https://github.com/cjnolet) -- fix 404 in documentation link in readme ([#395](https://github.com/nvidia/cuvs/pull/395)) [@benfred](https://github.com/benfred) -- Improving getting started materials ([#342](https://github.com/nvidia/cuvs/pull/342)) [@cjnolet](https://github.com/cjnolet) -- Fix broken examples link in README. ([#326](https://github.com/nvidia/cuvs/pull/326)) [@bdice](https://github.com/bdice) -- Recommend `miniforge` for conda install ([#325](https://github.com/nvidia/cuvs/pull/325)) [@bdice](https://github.com/bdice) +- More doc updates for 24.10 ([#396](https://github.com/NVIDIA/cuvs/pull/396)) [@cjnolet](https://github.com/cjnolet) +- fix 404 in documentation link in readme ([#395](https://github.com/NVIDIA/cuvs/pull/395)) [@benfred](https://github.com/benfred) +- Improving getting started materials ([#342](https://github.com/NVIDIA/cuvs/pull/342)) [@cjnolet](https://github.com/cjnolet) +- Fix broken examples link in README. ([#326](https://github.com/NVIDIA/cuvs/pull/326)) [@bdice](https://github.com/bdice) +- Recommend `miniforge` for conda install ([#325](https://github.com/NVIDIA/cuvs/pull/325)) [@bdice](https://github.com/bdice) ## 🚀 New Features -- Port remaining scripts to `cuvs_bench` ([#368](https://github.com/nvidia/cuvs/pull/368)) [@divyegala](https://github.com/divyegala) -- [Feat] Relative change with `bitset` API feature #2439 in raft ([#350](https://github.com/nvidia/cuvs/pull/350)) [@rhdong](https://github.com/rhdong) -- cuvs_bench plotting functions ([#347](https://github.com/nvidia/cuvs/pull/347)) [@dantegd](https://github.com/dantegd) -- CosineExpanded Metric for IVF-PQ (normalize inputs) ([#346](https://github.com/nvidia/cuvs/pull/346)) [@tarang-jain](https://github.com/tarang-jain) -- Python API for CAGRA+HNSW ([#246](https://github.com/nvidia/cuvs/pull/246)) [@divyegala](https://github.com/divyegala) -- C API for CAGRA+HNSW ([#240](https://github.com/nvidia/cuvs/pull/240)) [@divyegala](https://github.com/divyegala) -- SNMG ANN ([#231](https://github.com/nvidia/cuvs/pull/231)) [@viclafargue](https://github.com/viclafargue) -- [FEA] Support for half-float mixed precise in brute-force ([#225](https://github.com/nvidia/cuvs/pull/225)) [@rhdong](https://github.com/rhdong) +- Port remaining scripts to `cuvs_bench` ([#368](https://github.com/NVIDIA/cuvs/pull/368)) [@divyegala](https://github.com/divyegala) +- [Feat] Relative change with `bitset` API feature #2439 in raft ([#350](https://github.com/NVIDIA/cuvs/pull/350)) [@rhdong](https://github.com/rhdong) +- cuvs_bench plotting functions ([#347](https://github.com/NVIDIA/cuvs/pull/347)) [@dantegd](https://github.com/dantegd) +- CosineExpanded Metric for IVF-PQ (normalize inputs) ([#346](https://github.com/NVIDIA/cuvs/pull/346)) [@tarang-jain](https://github.com/tarang-jain) +- Python API for CAGRA+HNSW ([#246](https://github.com/NVIDIA/cuvs/pull/246)) [@divyegala](https://github.com/divyegala) +- C API for CAGRA+HNSW ([#240](https://github.com/NVIDIA/cuvs/pull/240)) [@divyegala](https://github.com/divyegala) +- SNMG ANN ([#231](https://github.com/NVIDIA/cuvs/pull/231)) [@viclafargue](https://github.com/viclafargue) +- [FEA] Support for half-float mixed precise in brute-force ([#225](https://github.com/NVIDIA/cuvs/pull/225)) [@rhdong](https://github.com/rhdong) ## 🛠️ Improvements -- Remove cuvs-cagra-search from cuvs_static link ([#388](https://github.com/nvidia/cuvs/pull/388)) [@benfred](https://github.com/benfred) -- Add a static library for cuvs ([#382](https://github.com/nvidia/cuvs/pull/382)) [@benfred](https://github.com/benfred) -- Put the ann-bench large_workspace_resource in managed memory ([#372](https://github.com/nvidia/cuvs/pull/372)) [@achirkin](https://github.com/achirkin) -- Add multigpu kmeans fit function ([#348](https://github.com/nvidia/cuvs/pull/348)) [@benfred](https://github.com/benfred) -- Update update-version.sh to use packaging lib ([#344](https://github.com/nvidia/cuvs/pull/344)) [@AyodeAwe](https://github.com/AyodeAwe) -- remove NCCL pins in build and test environments ([#341](https://github.com/nvidia/cuvs/pull/341)) [@jameslamb](https://github.com/jameslamb) -- Vamana/DiskANN index build ([#339](https://github.com/nvidia/cuvs/pull/339)) [@bkarsin](https://github.com/bkarsin) -- Use CI workflow branch 'branch-24.10' again ([#331](https://github.com/nvidia/cuvs/pull/331)) [@jameslamb](https://github.com/jameslamb) -- fix style checks on Python 3.12 ([#328](https://github.com/nvidia/cuvs/pull/328)) [@jameslamb](https://github.com/jameslamb) -- Update flake8 to 7.1.1. ([#327](https://github.com/nvidia/cuvs/pull/327)) [@bdice](https://github.com/bdice) -- Add function for calculating the mutual_reachability_graph ([#323](https://github.com/nvidia/cuvs/pull/323)) [@benfred](https://github.com/benfred) -- Simplify libcuvs conda recipe. ([#322](https://github.com/nvidia/cuvs/pull/322)) [@bdice](https://github.com/bdice) -- Refactor dependencies.yaml to use depends-on pattern. ([#321](https://github.com/nvidia/cuvs/pull/321)) [@bdice](https://github.com/bdice) -- Update Python versions in cuvs_bench pyproject.toml. ([#318](https://github.com/nvidia/cuvs/pull/318)) [@bdice](https://github.com/bdice) -- Brute force knn tile size heuristic ([#316](https://github.com/nvidia/cuvs/pull/316)) [@mfoerste4](https://github.com/mfoerste4) -- Euclidean distance example ([#315](https://github.com/nvidia/cuvs/pull/315)) [@abner-ma](https://github.com/abner-ma) -- Migrate trustworthiness and silhouette_score stats from RAFT ([#313](https://github.com/nvidia/cuvs/pull/313)) [@benfred](https://github.com/benfred) -- Add support for Python 3.12 ([#312](https://github.com/nvidia/cuvs/pull/312)) [@jameslamb](https://github.com/jameslamb) -- Add `managed` option for RMM Pool memory resource to C API ([#305](https://github.com/nvidia/cuvs/pull/305)) [@ajit283](https://github.com/ajit283) -- Update rapidsai/pre-commit-hooks ([#303](https://github.com/nvidia/cuvs/pull/303)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Expose search function with pre-filter for ANN ([#302](https://github.com/nvidia/cuvs/pull/302)) [@lowener](https://github.com/lowener) -- Drop Python 3.9 support ([#301](https://github.com/nvidia/cuvs/pull/301)) [@jameslamb](https://github.com/jameslamb) -- Use CUDA math wheels ([#298](https://github.com/nvidia/cuvs/pull/298)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Remove NumPy <2 pin ([#297](https://github.com/nvidia/cuvs/pull/297)) [@seberg](https://github.com/seberg) -- CAGRA - separable compilation for distance computation ([#296](https://github.com/nvidia/cuvs/pull/296)) [@achirkin](https://github.com/achirkin) -- Updating example notebooks ([#294](https://github.com/nvidia/cuvs/pull/294)) [@cjnolet](https://github.com/cjnolet) -- Add RMM Pool memory resource to C API ([#285](https://github.com/nvidia/cuvs/pull/285)) [@ajit283](https://github.com/ajit283) -- Update pre-commit hooks ([#283](https://github.com/nvidia/cuvs/pull/283)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Improve update-version.sh ([#282](https://github.com/nvidia/cuvs/pull/282)) [@bdice](https://github.com/bdice) -- Use tool.scikit-build.cmake.version, set scikit-build-core minimum-version ([#280](https://github.com/nvidia/cuvs/pull/280)) [@jameslamb](https://github.com/jameslamb) -- Add cuvs_bench.run python code and build ([#279](https://github.com/nvidia/cuvs/pull/279)) [@dantegd](https://github.com/dantegd) -- Add cuvs-bench to dependencies and conda environments ([#275](https://github.com/nvidia/cuvs/pull/275)) [@dantegd](https://github.com/dantegd) -- Update pip devcontainers to UCX v1.17.0 ([#262](https://github.com/nvidia/cuvs/pull/262)) [@jameslamb](https://github.com/jameslamb) -- Adding example for tuning build and search params using Optuna ([#257](https://github.com/nvidia/cuvs/pull/257)) [@dpadmanabhan03](https://github.com/dpadmanabhan03) -- Fixed link to build docs and corrected ivf_flat_example ([#255](https://github.com/nvidia/cuvs/pull/255)) [@mmccarty](https://github.com/mmccarty) -- Merge branch-24.08 into branch-24.10 ([#254](https://github.com/nvidia/cuvs/pull/254)) [@jameslamb](https://github.com/jameslamb) -- Persistent CAGRA kernel ([#215](https://github.com/nvidia/cuvs/pull/215)) [@achirkin](https://github.com/achirkin) -- [FEA] Support for Cosine distance in IVF-Flat ([#179](https://github.com/nvidia/cuvs/pull/179)) [@lowener](https://github.com/lowener) +- Remove cuvs-cagra-search from cuvs_static link ([#388](https://github.com/NVIDIA/cuvs/pull/388)) [@benfred](https://github.com/benfred) +- Add a static library for cuvs ([#382](https://github.com/NVIDIA/cuvs/pull/382)) [@benfred](https://github.com/benfred) +- Put the ann-bench large_workspace_resource in managed memory ([#372](https://github.com/NVIDIA/cuvs/pull/372)) [@achirkin](https://github.com/achirkin) +- Add multigpu kmeans fit function ([#348](https://github.com/NVIDIA/cuvs/pull/348)) [@benfred](https://github.com/benfred) +- Update update-version.sh to use packaging lib ([#344](https://github.com/NVIDIA/cuvs/pull/344)) [@AyodeAwe](https://github.com/AyodeAwe) +- remove NCCL pins in build and test environments ([#341](https://github.com/NVIDIA/cuvs/pull/341)) [@jameslamb](https://github.com/jameslamb) +- Vamana/DiskANN index build ([#339](https://github.com/NVIDIA/cuvs/pull/339)) [@bkarsin](https://github.com/bkarsin) +- Use CI workflow branch 'branch-24.10' again ([#331](https://github.com/NVIDIA/cuvs/pull/331)) [@jameslamb](https://github.com/jameslamb) +- fix style checks on Python 3.12 ([#328](https://github.com/NVIDIA/cuvs/pull/328)) [@jameslamb](https://github.com/jameslamb) +- Update flake8 to 7.1.1. ([#327](https://github.com/NVIDIA/cuvs/pull/327)) [@bdice](https://github.com/bdice) +- Add function for calculating the mutual_reachability_graph ([#323](https://github.com/NVIDIA/cuvs/pull/323)) [@benfred](https://github.com/benfred) +- Simplify libcuvs conda recipe. ([#322](https://github.com/NVIDIA/cuvs/pull/322)) [@bdice](https://github.com/bdice) +- Refactor dependencies.yaml to use depends-on pattern. ([#321](https://github.com/NVIDIA/cuvs/pull/321)) [@bdice](https://github.com/bdice) +- Update Python versions in cuvs_bench pyproject.toml. ([#318](https://github.com/NVIDIA/cuvs/pull/318)) [@bdice](https://github.com/bdice) +- Brute force knn tile size heuristic ([#316](https://github.com/NVIDIA/cuvs/pull/316)) [@mfoerste4](https://github.com/mfoerste4) +- Euclidean distance example ([#315](https://github.com/NVIDIA/cuvs/pull/315)) [@abner-ma](https://github.com/abner-ma) +- Migrate trustworthiness and silhouette_score stats from RAFT ([#313](https://github.com/NVIDIA/cuvs/pull/313)) [@benfred](https://github.com/benfred) +- Add support for Python 3.12 ([#312](https://github.com/NVIDIA/cuvs/pull/312)) [@jameslamb](https://github.com/jameslamb) +- Add `managed` option for RMM Pool memory resource to C API ([#305](https://github.com/NVIDIA/cuvs/pull/305)) [@ajit283](https://github.com/ajit283) +- Update rapidsai/pre-commit-hooks ([#303](https://github.com/NVIDIA/cuvs/pull/303)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Expose search function with pre-filter for ANN ([#302](https://github.com/NVIDIA/cuvs/pull/302)) [@lowener](https://github.com/lowener) +- Drop Python 3.9 support ([#301](https://github.com/NVIDIA/cuvs/pull/301)) [@jameslamb](https://github.com/jameslamb) +- Use CUDA math wheels ([#298](https://github.com/NVIDIA/cuvs/pull/298)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Remove NumPy <2 pin ([#297](https://github.com/NVIDIA/cuvs/pull/297)) [@seberg](https://github.com/seberg) +- CAGRA - separable compilation for distance computation ([#296](https://github.com/NVIDIA/cuvs/pull/296)) [@achirkin](https://github.com/achirkin) +- Updating example notebooks ([#294](https://github.com/NVIDIA/cuvs/pull/294)) [@cjnolet](https://github.com/cjnolet) +- Add RMM Pool memory resource to C API ([#285](https://github.com/NVIDIA/cuvs/pull/285)) [@ajit283](https://github.com/ajit283) +- Update pre-commit hooks ([#283](https://github.com/NVIDIA/cuvs/pull/283)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Improve update-version.sh ([#282](https://github.com/NVIDIA/cuvs/pull/282)) [@bdice](https://github.com/bdice) +- Use tool.scikit-build.cmake.version, set scikit-build-core minimum-version ([#280](https://github.com/NVIDIA/cuvs/pull/280)) [@jameslamb](https://github.com/jameslamb) +- Add cuvs_bench.run python code and build ([#279](https://github.com/NVIDIA/cuvs/pull/279)) [@dantegd](https://github.com/dantegd) +- Add cuvs-bench to dependencies and conda environments ([#275](https://github.com/NVIDIA/cuvs/pull/275)) [@dantegd](https://github.com/dantegd) +- Update pip devcontainers to UCX v1.17.0 ([#262](https://github.com/NVIDIA/cuvs/pull/262)) [@jameslamb](https://github.com/jameslamb) +- Adding example for tuning build and search params using Optuna ([#257](https://github.com/NVIDIA/cuvs/pull/257)) [@dpadmanabhan03](https://github.com/dpadmanabhan03) +- Fixed link to build docs and corrected ivf_flat_example ([#255](https://github.com/NVIDIA/cuvs/pull/255)) [@mmccarty](https://github.com/mmccarty) +- Merge branch-24.08 into branch-24.10 ([#254](https://github.com/NVIDIA/cuvs/pull/254)) [@jameslamb](https://github.com/jameslamb) +- Persistent CAGRA kernel ([#215](https://github.com/NVIDIA/cuvs/pull/215)) [@achirkin](https://github.com/achirkin) +- [FEA] Support for Cosine distance in IVF-Flat ([#179](https://github.com/NVIDIA/cuvs/pull/179)) [@lowener](https://github.com/lowener) # cuvs 24.08.00 (7 Aug 2024) ## 🚨 Breaking Changes -- Allow serialization on streams ([#173](https://github.com/nvidia/cuvs/pull/173)) [@benfred](https://github.com/benfred) +- Allow serialization on streams ([#173](https://github.com/NVIDIA/cuvs/pull/173)) [@benfred](https://github.com/benfred) ## 🐛 Bug Fixes -- Remove fp16 kernels that have no public entry point ([#268](https://github.com/nvidia/cuvs/pull/268)) [@tfeher](https://github.com/tfeher) -- Use `raft::util::popc(...)` public API ([#249](https://github.com/nvidia/cuvs/pull/249)) [@divyegala](https://github.com/divyegala) -- Enable building FAISS main statically ([#241](https://github.com/nvidia/cuvs/pull/241)) [@tarang-jain](https://github.com/tarang-jain) -- CAGRA bench: use device-side refinement when the data is on device ([#228](https://github.com/nvidia/cuvs/pull/228)) [@achirkin](https://github.com/achirkin) -- Rename `.devcontainer`s for CUDA 12.5 ([#224](https://github.com/nvidia/cuvs/pull/224)) [@jakirkham](https://github.com/jakirkham) -- Fix a CAGRA graph opt bug ([#192](https://github.com/nvidia/cuvs/pull/192)) [@enp1s0](https://github.com/enp1s0) +- Remove fp16 kernels that have no public entry point ([#268](https://github.com/NVIDIA/cuvs/pull/268)) [@tfeher](https://github.com/tfeher) +- Use `raft::util::popc(...)` public API ([#249](https://github.com/NVIDIA/cuvs/pull/249)) [@divyegala](https://github.com/divyegala) +- Enable building FAISS main statically ([#241](https://github.com/NVIDIA/cuvs/pull/241)) [@tarang-jain](https://github.com/tarang-jain) +- CAGRA bench: use device-side refinement when the data is on device ([#228](https://github.com/NVIDIA/cuvs/pull/228)) [@achirkin](https://github.com/achirkin) +- Rename `.devcontainer`s for CUDA 12.5 ([#224](https://github.com/NVIDIA/cuvs/pull/224)) [@jakirkham](https://github.com/jakirkham) +- Fix a CAGRA graph opt bug ([#192](https://github.com/NVIDIA/cuvs/pull/192)) [@enp1s0](https://github.com/enp1s0) ## 📖 Documentation -- fix library name in docs ('cuvs' not 'pycuvs') ([#193](https://github.com/nvidia/cuvs/pull/193)) [@jameslamb](https://github.com/jameslamb) +- fix library name in docs ('cuvs' not 'pycuvs') ([#193](https://github.com/NVIDIA/cuvs/pull/193)) [@jameslamb](https://github.com/jameslamb) ## 🚀 New Features -- Add cuvs_bench python folder, config files and constraints ([#244](https://github.com/nvidia/cuvs/pull/244)) [@dantegd](https://github.com/dantegd) -- Add MST optimization to guarantee the connectivity of CAGRA graphs ([#237](https://github.com/nvidia/cuvs/pull/237)) [@anaruse](https://github.com/anaruse) -- Moving over C++ API of CAGRA+hnswlib from RAFT ([#229](https://github.com/nvidia/cuvs/pull/229)) [@divyegala](https://github.com/divyegala) -- [FEA] expose python & C API for prefiltered brute force ([#174](https://github.com/nvidia/cuvs/pull/174)) [@rhdong](https://github.com/rhdong) -- CAGRA new vector addition ([#151](https://github.com/nvidia/cuvs/pull/151)) [@enp1s0](https://github.com/enp1s0) +- Add cuvs_bench python folder, config files and constraints ([#244](https://github.com/NVIDIA/cuvs/pull/244)) [@dantegd](https://github.com/dantegd) +- Add MST optimization to guarantee the connectivity of CAGRA graphs ([#237](https://github.com/NVIDIA/cuvs/pull/237)) [@anaruse](https://github.com/anaruse) +- Moving over C++ API of CAGRA+hnswlib from RAFT ([#229](https://github.com/NVIDIA/cuvs/pull/229)) [@divyegala](https://github.com/divyegala) +- [FEA] expose python & C API for prefiltered brute force ([#174](https://github.com/NVIDIA/cuvs/pull/174)) [@rhdong](https://github.com/rhdong) +- CAGRA new vector addition ([#151](https://github.com/NVIDIA/cuvs/pull/151)) [@enp1s0](https://github.com/enp1s0) ## 🛠️ Improvements -- [Opt] introduce the `masked_matmul` to prefiltered brute force. ([#251](https://github.com/nvidia/cuvs/pull/251)) [@rhdong](https://github.com/rhdong) -- Add more info to ANN_BENCH context ([#248](https://github.com/nvidia/cuvs/pull/248)) [@achirkin](https://github.com/achirkin) -- split up CUDA-suffixed dependencies in dependencies.yaml ([#247](https://github.com/nvidia/cuvs/pull/247)) [@jameslamb](https://github.com/jameslamb) -- Fix pinning to a different RAFT tag ([#235](https://github.com/nvidia/cuvs/pull/235)) [@benfred](https://github.com/benfred) -- Use workflow branch 24.08 again ([#234](https://github.com/nvidia/cuvs/pull/234)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- chore: update search_plan.cuh ([#232](https://github.com/nvidia/cuvs/pull/232)) [@eltociear](https://github.com/eltociear) -- Enable kernel & memcpy overlapping in IVF index building ([#230](https://github.com/nvidia/cuvs/pull/230)) [@abc99lr](https://github.com/abc99lr) -- CAGRA: reduce argument count in select_and_run() kernel wrappers ([#227](https://github.com/nvidia/cuvs/pull/227)) [@achirkin](https://github.com/achirkin) -- Mark the rust brute force unittest as flaky ([#226](https://github.com/nvidia/cuvs/pull/226)) [@benfred](https://github.com/benfred) -- Add python bindings for ivf-* extend functions ([#220](https://github.com/nvidia/cuvs/pull/220)) [@benfred](https://github.com/benfred) -- Build and test with CUDA 12.5.1 ([#219](https://github.com/nvidia/cuvs/pull/219)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Add col-major support for brute force knn ([#217](https://github.com/nvidia/cuvs/pull/217)) [@benfred](https://github.com/benfred) -- Add CUDA_STATIC_MATH_LIBRARIES ([#216](https://github.com/nvidia/cuvs/pull/216)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- skip CMake 3.30.0 ([#214](https://github.com/nvidia/cuvs/pull/214)) [@jameslamb](https://github.com/jameslamb) -- Complete Migration of IVF Helpers / Features from RAFT ([#213](https://github.com/nvidia/cuvs/pull/213)) [@tarang-jain](https://github.com/tarang-jain) -- Use verify-alpha-spec hook ([#209](https://github.com/nvidia/cuvs/pull/209)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Fixes for publishing rust package to crates.io ([#207](https://github.com/nvidia/cuvs/pull/207)) [@benfred](https://github.com/benfred) -- Add rust example ([#206](https://github.com/nvidia/cuvs/pull/206)) [@benfred](https://github.com/benfred) -- Adding IVF examples ([#203](https://github.com/nvidia/cuvs/pull/203)) [@cjnolet](https://github.com/cjnolet) -- Fix compilation error when _CLK_BREAKDOWN is defined in cagra. ([#202](https://github.com/nvidia/cuvs/pull/202)) [@jiangyinzuo](https://github.com/jiangyinzuo) -- DOC: update notebook link ([#191](https://github.com/nvidia/cuvs/pull/191)) [@raybellwaves](https://github.com/raybellwaves) -- Change cagra.build_index to cagra.build ([#187](https://github.com/nvidia/cuvs/pull/187)) [@benfred](https://github.com/benfred) -- Add python serialization API's for ivf-pq and ivf_flat ([#186](https://github.com/nvidia/cuvs/pull/186)) [@benfred](https://github.com/benfred) -- resolve dependency-file-generator warning, rapids-build-backend followup ([#185](https://github.com/nvidia/cuvs/pull/185)) [@jameslamb](https://github.com/jameslamb) -- Adopt CI/packaging codeowners ([#183](https://github.com/nvidia/cuvs/pull/183)) [@raydouglass](https://github.com/raydouglass) -- Scaling workspace resources ([#181](https://github.com/nvidia/cuvs/pull/181)) [@achirkin](https://github.com/achirkin) -- Remove text builds of documentation ([#180](https://github.com/nvidia/cuvs/pull/180)) [@vyasr](https://github.com/vyasr) -- Add refine to the Python and C api's ([#175](https://github.com/nvidia/cuvs/pull/175)) [@benfred](https://github.com/benfred) -- Allow serialization on streams ([#173](https://github.com/nvidia/cuvs/pull/173)) [@benfred](https://github.com/benfred) -- Forward-merge branch-24.06 into branch-24.08 ([#169](https://github.com/nvidia/cuvs/pull/169)) [@benfred](https://github.com/benfred) -- Use rapids-build-backend ([#145](https://github.com/nvidia/cuvs/pull/145)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- ANN_BENCH ([#130](https://github.com/nvidia/cuvs/pull/130)) [@achirkin](https://github.com/achirkin) -- Enable random subsampling ([#122](https://github.com/nvidia/cuvs/pull/122)) [@tfeher](https://github.com/tfeher) +- [Opt] introduce the `masked_matmul` to prefiltered brute force. ([#251](https://github.com/NVIDIA/cuvs/pull/251)) [@rhdong](https://github.com/rhdong) +- Add more info to ANN_BENCH context ([#248](https://github.com/NVIDIA/cuvs/pull/248)) [@achirkin](https://github.com/achirkin) +- split up CUDA-suffixed dependencies in dependencies.yaml ([#247](https://github.com/NVIDIA/cuvs/pull/247)) [@jameslamb](https://github.com/jameslamb) +- Fix pinning to a different RAFT tag ([#235](https://github.com/NVIDIA/cuvs/pull/235)) [@benfred](https://github.com/benfred) +- Use workflow branch 24.08 again ([#234](https://github.com/NVIDIA/cuvs/pull/234)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- chore: update search_plan.cuh ([#232](https://github.com/NVIDIA/cuvs/pull/232)) [@eltociear](https://github.com/eltociear) +- Enable kernel & memcpy overlapping in IVF index building ([#230](https://github.com/NVIDIA/cuvs/pull/230)) [@abc99lr](https://github.com/abc99lr) +- CAGRA: reduce argument count in select_and_run() kernel wrappers ([#227](https://github.com/NVIDIA/cuvs/pull/227)) [@achirkin](https://github.com/achirkin) +- Mark the rust brute force unittest as flaky ([#226](https://github.com/NVIDIA/cuvs/pull/226)) [@benfred](https://github.com/benfred) +- Add python bindings for ivf-* extend functions ([#220](https://github.com/NVIDIA/cuvs/pull/220)) [@benfred](https://github.com/benfred) +- Build and test with CUDA 12.5.1 ([#219](https://github.com/NVIDIA/cuvs/pull/219)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Add col-major support for brute force knn ([#217](https://github.com/NVIDIA/cuvs/pull/217)) [@benfred](https://github.com/benfred) +- Add CUDA_STATIC_MATH_LIBRARIES ([#216](https://github.com/NVIDIA/cuvs/pull/216)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- skip CMake 3.30.0 ([#214](https://github.com/NVIDIA/cuvs/pull/214)) [@jameslamb](https://github.com/jameslamb) +- Complete Migration of IVF Helpers / Features from RAFT ([#213](https://github.com/NVIDIA/cuvs/pull/213)) [@tarang-jain](https://github.com/tarang-jain) +- Use verify-alpha-spec hook ([#209](https://github.com/NVIDIA/cuvs/pull/209)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Fixes for publishing rust package to crates.io ([#207](https://github.com/NVIDIA/cuvs/pull/207)) [@benfred](https://github.com/benfred) +- Add rust example ([#206](https://github.com/NVIDIA/cuvs/pull/206)) [@benfred](https://github.com/benfred) +- Adding IVF examples ([#203](https://github.com/NVIDIA/cuvs/pull/203)) [@cjnolet](https://github.com/cjnolet) +- Fix compilation error when _CLK_BREAKDOWN is defined in cagra. ([#202](https://github.com/NVIDIA/cuvs/pull/202)) [@jiangyinzuo](https://github.com/jiangyinzuo) +- DOC: update notebook link ([#191](https://github.com/NVIDIA/cuvs/pull/191)) [@raybellwaves](https://github.com/raybellwaves) +- Change cagra.build_index to cagra.build ([#187](https://github.com/NVIDIA/cuvs/pull/187)) [@benfred](https://github.com/benfred) +- Add python serialization API's for ivf-pq and ivf_flat ([#186](https://github.com/NVIDIA/cuvs/pull/186)) [@benfred](https://github.com/benfred) +- resolve dependency-file-generator warning, rapids-build-backend followup ([#185](https://github.com/NVIDIA/cuvs/pull/185)) [@jameslamb](https://github.com/jameslamb) +- Adopt CI/packaging codeowners ([#183](https://github.com/NVIDIA/cuvs/pull/183)) [@raydouglass](https://github.com/raydouglass) +- Scaling workspace resources ([#181](https://github.com/NVIDIA/cuvs/pull/181)) [@achirkin](https://github.com/achirkin) +- Remove text builds of documentation ([#180](https://github.com/NVIDIA/cuvs/pull/180)) [@vyasr](https://github.com/vyasr) +- Add refine to the Python and C api's ([#175](https://github.com/NVIDIA/cuvs/pull/175)) [@benfred](https://github.com/benfred) +- Allow serialization on streams ([#173](https://github.com/NVIDIA/cuvs/pull/173)) [@benfred](https://github.com/benfred) +- Forward-merge branch-24.06 into branch-24.08 ([#169](https://github.com/NVIDIA/cuvs/pull/169)) [@benfred](https://github.com/benfred) +- Use rapids-build-backend ([#145](https://github.com/NVIDIA/cuvs/pull/145)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- ANN_BENCH ([#130](https://github.com/NVIDIA/cuvs/pull/130)) [@achirkin](https://github.com/achirkin) +- Enable random subsampling ([#122](https://github.com/NVIDIA/cuvs/pull/122)) [@tfeher](https://github.com/tfeher) # cuvs 24.06.00 (5 Jun 2024) ## 🐛 Bug Fixes -- Fix CAGRA OOM handling ([#167](https://github.com/nvidia/cuvs/pull/167)) [@tfeher](https://github.com/tfeher) -- Pass through raft static CMake var ([#111](https://github.com/nvidia/cuvs/pull/111)) [@vyasr](https://github.com/vyasr) -- Fix rust docs build ([#84](https://github.com/nvidia/cuvs/pull/84)) [@benfred](https://github.com/benfred) +- Fix CAGRA OOM handling ([#167](https://github.com/NVIDIA/cuvs/pull/167)) [@tfeher](https://github.com/tfeher) +- Pass through raft static CMake var ([#111](https://github.com/NVIDIA/cuvs/pull/111)) [@vyasr](https://github.com/vyasr) +- Fix rust docs build ([#84](https://github.com/NVIDIA/cuvs/pull/84)) [@benfred](https://github.com/benfred) ## 📖 Documentation -- chore: update Doxyfile ([#162](https://github.com/nvidia/cuvs/pull/162)) [@eltociear](https://github.com/eltociear) -- cuVS docs updates for release ([#161](https://github.com/nvidia/cuvs/pull/161)) [@cjnolet](https://github.com/cjnolet) -- update: fix RAFT URL in README ([#91](https://github.com/nvidia/cuvs/pull/91)) [@hurutoriya](https://github.com/hurutoriya) -- Update the developer's guide with new copyright hook ([#81](https://github.com/nvidia/cuvs/pull/81)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) -- Add `lucene-cuvs` to integrations section of docs ([#73](https://github.com/nvidia/cuvs/pull/73)) [@cjnolet](https://github.com/cjnolet) +- chore: update Doxyfile ([#162](https://github.com/NVIDIA/cuvs/pull/162)) [@eltociear](https://github.com/eltociear) +- cuVS docs updates for release ([#161](https://github.com/NVIDIA/cuvs/pull/161)) [@cjnolet](https://github.com/cjnolet) +- update: fix RAFT URL in README ([#91](https://github.com/NVIDIA/cuvs/pull/91)) [@hurutoriya](https://github.com/hurutoriya) +- Update the developer's guide with new copyright hook ([#81](https://github.com/NVIDIA/cuvs/pull/81)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Add `lucene-cuvs` to integrations section of docs ([#73](https://github.com/NVIDIA/cuvs/pull/73)) [@cjnolet](https://github.com/cjnolet) ## 🚀 New Features -- Add `refine` to public API ([#154](https://github.com/nvidia/cuvs/pull/154)) [@lowener](https://github.com/lowener) -- [FEA] support of prefiltered brute force ([#146](https://github.com/nvidia/cuvs/pull/146)) [@rhdong](https://github.com/rhdong) -- Migrate IVF-Flat from RAFT ([#94](https://github.com/nvidia/cuvs/pull/94)) [@divyegala](https://github.com/divyegala) -- Migrate IVF-PQ from RAFT to cuVS ([#86](https://github.com/nvidia/cuvs/pull/86)) [@lowener](https://github.com/lowener) +- Add `refine` to public API ([#154](https://github.com/NVIDIA/cuvs/pull/154)) [@lowener](https://github.com/lowener) +- [FEA] support of prefiltered brute force ([#146](https://github.com/NVIDIA/cuvs/pull/146)) [@rhdong](https://github.com/rhdong) +- Migrate IVF-Flat from RAFT ([#94](https://github.com/NVIDIA/cuvs/pull/94)) [@divyegala](https://github.com/divyegala) +- Migrate IVF-PQ from RAFT to cuVS ([#86](https://github.com/NVIDIA/cuvs/pull/86)) [@lowener](https://github.com/lowener) ## 🛠️ Improvements -- Expose serialization to the python / c-api ([#164](https://github.com/nvidia/cuvs/pull/164)) [@benfred](https://github.com/benfred) -- Select k instantiations ([#159](https://github.com/nvidia/cuvs/pull/159)) [@benfred](https://github.com/benfred) -- fix devcontainer name for codespaces ([#153](https://github.com/nvidia/cuvs/pull/153)) [@trxcllnt](https://github.com/trxcllnt) -- Accept host_mdspan for IVF-PQ build and extend ([#148](https://github.com/nvidia/cuvs/pull/148)) [@tfeher](https://github.com/tfeher) -- Add pairwise_distance api's for C, Python and Rust ([#142](https://github.com/nvidia/cuvs/pull/142)) [@benfred](https://github.com/benfred) -- Changing RAFT_EXPLICT_* to CUVS_EXPLITI_* ([#141](https://github.com/nvidia/cuvs/pull/141)) [@cjnolet](https://github.com/cjnolet) -- Speed-up rust build ([#138](https://github.com/nvidia/cuvs/pull/138)) [@benfred](https://github.com/benfred) -- Removing `libraft.so` from libcuvs dependencies ([#132](https://github.com/nvidia/cuvs/pull/132)) [@cjnolet](https://github.com/cjnolet) -- CAGRA API update and allow async host refinement ([#131](https://github.com/nvidia/cuvs/pull/131)) [@mfoerste4](https://github.com/mfoerste4) -- Fix rust api docs ([#119](https://github.com/nvidia/cuvs/pull/119)) [@benfred](https://github.com/benfred) -- Migrate BFKNN from raft ([#118](https://github.com/nvidia/cuvs/pull/118)) [@benfred](https://github.com/benfred) -- Fix IVF-PQ helper functions ([#116](https://github.com/nvidia/cuvs/pull/116)) [@lowener](https://github.com/lowener) -- Migrate `raft::cluster` to `cuvs::cluster` ([#115](https://github.com/nvidia/cuvs/pull/115)) [@cjnolet](https://github.com/cjnolet) -- hide RAFT #pragma deprecation warnings ([#114](https://github.com/nvidia/cuvs/pull/114)) [@trxcllnt](https://github.com/trxcllnt) -- Enable Warnings as errors in Python tests ([#102](https://github.com/nvidia/cuvs/pull/102)) [@mroeschke](https://github.com/mroeschke) -- Remove libnvjitlink dependency. ([#97](https://github.com/nvidia/cuvs/pull/97)) [@bdice](https://github.com/bdice) -- Migrate to `{{ stdlib("c") }}` ([#93](https://github.com/nvidia/cuvs/pull/93)) [@hcho3](https://github.com/hcho3) -- update: replace to cuvs from RAFT in PULL_REQUEST_TEMPLATE ([#92](https://github.com/nvidia/cuvs/pull/92)) [@hurutoriya](https://github.com/hurutoriya) -- Add python and rust bindings for Ivf-Pq ([#90](https://github.com/nvidia/cuvs/pull/90)) [@benfred](https://github.com/benfred) -- add --rm and --name to devcontainer run args ([#89](https://github.com/nvidia/cuvs/pull/89)) [@trxcllnt](https://github.com/trxcllnt) -- Update pip devcontainers to UCX v1.15.0 ([#88](https://github.com/nvidia/cuvs/pull/88)) [@trxcllnt](https://github.com/trxcllnt) -- Remove gtest from dependencies.yaml ([#87](https://github.com/nvidia/cuvs/pull/87)) [@robertmaynard](https://github.com/robertmaynard) -- Moving and renaming distance namespaces from raft -> cuvs ([#85](https://github.com/nvidia/cuvs/pull/85)) [@cjnolet](https://github.com/cjnolet) -- Use static gtest ([#83](https://github.com/nvidia/cuvs/pull/83)) [@robertmaynard](https://github.com/robertmaynard) -- Add python and rust bindings for Ivf-Flat ([#82](https://github.com/nvidia/cuvs/pull/82)) [@benfred](https://github.com/benfred) -- Forward merge branch-24.04 to branch-24.06 ([#80](https://github.com/nvidia/cuvs/pull/80)) [@benfred](https://github.com/benfred) -- Update devcontainers to use cuda12.2 ([#72](https://github.com/nvidia/cuvs/pull/72)) [@benfred](https://github.com/benfred) -- Forward merge branch-24.04 to branch-24.06 ([#71](https://github.com/nvidia/cuvs/pull/71)) [@benfred](https://github.com/benfred) -- Enable forward-merger ops-bot plugin ([#70](https://github.com/nvidia/cuvs/pull/70)) [@benfred](https://github.com/benfred) -- Adds missing files to `update-version.sh` ([#69](https://github.com/nvidia/cuvs/pull/69)) [@AyodeAwe](https://github.com/AyodeAwe) -- Add Cagra-Q compression to the python and rust api's ([#68](https://github.com/nvidia/cuvs/pull/68)) [@benfred](https://github.com/benfred) -- ConfigureCUDA.cmake now sets CUVS_ prefixed variables ([#66](https://github.com/nvidia/cuvs/pull/66)) [@robertmaynard](https://github.com/robertmaynard) -- Enable all tests for `arm` jobs ([#63](https://github.com/nvidia/cuvs/pull/63)) [@galipremsagar](https://github.com/galipremsagar) +- Expose serialization to the python / c-api ([#164](https://github.com/NVIDIA/cuvs/pull/164)) [@benfred](https://github.com/benfred) +- Select k instantiations ([#159](https://github.com/NVIDIA/cuvs/pull/159)) [@benfred](https://github.com/benfred) +- fix devcontainer name for codespaces ([#153](https://github.com/NVIDIA/cuvs/pull/153)) [@trxcllnt](https://github.com/trxcllnt) +- Accept host_mdspan for IVF-PQ build and extend ([#148](https://github.com/NVIDIA/cuvs/pull/148)) [@tfeher](https://github.com/tfeher) +- Add pairwise_distance api's for C, Python and Rust ([#142](https://github.com/NVIDIA/cuvs/pull/142)) [@benfred](https://github.com/benfred) +- Changing RAFT_EXPLICT_* to CUVS_EXPLITI_* ([#141](https://github.com/NVIDIA/cuvs/pull/141)) [@cjnolet](https://github.com/cjnolet) +- Speed-up rust build ([#138](https://github.com/NVIDIA/cuvs/pull/138)) [@benfred](https://github.com/benfred) +- Removing `libraft.so` from libcuvs dependencies ([#132](https://github.com/NVIDIA/cuvs/pull/132)) [@cjnolet](https://github.com/cjnolet) +- CAGRA API update and allow async host refinement ([#131](https://github.com/NVIDIA/cuvs/pull/131)) [@mfoerste4](https://github.com/mfoerste4) +- Fix rust api docs ([#119](https://github.com/NVIDIA/cuvs/pull/119)) [@benfred](https://github.com/benfred) +- Migrate BFKNN from raft ([#118](https://github.com/NVIDIA/cuvs/pull/118)) [@benfred](https://github.com/benfred) +- Fix IVF-PQ helper functions ([#116](https://github.com/NVIDIA/cuvs/pull/116)) [@lowener](https://github.com/lowener) +- Migrate `raft::cluster` to `cuvs::cluster` ([#115](https://github.com/NVIDIA/cuvs/pull/115)) [@cjnolet](https://github.com/cjnolet) +- hide RAFT #pragma deprecation warnings ([#114](https://github.com/NVIDIA/cuvs/pull/114)) [@trxcllnt](https://github.com/trxcllnt) +- Enable Warnings as errors in Python tests ([#102](https://github.com/NVIDIA/cuvs/pull/102)) [@mroeschke](https://github.com/mroeschke) +- Remove libnvjitlink dependency. ([#97](https://github.com/NVIDIA/cuvs/pull/97)) [@bdice](https://github.com/bdice) +- Migrate to `{{ stdlib("c") }}` ([#93](https://github.com/NVIDIA/cuvs/pull/93)) [@hcho3](https://github.com/hcho3) +- update: replace to cuvs from RAFT in PULL_REQUEST_TEMPLATE ([#92](https://github.com/NVIDIA/cuvs/pull/92)) [@hurutoriya](https://github.com/hurutoriya) +- Add python and rust bindings for Ivf-Pq ([#90](https://github.com/NVIDIA/cuvs/pull/90)) [@benfred](https://github.com/benfred) +- add --rm and --name to devcontainer run args ([#89](https://github.com/NVIDIA/cuvs/pull/89)) [@trxcllnt](https://github.com/trxcllnt) +- Update pip devcontainers to UCX v1.15.0 ([#88](https://github.com/NVIDIA/cuvs/pull/88)) [@trxcllnt](https://github.com/trxcllnt) +- Remove gtest from dependencies.yaml ([#87](https://github.com/NVIDIA/cuvs/pull/87)) [@robertmaynard](https://github.com/robertmaynard) +- Moving and renaming distance namespaces from raft -> cuvs ([#85](https://github.com/NVIDIA/cuvs/pull/85)) [@cjnolet](https://github.com/cjnolet) +- Use static gtest ([#83](https://github.com/NVIDIA/cuvs/pull/83)) [@robertmaynard](https://github.com/robertmaynard) +- Add python and rust bindings for Ivf-Flat ([#82](https://github.com/NVIDIA/cuvs/pull/82)) [@benfred](https://github.com/benfred) +- Forward merge branch-24.04 to branch-24.06 ([#80](https://github.com/NVIDIA/cuvs/pull/80)) [@benfred](https://github.com/benfred) +- Update devcontainers to use cuda12.2 ([#72](https://github.com/NVIDIA/cuvs/pull/72)) [@benfred](https://github.com/benfred) +- Forward merge branch-24.04 to branch-24.06 ([#71](https://github.com/NVIDIA/cuvs/pull/71)) [@benfred](https://github.com/benfred) +- Enable forward-merger ops-bot plugin ([#70](https://github.com/NVIDIA/cuvs/pull/70)) [@benfred](https://github.com/benfred) +- Adds missing files to `update-version.sh` ([#69](https://github.com/NVIDIA/cuvs/pull/69)) [@AyodeAwe](https://github.com/AyodeAwe) +- Add Cagra-Q compression to the python and rust api's ([#68](https://github.com/NVIDIA/cuvs/pull/68)) [@benfred](https://github.com/benfred) +- ConfigureCUDA.cmake now sets CUVS_ prefixed variables ([#66](https://github.com/NVIDIA/cuvs/pull/66)) [@robertmaynard](https://github.com/robertmaynard) +- Enable all tests for `arm` jobs ([#63](https://github.com/NVIDIA/cuvs/pull/63)) [@galipremsagar](https://github.com/galipremsagar) diff --git a/Dockerfile b/Dockerfile index 6bea6e3b35..97e8ca2ef2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ RUN echo " Building cuVS Docker image with:" && \ # Container metadata LABEL maintainer="NVIDIA cuVS Team" LABEL description="NVIDIA cuVS - Vector Search and Clustering on GPU" -LABEL org.opencontainers.image.source="https://github.com/nvidia/cuvs" +LABEL org.opencontainers.image.source="https://github.com/NVIDIA/cuvs" LABEL org.opencontainers.image.usage="docker run --gpus all -it " # Environment setup diff --git a/README.md b/README.md index 5c55b8bf88..8eb2f13693 100755 --- a/README.md +++ b/README.md @@ -15,10 +15,10 @@ - [Documentation](https://docs.nvidia.com/cuvs): Library documentation. - [Build and Install Guide](https://docs.nvidia.com/cuvs/installation): Instructions for installing and building cuVS. - [Getting Started Guide](https://docs.nvidia.com/cuvs/getting-started): Guide to getting started with cuVS. -- [Code Examples](https://github.com/nvidia/cuvs/tree/HEAD/examples): Self-contained Code Examples. +- [Code Examples](https://github.com/NVIDIA/cuvs/tree/HEAD/examples): Self-contained Code Examples. - [API Reference Documentation](https://docs.nvidia.com/cuvs/api_reference): API Documentation. -- [GitHub repository](https://github.com/nvidia/cuvs): Download the cuVS source code. -- [Issue tracker](https://github.com/nvidia/cuvs/issues): Report issues or request features. +- [GitHub repository](https://github.com/NVIDIA/cuvs): Download the cuVS source code. +- [Issue tracker](https://github.com/NVIDIA/cuvs/issues): Report issues or request features. ## What is cuVS? @@ -117,7 +117,7 @@ cagra::index_params index_params; auto index = cagra::build(res, index_params, dataset); ``` -For more code examples of the C++ APIs, including drop-in Cmake project templates, please refer to the [C++ examples](https://github.com/nvidia/cuvs/tree/HEAD/examples) directory in the codebase. +For more code examples of the C++ APIs, including drop-in Cmake project templates, please refer to the [C++ examples](https://github.com/NVIDIA/cuvs/tree/HEAD/examples) directory in the codebase. ### C API @@ -146,7 +146,7 @@ cuvsCagraIndexParamsDestroy(index_params); cuvsResourcesDestroy(res); ``` -For more code examples of the C APIs, including drop-in Cmake project templates, please refer to the [C examples](https://github.com/nvidia/cuvs/tree/main/examples/c) +For more code examples of the C APIs, including drop-in Cmake project templates, please refer to the [C examples](https://github.com/NVIDIA/cuvs/tree/main/examples/c) ### Rust API @@ -193,7 +193,7 @@ fn main() -> Result<(), Box> { } ``` -For more code examples of the Rust APIs, including a drop-in project templates, please refer to the [Rust examples](https://github.com/nvidia/cuvs/tree/main/examples/rust). +For more code examples of the Rust APIs, including a drop-in project templates, please refer to the [Rust examples](https://github.com/NVIDIA/cuvs/tree/main/examples/rust). ## Contributing diff --git a/ci/check_c_abi/pyproject.toml b/ci/check_c_abi/pyproject.toml index 87c35cfdad..f14e192294 100644 --- a/ci/check_c_abi/pyproject.toml +++ b/ci/check_c_abi/pyproject.toml @@ -16,7 +16,7 @@ dependencies = ["libclang", "msgspec", "termcolor"] check-c-abi = "check_c_abi.main:main_cli" [project.urls] -Homepage = "https://github.com/nvidia/cuvs" +Homepage = "https://github.com/NVIDIA/cuvs" [tool.setuptools.dynamic] version = { file = "VERSION" } diff --git a/cpp/bench/ann/src/diskann/diskann_wrapper.h b/cpp/bench/ann/src/diskann/diskann_wrapper.h index a930021b89..05e12bfa4b 100644 --- a/cpp/bench/ann/src/diskann/diskann_wrapper.h +++ b/cpp/bench/ann/src/diskann/diskann_wrapper.h @@ -35,7 +35,7 @@ diskann::Metric parse_metric_to_diskann(cuvs::bench::Metric metric) } } -// TODO (tarangj): Remaining features are tracked at https://github.com/nvidia/cuvs/issues/656 +// TODO (tarangj): Remaining features are tracked at https://github.com/NVIDIA/cuvs/issues/656 template class diskann_memory : public algo { public: diff --git a/cpp/include/cuvs/cluster/kmeans.hpp b/cpp/include/cuvs/cluster/kmeans.hpp index a805aff0a4..567e8d9748 100644 --- a/cpp/include/cuvs/cluster/kmeans.hpp +++ b/cpp/include/cuvs/cluster/kmeans.hpp @@ -240,7 +240,7 @@ enum class kmeans_type { KMeans = 0, KMeansBalanced = 1 }; * (`raft::resource::comms_initialized(handle)`), and on a single GPU otherwise. * * TODO: Evaluate replacing the extent type with int64_t. Reference issue: - * https://github.com/nvidia/cuvs/issues/1961 + * https://github.com/NVIDIA/cuvs/issues/1961 * * This overload supports out-of-core computation where the dataset resides * on the host. Data is processed in batches, streaming from host to diff --git a/cpp/include/cuvs/cluster/spectral.hpp b/cpp/include/cuvs/cluster/spectral.hpp index 811703b89c..bda9efd3ed 100644 --- a/cpp/include/cuvs/cluster/spectral.hpp +++ b/cpp/include/cuvs/cluster/spectral.hpp @@ -49,7 +49,7 @@ struct params { * @{ */ -// TODO: int64_t nnz support (see https://github.com/nvidia/cuvs/issues/1484) +// TODO: int64_t nnz support (see https://github.com/NVIDIA/cuvs/issues/1484) /** * @brief Perform spectral clustering on a connectivity graph diff --git a/cpp/include/cuvs/neighbors/common.hpp b/cpp/include/cuvs/neighbors/common.hpp index baa5b44da2..8ffa0f5f4b 100644 --- a/cpp/include/cuvs/neighbors/common.hpp +++ b/cpp/include/cuvs/neighbors/common.hpp @@ -1735,7 +1735,7 @@ constexpr static IdxT kInvalidRecord = * @tparam IdxT The index type for source indices * @tparam SizeT The size type * - * TODO: Make this struct internal (tracking issue: https://github.com/nvidia/cuvs/issues/1726) + * TODO: Make this struct internal (tracking issue: https://github.com/NVIDIA/cuvs/issues/1726) */ template struct list_base { diff --git a/cpp/include/cuvs/neighbors/hnsw.hpp b/cpp/include/cuvs/neighbors/hnsw.hpp index fe412e8cc1..83f6b1c525 100644 --- a/cpp/include/cuvs/neighbors/hnsw.hpp +++ b/cpp/include/cuvs/neighbors/hnsw.hpp @@ -896,7 +896,7 @@ struct search_params : cuvs::neighbors::search_params { * @} */ -// TODO: Filtered Search APIs: https://github.com/nvidia/cuvs/issues/363 +// TODO: Filtered Search APIs: https://github.com/NVIDIA/cuvs/issues/363 /** * @defgroup hnsw_cpp_index_search Search hnswlib index diff --git a/cpp/src/neighbors/all_neighbors/all_neighbors_merge.cuh b/cpp/src/neighbors/all_neighbors/all_neighbors_merge.cuh index 015ec407d0..7c1595ca08 100644 --- a/cpp/src/neighbors/all_neighbors/all_neighbors_merge.cuh +++ b/cpp/src/neighbors/all_neighbors/all_neighbors_merge.cuh @@ -120,7 +120,7 @@ RAFT_KERNEL merge_subgraphs_kernel(IdxT* cluster_data_indices, // to each other after sorting by distances. Thus, for now we sweep a neighboring window of // size 4 or sweep the entire row to check for duplicates, and keep the first occurrence // only. - // related issue: https://github.com/nvidia/cuvs/issues/1056 + // related issue: https://github.com/NVIDIA/cuvs/issues/1056 // uniqueMask[colId] = static_cast(blockValues[colId] != blockValues[colId - 1]); int is_unique = 1; diff --git a/cpp/src/neighbors/detail/cagra/cagra_ace.cuh b/cpp/src/neighbors/detail/cagra/cagra_ace.cuh index 797bd1d4f4..9fa242b50f 100644 --- a/cpp/src/neighbors/detail/cagra/cagra_ace.cuh +++ b/cpp/src/neighbors/detail/cagra/cagra_ace.cuh @@ -187,7 +187,7 @@ void ace_get_partition_labels( // Sampling vectors from dataset. Uses float conversion on host instead of // raft::matrix::sample_rows to minimize GPU memory usage. - // TODO(julianmi): Switch to sample_rows when https://github.com/nvidia/cuvs/issues/1461 is + // TODO(julianmi): Switch to sample_rows when https://github.com/NVIDIA/cuvs/issues/1461 is // addressed. size_t n_samples = dataset_size * sampling_rate; const size_t min_samples = 100 * n_partitions; diff --git a/cpp/src/neighbors/detail/nn_descent.cuh b/cpp/src/neighbors/detail/nn_descent.cuh index da97db318a..c8692d60aa 100644 --- a/cpp/src/neighbors/detail/nn_descent.cuh +++ b/cpp/src/neighbors/detail/nn_descent.cuh @@ -550,7 +550,7 @@ __device__ __forceinline__ void calculate_metric(float* s_distances, s_distances[i] = 0.0; int n1 = row_neighbors[row_id]; int n2 = col_neighbors[col_id]; - // TODO: https://github.com/nvidia/cuvs/issues/1127 + // TODO: https://github.com/NVIDIA/cuvs/issues/1127 const uint8_t* data_n1 = reinterpret_cast(data) + n1 * data_dim; const uint8_t* data_n2 = reinterpret_cast(data) + n2 * data_dim; for (int d = 0; d < data_dim; d++) { @@ -561,7 +561,7 @@ __device__ __forceinline__ void calculate_metric(float* s_distances, s_distances[i] = l2_norms[row_neighbors[row_id]] + l2_norms[col_neighbors[col_id]] - 2.0f * s_distances[i]; // for fp32 vs fp16 precision differences resulting in negative distances when distance - // should be 0 related issue: https://github.com/nvidia/cuvs/issues/991 + // should be 0 related issue: https://github.com/NVIDIA/cuvs/issues/991 s_distances[i] = s_distances[i] < 0.0f ? 0.0f : s_distances[i]; if (!can_postprocess_dist && metric == cuvs::distance::DistanceType::L2SqrtExpanded) { s_distances[i] = sqrtf(s_distances[i]); diff --git a/cpp/src/neighbors/detail/vamana/vamana_build.cuh b/cpp/src/neighbors/detail/vamana/vamana_build.cuh index dd0923d035..2132dea1d7 100644 --- a/cpp/src/neighbors/detail/vamana/vamana_build.cuh +++ b/cpp/src/neighbors/detail/vamana/vamana_build.cuh @@ -312,7 +312,7 @@ void batched_insert_vamana( // Random medoid has minor impact on recall // TODO: use heuristic for better medoid selection, issue: - // https://github.com/nvidia/cuvs/issues/355 + // https://github.com/NVIDIA/cuvs/issues/355 *medoid_id = rand() % N; // size of current batch of inserts, increases logarithmically until max_batchsize diff --git a/cpp/src/neighbors/detail/vpq_dataset.cuh b/cpp/src/neighbors/detail/vpq_dataset.cuh index 7452337e89..9128f4738b 100644 --- a/cpp/src/neighbors/detail/vpq_dataset.cuh +++ b/cpp/src/neighbors/detail/vpq_dataset.cuh @@ -408,7 +408,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL process_and_fill_codes_kernel( /** * Note: `inline_vq_labels` should only be used for CAGRA-Q compatibility or internal use-cases. * Otherwise, vq_labels should be preferred. - * Issue: https://github.com/nvidia/cuvs/issues/1722 + * Issue: https://github.com/NVIDIA/cuvs/issues/1722 */ template void process_and_fill_codes( diff --git a/cpp/src/neighbors/mg/snmg.cuh b/cpp/src/neighbors/mg/snmg.cuh index 806d0da138..49536ec13a 100644 --- a/cpp/src/neighbors/mg/snmg.cuh +++ b/cpp/src/neighbors/mg/snmg.cuh @@ -654,7 +654,7 @@ void search(const raft::resources& clique, cuvs::core::omp::check_threads(index.num_ranks_); // Each rank gets its own thread; that thread handles all batches for that rank sequentially. // This prevents concurrent access to the same GPU from multiple threads. (see -// https://github.com/nvidia/cuvs/issues/1720) +// https://github.com/NVIDIA/cuvs/issues/1720) #pragma omp parallel for num_threads(index.num_ranks_) for (int rank = 0; rank < index.num_ranks_; rank++) { for (int64_t batch_idx = rank; batch_idx < n_batches; batch_idx += index.num_ranks_) { diff --git a/cpp/tests/neighbors/ann_cagra/bug_issue_93_reproducer.cu b/cpp/tests/neighbors/ann_cagra/bug_issue_93_reproducer.cu index 76d3a7a301..71cc66bb48 100644 --- a/cpp/tests/neighbors/ann_cagra/bug_issue_93_reproducer.cu +++ b/cpp/tests/neighbors/ann_cagra/bug_issue_93_reproducer.cu @@ -2,7 +2,7 @@ * SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * - * Reproducer for https://github.com/nvidia/cuvs-lucene/issues/93 + * Reproducer for https://github.com/NVIDIA/cuvs-lucene/issues/93 * cuvsCagraSearch returned 0 (Reason=cudaErrorInvalidValue:invalid argument) * * ROOT CAUSE: diff --git a/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu b/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu index 05ed85287f..bf7a80986d 100644 --- a/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu +++ b/cpp/tests/neighbors/ann_cagra/bug_iterative_cagra_build.cu @@ -31,7 +31,7 @@ class CagraIterativeBuildBugTest : public ::testing::Test { { cagra::index_params index_params; // The bug manifests when graph_degree is equal to intermediate_graph_degree - // see issue https://github.com/nvidia/cuvs/issues/1818 + // see issue https://github.com/NVIDIA/cuvs/issues/1818 index_params.graph_degree = 16; index_params.intermediate_graph_degree = 16; diff --git a/cpp/tests/neighbors/ann_ivf_flat.cuh b/cpp/tests/neighbors/ann_ivf_flat.cuh index 47a721bf2f..aafcf9ef44 100644 --- a/cpp/tests/neighbors/ann_ivf_flat.cuh +++ b/cpp/tests/neighbors/ann_ivf_flat.cuh @@ -548,7 +548,7 @@ const std::vector> inputs = { {1000, 10000, 2050, 16, 40, 1024, cuvs::distance::DistanceType::InnerProduct, false}, {1000, 10000, 2050, 16, 40, 1024, cuvs::distance::DistanceType::CosineExpanded, false}, // TODO: Re-enable test after adjusting parameters for higher recall. See - // https://github.com/nvidia/cuvs/issues/1091 + // https://github.com/NVIDIA/cuvs/issues/1091 // {1000, 10000, 2051, 16, 40, 1024, cuvs::distance::DistanceType::InnerProduct, true}, {1000, 10000, 2051, 16, 40, 1024, cuvs::distance::DistanceType::CosineExpanded, true}, {1000, 10000, 2052, 16, 40, 1024, cuvs::distance::DistanceType::InnerProduct, false}, diff --git a/cpp/tests/neighbors/ann_ivf_pq.cuh b/cpp/tests/neighbors/ann_ivf_pq.cuh index 584b9816fc..263fcb5497 100644 --- a/cpp/tests/neighbors/ann_ivf_pq.cuh +++ b/cpp/tests/neighbors/ann_ivf_pq.cuh @@ -1118,7 +1118,7 @@ inline auto enum_variety_cosine() -> test_cases_t if (y.min_recall.has_value()) { if (y.search_params.lut_dtype == CUDA_R_8U) { // TODO: Increase this recall threshold for 8 bit lut - // (https://github.com/nvidia/cuvs/issues/390) + // (https://github.com/NVIDIA/cuvs/issues/390) y.min_recall = y.min_recall.value() * 0.70; } else { // In other cases it seems to perform a little bit better, still worse than L2 diff --git a/examples/go/README.md b/examples/go/README.md index 1e7858bca1..1395c6c4e0 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.12.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/docs.yml b/fern/docs.yml index 77ee0dae2a..178ca85743 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -71,7 +71,7 @@ experimental: navbar-links: - type: "secondary" text: "GitHub" - url: "https://github.com/nvidia/cuvs" + url: "https://github.com/NVIDIA/cuvs" - type: "secondary" text: "CUDA-X" url: "https://www.nvidia.com/en-us/technologies/cuda-x/" diff --git a/fern/pages/contributing.md b/fern/pages/contributing.md index 6b54b1f88f..e208713a27 100755 --- a/fern/pages/contributing.md +++ b/fern/pages/contributing.md @@ -3,7 +3,7 @@ If you are interested in contributing to NVIDIA cuVS, your contributions will fall into three categories: 1. You want to report a bug, feature request, or documentation issue - - File an [issue](https://github.com/nvidia/cuvs/issues/new/choose) + - File an [issue](https://github.com/NVIDIA/cuvs/issues/new/choose) describing what you encountered or what you want to see changed. - The RAPIDS team will evaluate the issues and triage them, scheduling them for a release. If you believe the issue needs priority attention @@ -24,13 +24,13 @@ Performance-critical changes require [proper benchmarks](/developer-guide/coding ### Your first issue -1. Read the project's [README.md](https://github.com/nvidia/cuvs) +1. Read the project's [README.md](https://github.com/NVIDIA/cuvs) to learn how to setup the development environment 2. Find an issue to work on. The best way is to look for the [good first issue](https://github.com/NVIDIA/cuvs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - or [help wanted](https://github.com/nvidia/cuvs/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labels + or [help wanted](https://github.com/NVIDIA/cuvs/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labels 3. Comment on the issue saying you are going to work on it 4. Code! Make sure to update unit tests! -5. When done, [create your pull request](https://github.com/nvidia/cuvs/compare) +5. When done, [create your pull request](https://github.com/NVIDIA/cuvs/compare) 6. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/). Fix if needed 7. Wait for other developers to review your code and update code as needed 8. Once reviewed and approved, a RAPIDS developer will merge your pull request diff --git a/fern/pages/cpp_api/cpp-api-cluster-kmeans.md b/fern/pages/cpp_api/cpp-api-cluster-kmeans.md index 0fbbc41d3e..4b944cc560 100644 --- a/fern/pages/cpp_api/cpp-api-cluster-kmeans.md +++ b/fern/pages/cpp_api/cpp-api-cluster-kmeans.md @@ -123,7 +123,7 @@ raft::host_scalar_view n_iter); Runs on multiple GPUs when `handle` carries an SNMG clique (`raft::resource::is_multi_gpu(handle)`) or initialized RAFT comms (`raft::resource::comms_initialized(handle)`), and on a single GPU otherwise. -TODO: Evaluate replacing the extent type with int64_t. Reference issue: https://github.com/nvidia/cuvs/issues/1961 +TODO: Evaluate replacing the extent type with int64_t. Reference issue: https://github.com/NVIDIA/cuvs/issues/1961 This overload supports out-of-core computation where the dataset resides on the host. Data is processed in batches, streaming from host to device. The batch size is controlled by `params.device_buffer_samples`. Multiple batches are double-buffered when an auxiliary stream is available. Without a stream pool, the fit uses one input buffer and remains correct but serialized. One auxiliary stream is sufficient to overlap transfer and compute. Pinned host memory is crucial for OOC performance: ordinary pageable or unregistered `mmap`-backed input degrades throughput rapidly. diff --git a/fern/pages/cpp_api/cpp-api-neighbors-common.md b/fern/pages/cpp_api/cpp-api-neighbors-common.md index 8f96c1f7b4..63c9ce6b7d 100644 --- a/fern/pages/cpp_api/cpp-api-neighbors-common.md +++ b/fern/pages/cpp_api/cpp-api-neighbors-common.md @@ -157,7 +157,7 @@ Abstract base class for IVF list data. This allows polymorphic access to list data regardless of the underlying layout. -TODO: Make this struct internal (tracking issue: https://github.com/nvidia/cuvs/issues/1726) +TODO: Make this struct internal (tracking issue: https://github.com/NVIDIA/cuvs/issues/1726) ```cpp template diff --git a/fern/pages/cpp_guidelines.md b/fern/pages/cpp_guidelines.md index 310aa61877..4c35da3411 100644 --- a/fern/pages/cpp_guidelines.md +++ b/fern/pages/cpp_guidelines.md @@ -288,7 +288,7 @@ pre-commit install ### Core Hooks -C++ and CUDA code are formatted with [clang-format](https://clang.llvm.org/docs/ClangFormat.html). NVIDIA cuVS follows the Google C++ style with a few local adjustments documented in [cpp/.clang-format](https://github.com/nvidia/cuvs/blob/main/cpp/.clang-format): +C++ and CUDA code are formatted with [clang-format](https://clang.llvm.org/docs/ClangFormat.html). NVIDIA cuVS follows the Google C++ style with a few local adjustments documented in [cpp/.clang-format](https://github.com/NVIDIA/cuvs/blob/main/cpp/.clang-format): 1. Empty functions, records, and namespaces are not split. 2. Indentation is two spaces, including line continuations. diff --git a/fern/pages/cuvs_bench/datasets.md b/fern/pages/cuvs_bench/datasets.md index c1f8c52e07..349b1433ba 100644 --- a/fern/pages/cuvs_bench/datasets.md +++ b/fern/pages/cuvs_bench/datasets.md @@ -96,7 +96,7 @@ For billion-scale sources that provide ground truth for only the first 10M or 10 ## Dataset configurations -Each benchmark dataset needs a YAML descriptor with file names and basic properties. Common descriptors are available in [datasets.yaml](https://github.com/nvidia/cuvs/blob/branch-25.04/python/cuvs_bench/cuvs_bench/config/datasets/datasets.yaml). +Each benchmark dataset needs a YAML descriptor with file names and basic properties. Common descriptors are available in [datasets.yaml](https://github.com/NVIDIA/cuvs/blob/branch-25.04/python/cuvs_bench/cuvs_bench/config/datasets/datasets.yaml). The default `${CUVS_HOME}/python/cuvs_bench/cuvs_bench/config/datasets/datasets.yaml` includes entries like: diff --git a/fern/pages/index.md b/fern/pages/index.md index a18f1f10b9..0355315345 100644 --- a/fern/pages/index.md +++ b/fern/pages/index.md @@ -8,10 +8,10 @@ NVIDIA cuVS is a GPU-accelerated library for vector search on the GPU. Vector se [cuvs_reference]: https://docs.nvidia.com/cuvs -- [Example Notebooks](https://github.com/nvidia/cuvs/tree/HEAD/notebooks): Example notebooks -- [Code Examples](https://github.com/nvidia/cuvs/tree/HEAD/examples): Self-contained code examples -- [GitHub repository](https://github.com/nvidia/cuvs): Download the NVIDIA cuVS source code. -- [Issue tracker](https://github.com/nvidia/cuvs/issues): Report issues or request features. +- [Example Notebooks](https://github.com/NVIDIA/cuvs/tree/HEAD/notebooks): Example notebooks +- [Code Examples](https://github.com/NVIDIA/cuvs/tree/HEAD/examples): Self-contained code examples +- [GitHub repository](https://github.com/NVIDIA/cuvs): Download the NVIDIA cuVS source code. +- [Issue tracker](https://github.com/NVIDIA/cuvs/issues): Report issues or request features. ## What is NVIDIA cuVS? diff --git a/java/cuvs-java/pom.xml b/java/cuvs-java/pom.xml index b210be34d3..43d54d0cfd 100644 --- a/java/cuvs-java/pom.xml +++ b/java/cuvs-java/pom.xml @@ -26,10 +26,10 @@ SPDX-License-Identifier: Apache-2.0 - scm:git:https://github.com/nvidia/cuvs.git + scm:git:https://github.com/NVIDIA/cuvs.git scm:git:git@github.com:NVIDIA/cuvs.git HEAD - https://github.com/nvidia/cuvs + https://github.com/NVIDIA/cuvs diff --git a/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraRandomizedIT.java b/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraRandomizedIT.java index 9110f6ddc2..270e8c8136 100644 --- a/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraRandomizedIT.java +++ b/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraRandomizedIT.java @@ -35,7 +35,7 @@ enum TestDatasetMemoryKind { DEVICE } - @Ignore // https://github.com/nvidia/cuvs/issues/1468 + @Ignore // https://github.com/NVIDIA/cuvs/issues/1468 @Test public void testResultsTopKWithRandomValues() throws Throwable { TestDatasetMemoryKind[] testDatasetMemoryKinds = { diff --git a/notebooks/VectorSearch_QuestionRetrieval.ipynb b/notebooks/VectorSearch_QuestionRetrieval.ipynb index 6a4ef61f3b..51626d26a9 100644 --- a/notebooks/VectorSearch_QuestionRetrieval.ipynb +++ b/notebooks/VectorSearch_QuestionRetrieval.ipynb @@ -8,7 +8,7 @@ "\n", "# Similar Questions Retrieval\n", "\n", - "This notebook is inspired by the [similar search example of Sentence-Transformers](https://www.sbert.net/examples/applications/semantic-search/README.html#similar-questions-retrieval), and adapted to support [cuVS ANN](https://github.com/nvidia/cuvs) algorithm.\n", + "This notebook is inspired by the [similar search example of Sentence-Transformers](https://www.sbert.net/examples/applications/semantic-search/README.html#similar-questions-retrieval), and adapted to support [cuVS ANN](https://github.com/NVIDIA/cuvs) algorithm.\n", "\n", "The model was pre-trained on the [Natural Questions dataset](https://ai.google.com/research/NaturalQuestions). It consists of about 100k real Google search queries, together with an annotated passage from Wikipedia that provides the answer. It is an example of an asymmetric search task. As corpus, we use the smaller [Simple English Wikipedia](http://sbert.net/datasets/simplewiki-2020-11-01.jsonl.gz) so that it fits easily into memory.\n", "\n", diff --git a/python/cuvs/cuvs/tests/test_doctests.py b/python/cuvs/cuvs/tests/test_doctests.py index e76955a0ae..68dc02c1cc 100644 --- a/python/cuvs/cuvs/tests/test_doctests.py +++ b/python/cuvs/cuvs/tests/test_doctests.py @@ -21,7 +21,7 @@ def _name_in_all(parent, name): # Skip multi-GPU (mg) modules - they require special multi-GPU setup - # See: https://github.com/nvidia/cuvs/issues/1647 + # See: https://github.com/NVIDIA/cuvs/issues/1647 if name == "mg" or name == "mg_resources" or name == "MultiGpuResources": return False return name in getattr(parent, "__all__", []) diff --git a/python/cuvs/cuvs/tests/test_vamana.py b/python/cuvs/cuvs/tests/test_vamana.py index cbce0550a3..605d4f0c33 100644 --- a/python/cuvs/cuvs/tests/test_vamana.py +++ b/python/cuvs/cuvs/tests/test_vamana.py @@ -42,7 +42,7 @@ def test_vamana_build_basic(dtype): @pytest.mark.skip( reason="Skipping host build test because of CUDA error " "in C++ API. Reference issue: " - "https://github.com/nvidia/cuvs/issues/1380" + "https://github.com/NVIDIA/cuvs/issues/1380" ) def test_vamana_build_basic_host(dtype): n_rows, n_cols = 512, 12 diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml index a69525d72f..ab790c652b 100644 --- a/python/cuvs/pyproject.toml +++ b/python/cuvs/pyproject.toml @@ -42,7 +42,7 @@ test = [ ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] -Homepage = "https://github.com/nvidia/cuvs" +Homepage = "https://github.com/NVIDIA/cuvs" Documentation = "https://docs.nvidia.com/cuvs/home" [tool.isort] diff --git a/python/cuvs_bench/cuvs_bench/plot/__main__.py b/python/cuvs_bench/cuvs_bench/plot/__main__.py index d88763b86c..bea9afe6a2 100644 --- a/python/cuvs_bench/cuvs_bench/plot/__main__.py +++ b/python/cuvs_bench/cuvs_bench/plot/__main__.py @@ -6,7 +6,7 @@ # 1: https://github.com/erikbern/ann-benchmarks/blob/main/plot.py # 2: https://github.com/erikbern/ann-benchmarks/blob/main/ann_benchmarks/plotting/utils.py # noqa: E501 # 3: https://github.com/erikbern/ann-benchmarks/blob/main/ann_benchmarks/plotting/metrics.py # noqa: E501 -# License: https://github.com/nvidia/cuvs/blob/main/thirdparty/LICENSES/LICENSE.ann-benchmark # noqa: E501 +# License: https://github.com/NVIDIA/cuvs/blob/main/thirdparty/LICENSES/LICENSE.ann-benchmark # noqa: E501 import itertools import os diff --git a/python/cuvs_bench/pyproject.toml b/python/cuvs_bench/pyproject.toml index 87c3e83bb9..7fe2a08697 100644 --- a/python/cuvs_bench/pyproject.toml +++ b/python/cuvs_bench/pyproject.toml @@ -52,7 +52,7 @@ synthesize_dataset = [ ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] -Homepage = "https://github.com/nvidia/cuvs" +Homepage = "https://github.com/NVIDIA/cuvs" [project.entry-points."cuvs_bench.backends"] elastic = "cuvs_bench.backends.elasticsearch:register" diff --git a/python/libcuvs/pyproject.toml b/python/libcuvs/pyproject.toml index 384b74be6a..aaaa4563ef 100644 --- a/python/libcuvs/pyproject.toml +++ b/python/libcuvs/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ ] [project.urls] -Homepage = "https://github.com/nvidia/cuvs" +Homepage = "https://github.com/NVIDIA/cuvs" Documentation = "https://docs.nvidia.com/cuvs/home" [project.entry-points."cmake.prefix"] diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 27f3929d27..d59f6f54d0 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -11,8 +11,8 @@ resolver = "2" [workspace.package] version = "26.12.0" edition = "2024" -repository = "https://github.com/nvidia/cuvs" -homepage = "https://github.com/nvidia/cuvs" +repository = "https://github.com/NVIDIA/cuvs" +homepage = "https://github.com/NVIDIA/cuvs" description = "Vector Search and Clustering on the GPU" authors = ["NVIDIA Corporation"] license = "Apache-2.0" From 6b12fbbc99dadb3939670c45fd12eef3d66b238c Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:37:02 -0500 Subject: [PATCH 15/20] Replace RAPIDS with CUDA-X libraries in memory management docs --- fern/pages/other/memory_management.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fern/pages/other/memory_management.md b/fern/pages/other/memory_management.md index c5505d865d..e8702e3222 100644 --- a/fern/pages/other/memory_management.md +++ b/fern/pages/other/memory_management.md @@ -1,6 +1,6 @@ # Memory Management -NVIDIA cuVS uses NVIDIA RMM through RAFT so GPU algorithms can allocate temporary buffers, output arrays, and staging memory through one configurable memory layer. RMM helps NVIDIA cuVS interoperate with the broader GPU library ecosystem that either uses RMM directly or provides RMM adaptors, including RAPIDS libraries, PyTorch, CuPy, Faiss, and TensorFlow. This lets applications share memory resources and memory allocations across library boundaries without unnecessary copies. +NVIDIA cuVS uses NVIDIA RMM through RAFT so GPU algorithms can allocate temporary buffers, output arrays, and staging memory through one configurable memory layer. RMM helps NVIDIA cuVS interoperate with the broader GPU library ecosystem that either uses RMM directly or provides RMM adaptors, including other CUDA-X libraries for data science, PyTorch, CuPy, Faiss, and TensorFlow. This lets applications share memory resources and memory allocations across library boundaries without unnecessary copies. The most common choice is to configure a device memory pool before creating NVIDIA cuVS resources or allocating device arrays. Pooling avoids repeated `cudaMalloc` and `cudaFree` calls, which can synchronize the device and add allocator overhead to workloads with many temporary buffers. @@ -435,7 +435,7 @@ RMM separates allocation policy from algorithm code. An NVIDIA cuVS algorithm as This design gives users four practical benefits: - Allocation behavior can be tuned without changing NVIDIA cuVS API calls. -- NVIDIA cuVS can share memory resources and allocations with other RMM-aware libraries, including RAPIDS libraries, PyTorch, CuPy, Faiss, and TensorFlow. +- NVIDIA cuVS can share memory resources and allocations with other RMM-aware libraries, including other CUDA-X libraries for data science, PyTorch, CuPy, Faiss, and TensorFlow. - Data can move through compatible GPU libraries without extra copies solely to cross library boundaries. - Temporary allocations can be pooled to reduce allocator synchronization and fragmentation. From d888b5b79c3b3513e9862c5d8d9cd8dea5d73ca8 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:37:49 -0500 Subject: [PATCH 16/20] Remove RAPIDS references from memory management and ABI stability docs --- fern/pages/other/memory_management.md | 2 +- fern/pages/user_guide/abi_stability.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fern/pages/other/memory_management.md b/fern/pages/other/memory_management.md index e8702e3222..e6a1ac7bd7 100644 --- a/fern/pages/other/memory_management.md +++ b/fern/pages/other/memory_management.md @@ -8,7 +8,7 @@ The most common choice is to configure a device memory pool before creating NVID [C resources API](/api-reference/c-api-core-c-api#cuvsrmmpoolmemoryresourceenable) | [Java provider API](/api-reference/java-api-com-nvidia-cuvs-spi-cuvsprovider#enablermmpooledmemory) | [Go memory API](/api-reference/go-api-cuvs#newcuvspoolmemory) -C, Java, Go, and Rust configure RMM through NVIDIA cuVS wrappers over the C API. C++ and Python applications usually use RMM directly because RMM is part of the RAPIDS stack used by RAFT and NVIDIA cuVS. +C, Java, Go, and Rust configure RMM through NVIDIA cuVS wrappers over the C API. C++ and Python applications usually use RMM directly because RMM is the memory layer used by RAFT and NVIDIA cuVS. ### Setting a device pool diff --git a/fern/pages/user_guide/abi_stability.md b/fern/pages/user_guide/abi_stability.md index 755f3e0cc0..6ad179afc3 100644 --- a/fern/pages/user_guide/abi_stability.md +++ b/fern/pages/user_guide/abi_stability.md @@ -31,9 +31,9 @@ The NVIDIA cuVS version tells you which release you are using. The ABI version t ## Release Versioning -NVIDIA cuVS follows the [Calendar Versioning](https://calver.org/overview.html) scheme used by RAPIDS. An NVIDIA cuVS version such as `26.04` means the release was made in April 2026. +NVIDIA cuVS follows the [Calendar Versioning](https://calver.org/overview.html) scheme. An NVIDIA cuVS version such as `26.04` means the release was made in April 2026. -RAPIDS releases are scheduled every even-numbered month. The current release schedule is published in the [RAPIDS Maintainers Docs](https://docs.nvidia.com/datascience/maintainers/), and completed release schedules are archived on the [RAPIDS release schedule page](https://docs.nvidia.com/datascience/releases/schedule/). +NVIDIA cuVS releases are scheduled every even-numbered month. The current release schedule is published in the [CUDA-X for data science Maintainers Docs](https://docs.nvidia.com/datascience/maintainers/), and completed release schedules are archived on the [CUDA-X for data science release schedule page](https://docs.nvidia.com/datascience/releases/schedule/). NVIDIA cuVS currently guarantees ABI compatibility for each six-month release window. ABI-breaking changes may happen between the `YY.12` and following `YY.02` releases, and between the `YY.06` and `YY.08` releases. In practice, the stable ABI windows are `YY.02` through `YY.06`, and `YY.08` through `YY.12`. From 62ebd336d58e0e9170f074cb9ffc031e99f97d31 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 12:39:12 -0500 Subject: [PATCH 17/20] Remove RAPIDS references from fern docs prose --- fern/pages/build.md | 2 +- fern/pages/c_guidelines.md | 2 +- fern/pages/contributing.md | 6 +++--- fern/pages/cpp_guidelines.md | 4 ++-- fern/pages/cuvs_bench/install.md | 2 +- fern/pages/java_guidelines.md | 2 +- fern/pages/use_cases.md | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fern/pages/build.md b/fern/pages/build.md index bb18de5f07..6991891799 100644 --- a/fern/pages/build.md +++ b/fern/pages/build.md @@ -6,7 +6,7 @@ All NVIDIA cuVS routine implementations live in the C++ core. For every non-C++ ## CUDA GPU Requirements -Pre-compiled NVIDIA cuVS packages are available for Linux on x86_64 and aarch64. Native Windows support is not available at this time. On Windows, use WSL2 with GPU passthrough. See the [RAPIDS WSL2 guide](https://docs.nvidia.com/datascience/install/#wsl2). +Pre-compiled NVIDIA cuVS packages are available for Linux on x86_64 and aarch64. Native Windows support is not available at this time. On Windows, use WSL2 with GPU passthrough. See the [CUDA-X for data science WSL2 guide](https://docs.nvidia.com/datascience/install/#wsl2). Source builds and package installs require a supported NVIDIA GPU. For current source builds, use CUDA Toolkit 12.2 or newer and an Ampere architecture GPU or newer, which means compute capability 8.0 or higher. diff --git a/fern/pages/c_guidelines.md b/fern/pages/c_guidelines.md index 29956068fa..b7b2599c9c 100644 --- a/fern/pages/c_guidelines.md +++ b/fern/pages/c_guidelines.md @@ -189,7 +189,7 @@ Use `#include ` for public NVIDIA cuVS C headers. Keep public C header ### Copyright -RAPIDS pre-commit hooks check copyright headers on modified tracked files. To run that check manually: +Pre-commit hooks check copyright headers on modified tracked files. To run that check manually: ```bash pre-commit run -a verify-copyright diff --git a/fern/pages/contributing.md b/fern/pages/contributing.md index e208713a27..82ff5e37b8 100755 --- a/fern/pages/contributing.md +++ b/fern/pages/contributing.md @@ -5,7 +5,7 @@ into three categories: 1. You want to report a bug, feature request, or documentation issue - File an [issue](https://github.com/NVIDIA/cuvs/issues/new/choose) describing what you encountered or what you want to see changed. - - The RAPIDS team will evaluate the issues and triage them, scheduling + - The cuVS team will evaluate the issues and triage them, scheduling them for a release. If you believe the issue needs priority attention comment on the issue to notify the team. 2. You want to propose a new Feature and implement it @@ -33,7 +33,7 @@ Performance-critical changes require [proper benchmarks](/developer-guide/coding 5. When done, [create your pull request](https://github.com/NVIDIA/cuvs/compare) 6. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/). Fix if needed 7. Wait for other developers to review your code and update code as needed -8. Once reviewed and approved, a RAPIDS developer will merge your pull request +8. Once reviewed and approved, a cuVS developer will merge your pull request Remember, if you are unsure about anything, don't hesitate to comment on issues and ask for clarifications! @@ -79,7 +79,7 @@ Once you have gotten your feet wet and are more comfortable with the code, you can look at the prioritized issues of our next release in our [project boards](https://github.com/NVIDIA/cuvs/projects). > **Pro Tip:** Always look at the release board with the highest number for -issues to work on. This is where RAPIDS developers also focus their efforts. +issues to work on. This is where cuVS developers also focus their efforts. Look at the unassigned issues, and find an issue you are comfortable with contributing to. Start with _Step 3_ from above, commenting on the issue to let diff --git a/fern/pages/cpp_guidelines.md b/fern/pages/cpp_guidelines.md index 4c35da3411..aa72a88539 100644 --- a/fern/pages/cpp_guidelines.md +++ b/fern/pages/cpp_guidelines.md @@ -99,7 +99,7 @@ Use RAFT array types consistently in public C++ APIs and implementation code. Fo Keep data layout explicit. Most NVIDIA cuVS APIs expect row-major dense matrices unless the API says otherwise. -Prefer public API signatures that accept non-owning views, not owning arrays. This keeps NVIDIA cuVS functions flexible because callers can pass memory owned by RAFT, another RAPIDS library, or an application-specific allocator. +Prefer public API signatures that accept non-owning views, not owning arrays. This keeps NVIDIA cuVS functions flexible because callers can pass memory owned by RAFT, another CUDA-X library for data science, or an application-specific allocator. Prefer `device_matrix_view` and `device_vector_view` over raw pointers for public NVIDIA cuVS C++ APIs. Views carry shape, layout, memory-space, and constness information, making incorrect dimensions and accidental writes easier to catch. @@ -324,7 +324,7 @@ python ./cpp/scripts/include_checker.py --inplace cpp/include cpp/tests ### Copyright -RAPIDS pre-commit hooks check copyright headers on modified tracked files. To run that check manually: +Pre-commit hooks check copyright headers on modified tracked files. To run that check manually: ```bash pre-commit run -a verify-copyright diff --git a/fern/pages/cuvs_bench/install.md b/fern/pages/cuvs_bench/install.md index 1536af7ec2..62510e9338 100644 --- a/fern/pages/cuvs_bench/install.md +++ b/fern/pages/cuvs_bench/install.md @@ -14,7 +14,7 @@ conda create --name cuvs_benchmarks conda activate cuvs_benchmarks # to install GPU package: -conda install -c rapidsai -c conda-forge cuvs-bench= 'cuda-version=13.3.*' +conda install -c rapidsai -c conda-forge cuvs-bench= 'cuda-version=13.3.*' # to install CPU package for usage in CPU-only systems: conda install -c rapidsai -c conda-forge cuvs-bench-cpu diff --git a/fern/pages/java_guidelines.md b/fern/pages/java_guidelines.md index 4c535562f0..87c5f3b91d 100644 --- a/fern/pages/java_guidelines.md +++ b/fern/pages/java_guidelines.md @@ -139,7 +139,7 @@ Keep public interfaces and builders readable. Prefer clear Java names over nativ ### Copyright -RAPIDS pre-commit hooks and the Java Spotless configuration check copyright headers on modified tracked files. Use the repository Java license header and avoid hand-editing generated binding files unless the generator is being updated. +Pre-commit hooks and the Java Spotless configuration check copyright headers on modified tracked files. Use the repository Java license header and avoid hand-editing generated binding files unless the generator is being updated. ## Code Quality diff --git a/fern/pages/use_cases.md b/fern/pages/use_cases.md index 8edcbe220e..0b3298d8fd 100644 --- a/fern/pages/use_cases.md +++ b/fern/pages/use_cases.md @@ -32,7 +32,7 @@ Vector search is also useful when search is not the final product. In *batch exp [K-Means](/user-guide/api-guides/clustering-guide/k-means) groups vectors around representative centroids. It is useful for segmentation, coarse partitioning, vector quantization, sampling, and summarizing large datasets. [Single-linkage](/user-guide/api-guides/clustering-guide/single-linkage) builds a hierarchy of merges, which is useful when the tree structure or dendrogram is part of the analysis. [Spectral clustering](/user-guide/api-guides/clustering-guide/spectral-clustering) works through graph structure and can separate clusters that are not well described by compact centroids. -*Manifold learning* and *dimensionality reduction workflows* use neighborhood structure to reveal lower-dimensional patterns. These workflows are common for *visualization*, *exploratory analysis*, *quality checks*, *dataset debugging*, and *feature inspection*. [PCA](/user-guide/api-guides/preprocessing-guide/pca) provides a fast linear reduction path, while neighborhood graphs can feed nonlinear manifold methods in adjacent RAPIDS workflows. +*Manifold learning* and *dimensionality reduction workflows* use neighborhood structure to reveal lower-dimensional patterns. These workflows are common for *visualization*, *exploratory analysis*, *quality checks*, *dataset debugging*, and *feature inspection*. [PCA](/user-guide/api-guides/preprocessing-guide/pca) provides a fast linear reduction path, while neighborhood graphs can feed nonlinear manifold methods in adjacent CUDA-X for data science workflows. ## Compression and preprocessing From 35f5c7fefcd351fa5baadaf45d23d2e0b742f0ac Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 13:19:14 -0500 Subject: [PATCH 18/20] Remove RAPIDS reference from notebooks/utils.py --- notebooks/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notebooks/utils.py b/notebooks/utils.py index f456e6f02d..63ccff14a2 100644 --- a/notebooks/utils.py +++ b/notebooks/utils.py @@ -1,5 +1,5 @@ # -# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 @@ -45,7 +45,7 @@ class BenchmarkTimer: ... do something ... print(np.min(timer.timings)) - This class is borrowed from the rapids/cuml benchmark suite + This class is borrowed from the cuML benchmark suite """ def __init__(self, reps=1, warmup=0): From 5aa08fa096fd5e393e9100eeba0ba5c51ebfe4b5 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 13:20:51 -0500 Subject: [PATCH 19/20] Remove RAPIDS reference from dependencies.yaml comment --- dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index 49dc255c84..056ae08729 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -519,7 +519,7 @@ dependencies: - cupy>=14.0.1,!=14.1.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. + # All wheel builds (including in devcontainers) expect cupy to be suffixed. specific: - output_types: constraints matrices: From 458d0cbf942207357f0f96dd03c749f1382c0bd8 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 16 Oct 2026 13:27:09 -0500 Subject: [PATCH 20/20] More fixes --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/release.yml | 2 +- cpp/scripts/run-cmake-format.sh | 18 +++++++++--------- python/cuvs/CMakeLists.txt | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 23d3a11feb..8f0ed3fb51 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -22,7 +22,7 @@ Here are some guidelines to help the review process go smoothly. for example when the C/C++ code of a feature is complete but Python bindings are still required, then add the label `[HELP-REQ]` so that others can triage and assist. The additional changes then can be implemented on top of the - same PR. If the assistance is done by members of the rapidsAI team, then no + same PR. If the assistance is done by members of the cuVS team, then no additional actions are required by the creator of the original PR for this, otherwise the original author of the PR needs to give permission to the person(s) assisting to commit to their personal fork of the project. If that diff --git a/.github/release.yml b/.github/release.yml index 2c9a85805c..99db2d8edc 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -1,4 +1,4 @@ -# GitHub Auto-Generated Release Notes Configuration for RAPIDS +# GitHub Auto-Generated Release Notes Configuration # This file configures how GitHub automatically generates release notes changelog: diff --git a/cpp/scripts/run-cmake-format.sh b/cpp/scripts/run-cmake-format.sh index 5da9673ea3..2f1d689c23 100755 --- a/cpp/scripts/run-cmake-format.sh +++ b/cpp/scripts/run-cmake-format.sh @@ -1,17 +1,17 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2022-2025, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # This script is a wrapper for cmakelang that may be used with pre-commit. The -# wrapping is necessary because RAPIDS libraries split configuration for -# cmakelang linters between a local config file and a second config file that's -# shared across all of RAPIDS via rapids-cmake. In order to keep it up to date -# this file is only maintained in one place (the rapids-cmake repo) and -# pulled down during builds. We need a way to invoke CMake linting commands -# without causing pre-commit failures (which could block local commits or CI), -# while also being sufficiently flexible to allow users to maintain the config -# file independently of a build directory. +# wrapping is necessary because libraries split configuration for cmakelang +# linters between a local config file and a second config file that's shared +# via rapids-cmake. In order to keep it up to date this file is only maintained +# in one place (the rapids-cmake repo) and pulled down during builds. We need a +# way to invoke CMake linting commands without causing pre-commit failures +# (which could block local commits or CI), while also being sufficiently +# flexible to allow users to maintain the config file independently of a build +# directory. # # This script provides the minimal functionality to enable those use cases. It # searches in a number of predefined locations for the rapids-cmake config file diff --git a/python/cuvs/CMakeLists.txt b/python/cuvs/CMakeLists.txt index 23f8e58ca6..b9628798ef 100644 --- a/python/cuvs/CMakeLists.txt +++ b/python/cuvs/CMakeLists.txt @@ -24,7 +24,7 @@ project( C CXX CUDA ) -# Find C++ libraries from RAPIDS wheels in site-packages. +# Find C++ libraries from wheels in site-packages. set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) # ##################################################################################################