diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b897d49c50..cba4d15f88 100755 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -28,10 +28,11 @@ CMakeLists.txt @NVIDIA/cuvs-cmake-codeowners cpp/scripts/run-cmake-format.sh @NVIDIA/cuvs-cmake-codeowners #CI code owners +/.coderabbit.yaml @NVIDIA/adi-ci-codeowners /.github/ @NVIDIA/adi-ci-codeowners -/ci/ @NVIDIA/adi-ci-codeowners /.shellcheckrc @NVIDIA/adi-ci-codeowners -/.coderabbit.yaml @NVIDIA/adi-ci-codeowners +/.yamllint.yaml @NVIDIA/adi-ci-codeowners +/ci/ @NVIDIA/adi-ci-codeowners #packaging code owners /.pre-commit-config.yaml @NVIDIA/adi-packaging-codeowners diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 804c3cd877..c209d0c0ad 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -225,7 +225,7 @@ jobs: permissions: contents: read secrets: - GPUTESTER_CRATES_TOKEN: ${{ secrets.GPUTESTER_CRATES_TOKEN }} + GPUTESTER_CRATES_TOKEN: ${{ secrets.GPUTESTER_CRATES_TOKEN }} uses: ./.github/workflows/publish-rust.yaml docs-build: if: github.ref_type == 'branch' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 6f1e52d8d7..502f673735 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -3,15 +3,15 @@ name: "Pull Request Labeler" # incorrectly. These usages are ok and don't execute any PR-specific # code (and so aren't susceptible to exploits from forked PRs) on: # zizmor: ignore[dangerous-triggers] -- pull_request_target + - pull_request_target jobs: - triage: - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - steps: - - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" + triage: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 2154fe74a7..12d2d7f8eb 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -97,6 +97,7 @@ jobs: - '!.github/workflows/trigger-breaking-change-alert.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!Dockerfile' - '!SECURITY.md' - '!ci/build_wheel*.sh' @@ -122,6 +123,7 @@ jobs: - '!.github/workflows/trigger-breaking-change-alert.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!Dockerfile' - '!README.md' - '!SECURITY.md' @@ -160,6 +162,7 @@ jobs: - '!.github/workflows/trigger-breaking-change-alert.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!CODEOWNERS' - '!Dockerfile' - '!README.md' @@ -209,6 +212,7 @@ jobs: - '!.github/workflows/update-c-abi-baseline.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!ci/build_go.sh' - '!ci/build_java.sh' - '!ci/build_rust.sh' @@ -251,6 +255,7 @@ jobs: - '!.github/workflows/trigger-breaking-change-alert.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!ci/build_cpp.sh' - '!ci/build_docs.sh' - '!ci/build_go.sh' @@ -298,6 +303,7 @@ jobs: - '!.github/workflows/trigger-breaking-change-alert.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!CODEOWNERS' - '!Dockerfile' - '!README.md' @@ -340,6 +346,7 @@ jobs: - '!.github/workflows/trigger-breaking-change-alert.yaml' - '!.pre-commit-config.yaml' - '!.shellcheckrc' + - '!.yamllint.yaml' - '!CODEOWNERS' - '!Dockerfile' - '!README.md' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index aa65eec100..5b7a192fcf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,205 +2,216 @@ # SPDX-License-Identifier: Apache-2.0 repos: - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v6.0.0 - hooks: - - id: check-json - - id: trailing-whitespace - - id: end-of-file-fixer - - id: check-symlinks - - id: check-xml - - repo: https://github.com/PyCQA/isort - rev: 5.12.0 - hooks: - - id: isort - # Use the config file specific to each subproject so that each - # project can specify its own first/third-party packages. - args: ["--config-root=python/", "--resolve-all-configs"] - files: python/.* - types: [cython] - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.3 - hooks: - - id: ruff-check - args: [--fix] - - id: ruff-format - - repo: https://github.com/pre-commit/mirrors-mypy - rev: 'v1.19.1' - hooks: - - id: mypy - additional_dependencies: [types-cachetools] - args: ["--config-file=pyproject.toml", - "python/cuvs/cuvs", - "cpp/cmake/modules", - "cpp/tests/python", - "ci/checks"] - pass_filenames: false - - repo: https://github.com/PyCQA/pydocstyle - rev: 6.1.1 - hooks: - - id: pydocstyle - # https://github.com/PyCQA/pydocstyle/issues/603 - additional_dependencies: [toml] - args: ["--config=pyproject.toml"] - - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v20.1.8 - hooks: - - id: clang-format - types_or: [c, c++, cuda] - args: ["-fallback-style=none", "-style=file", "-i"] - - repo: local - hooks: - - id: no-deprecationwarning - name: no-deprecationwarning - description: 'Enforce that DeprecationWarning is not introduced (use FutureWarning instead)' - entry: '(category=|\s)DeprecationWarning[,)]' - language: pygrep - types_or: [python, cython] - - id: cmake-format - name: cmake-format - entry: ./cpp/scripts/run-cmake-format.sh cmake-format - language: python - types: [cmake] - exclude: .*/thirdparty/.*|.*FindAVX.cmake.* - # Note that pre-commit autoupdate does not update the versions - # of dependencies, so we'll have to update this manually. - additional_dependencies: - - cmakelang==0.6.13 - verbose: true - require_serial: true - - id: cmake-lint - name: cmake-lint - entry: ./cpp/scripts/run-cmake-format.sh cmake-lint - language: python - types: [cmake] - # Note that pre-commit autoupdate does not update the versions - # of dependencies, so we'll have to update this manually. - additional_dependencies: - - cmakelang==0.6.13 - verbose: true - require_serial: true - exclude: .*/thirdparty/.* - - id: include-check - name: include-check - entry: python ./cpp/scripts/include_checker.py cpp/bench cpp/include cpp/tests - pass_filenames: false - language: python - additional_dependencies: [gitpython] - - id: cargo-fmt - name: cargo-fmt - entry: cargo fmt --manifest-path rust/Cargo.toml --all - pass_filenames: false - files: rust/.* - language: rust - - id: clang-format-with-cmake-placeholders - name: clang-format-with-cmake-placeholders - entry: python3 ci/checks/clang_format_with_cmake_placeholders.py - language: python - additional_dependencies: [clang_format==20.1.8] - files: | - (?x) - [.](cpp|cu|hpp|cuh)[.]in$ - # clang-format struggles with one of the placeholders in register_fatbin.cpp.in, so exclude it - exclude: | - (?x) - ^cpp/cmake/modules/register_fatbin[.]cpp[.]in$ - - repo: https://github.com/codespell-project/codespell - rev: v2.4.1 - hooks: - - id: codespell - additional_dependencies: [tomli] - args: ["--toml", "pyproject.toml"] - exclude: | - (?x) - ^CHANGELOG[.]md$| - ^cpp/cmake/patches/cutlass/build-export[.]patch$| - ^rust/cuvs-sys/src/bindings[.]rs$ - - repo: https://github.com/rapidsai/pre-commit-hooks - rev: v1.6.0 - hooks: - - id: verify-copyright - name: verify-copyright-cuvs - args: [--fix, --spdx] - files: | - (?x) - [.](cmake|c|cpp([.]in)?|cu([.]in)?|cuh([.]in)?|h|hpp([.]in)?|sh|pxd|py|pyx|rs|java)$| - CMakeLists[.]txt$| - CMakeLists_standalone[.]txt$| - meta[.]yaml$| - pyproject[.]toml$| - ^python/cuvs_bench/cuvs_bench/split_groundtruth/split_groundtruth[.]pl$| - Dockerfile$| - pom[.]xml$| - ^java/cuvs-java/src/assembly/native-with-deps[.]xml$| - ^java/docker-build/build-in-docker$| - ^java/docker-build/run-in-docker$| - ^[.]flake8$| - recipe[.]yaml$| - ^[.]pre-commit-config[.]yaml$ - exclude: | - (?x)^( - docs/source/sphinxext/github_link[.]py$| - cpp/cmake/modules/FindAVX[.]cmake$| - cpp/src/neighbors/detail/faiss_distance_utils[.]h$| - cpp/src/distance/detail/fused_distance_nn/gemm[.]h$| - cpp/src/distance/detail/fused_distance_nn/epilogue[.]cuh$| - cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_normvec_smem[.]h$| - cpp/src/distance/detail/fused_distance_nn/persistent_gemm[.]h$| - cpp/src/distance/detail/fused_distance_nn/epilogue_elementwise[.]cuh$| - cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_reduced_vec[.]h$| - cpp/src/distance/detail/fused_distance_nn/custom_epilogue_with_broadcast[.]h$| - rust/cuvs-sys/src/bindings[.]rs$ - ) - - id: verify-copyright - name: verify-copyright-scikit-learn - args: [--fix, --spdx, "--spdx-license-identifier=Apache-2.0 AND BSD-3-Clause"] - files: | - (?x)^( - docs/source/sphinxext/github_link[.]py$ - ) - - id: verify-copyright - name: verify-copyright-cutlass - args: [--fix, --spdx, "--spdx-license-identifier=Apache-2.0 AND BSD-3-Clause"] - files: | - (?x)^( - cpp/src/distance/detail/fused_distance_nn/gemm[.]h$| - cpp/src/distance/detail/fused_distance_nn/epilogue[.]cuh$| - cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_normvec_smem[.]h$| - cpp/src/distance/detail/fused_distance_nn/persistent_gemm[.]h$| - cpp/src/distance/detail/fused_distance_nn/epilogue_elementwise[.]cuh$| - cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_reduced_vec[.]h$| - cpp/src/distance/detail/fused_distance_nn/custom_epilogue_with_broadcast[.]h$ - ) - - id: verify-copyright - name: verify-copyright-faiss - args: [--fix, --spdx, "--spdx-license-identifier=Apache-2.0 AND MIT"] - files: | - (?x)^( - cpp/src/neighbors/detail/faiss_distance_utils[.]h$ - ) - - id: verify-alpha-spec - - id: verify-codeowners - args: [--fix, --org=NVIDIA, --project-prefix=cuvs] - - id: verify-pyproject-license - # ignore the top-level pyproject.toml, which doesn't - # have or need a [project] table - exclude: | - (?x) - ^pyproject[.]toml$ - - repo: https://github.com/rapidsai/dependency-file-generator - rev: v1.20.0 - hooks: - - id: rapids-dependency-file-generator - args: ["--clean", "--warn-all", "--strict"] - - repo: https://github.com/shellcheck-py/shellcheck-py - rev: v0.10.0.1 - hooks: - - id: shellcheck - - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: v1.24.1 - hooks: - - id: zizmor + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: check-json + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-symlinks + - id: check-xml + - repo: https://github.com/PyCQA/isort + rev: 5.12.0 + hooks: + - id: isort + # Use the config file specific to each subproject so that each + # project can specify its own first/third-party packages. + args: ["--config-root=python/", "--resolve-all-configs"] + files: python/.* + types: [cython] + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.3 + hooks: + - id: ruff-check + args: [--fix] + - id: ruff-format + - repo: https://github.com/pre-commit/mirrors-mypy + rev: 'v1.19.1' + hooks: + - id: mypy + additional_dependencies: [types-cachetools] + args: ["--config-file=pyproject.toml", + "python/cuvs/cuvs", + "cpp/cmake/modules", + "cpp/tests/python", + "ci/checks"] + pass_filenames: false + - repo: https://github.com/PyCQA/pydocstyle + rev: 6.1.1 + hooks: + - id: pydocstyle + # https://github.com/PyCQA/pydocstyle/issues/603 + additional_dependencies: [toml] + args: ["--config=pyproject.toml"] + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v20.1.8 + hooks: + - id: clang-format + types_or: [c, c++, cuda] + args: ["-fallback-style=none", "-style=file", "-i"] + - repo: local + hooks: + - id: no-deprecationwarning + name: no-deprecationwarning + description: 'Enforce that DeprecationWarning is not introduced (use FutureWarning instead)' + entry: '(category=|\s)DeprecationWarning[,)]' + language: pygrep + types_or: [python, cython] + - id: cmake-format + name: cmake-format + entry: ./cpp/scripts/run-cmake-format.sh cmake-format + language: python + types: [cmake] + exclude: .*/thirdparty/.*|.*FindAVX.cmake.* + # Note that pre-commit autoupdate does not update the versions + # of dependencies, so we'll have to update this manually. + additional_dependencies: + - cmakelang==0.6.13 + verbose: true + require_serial: true + - id: cmake-lint + name: cmake-lint + entry: ./cpp/scripts/run-cmake-format.sh cmake-lint + language: python + types: [cmake] + # Note that pre-commit autoupdate does not update the versions + # of dependencies, so we'll have to update this manually. + additional_dependencies: + - cmakelang==0.6.13 + verbose: true + require_serial: true + exclude: .*/thirdparty/.* + - id: include-check + name: include-check + entry: python ./cpp/scripts/include_checker.py cpp/bench cpp/include cpp/tests + pass_filenames: false + language: python + additional_dependencies: [gitpython] + - id: cargo-fmt + name: cargo-fmt + entry: cargo fmt --manifest-path rust/Cargo.toml --all + pass_filenames: false + files: rust/.* + language: rust + - id: clang-format-with-cmake-placeholders + name: clang-format-with-cmake-placeholders + entry: python3 ci/checks/clang_format_with_cmake_placeholders.py + language: python + additional_dependencies: [clang_format==20.1.8] + files: | + (?x) + [.](cpp|cu|hpp|cuh)[.]in$ + # clang-format struggles with one of the placeholders in register_fatbin.cpp.in, so exclude it + exclude: | + (?x) + ^cpp/cmake/modules/register_fatbin[.]cpp[.]in$ + - repo: https://github.com/codespell-project/codespell + rev: v2.4.1 + hooks: + - id: codespell + additional_dependencies: [tomli] + args: ["--toml", "pyproject.toml"] + exclude: | + (?x) + ^CHANGELOG[.]md$| + ^cpp/cmake/patches/cutlass/build-export[.]patch$| + ^rust/cuvs-sys/src/bindings[.]rs$ + - repo: https://github.com/rapidsai/pre-commit-hooks + rev: v1.6.0 + hooks: + - id: verify-copyright + name: verify-copyright-cuvs + args: [--fix, --spdx] + files: | + (?x) + [.](cmake|c|cpp([.]in)?|cu([.]in)?|cuh([.]in)?|h|hpp([.]in)?|sh|pxd|py|pyx|rs|java)$| + CMakeLists[.]txt$| + CMakeLists_standalone[.]txt$| + meta[.]yaml$| + pyproject[.]toml$| + ^python/cuvs_bench/cuvs_bench/split_groundtruth/split_groundtruth[.]pl$| + Dockerfile$| + pom[.]xml$| + ^java/cuvs-java/src/assembly/native-with-deps[.]xml$| + ^java/docker-build/build-in-docker$| + ^java/docker-build/run-in-docker$| + ^[.]flake8$| + recipe[.]yaml$| + ^[.]pre-commit-config[.]yaml$ + exclude: | + (?x)^( + docs/source/sphinxext/github_link[.]py$| + cpp/cmake/modules/FindAVX[.]cmake$| + cpp/src/neighbors/detail/faiss_distance_utils[.]h$| + cpp/src/distance/detail/fused_distance_nn/gemm[.]h$| + cpp/src/distance/detail/fused_distance_nn/epilogue[.]cuh$| + cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_normvec_smem[.]h$| + cpp/src/distance/detail/fused_distance_nn/persistent_gemm[.]h$| + cpp/src/distance/detail/fused_distance_nn/epilogue_elementwise[.]cuh$| + cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_reduced_vec[.]h$| + cpp/src/distance/detail/fused_distance_nn/custom_epilogue_with_broadcast[.]h$| + rust/cuvs-sys/src/bindings[.]rs$ + ) + - id: verify-copyright + name: verify-copyright-scikit-learn + args: [--fix, --spdx, "--spdx-license-identifier=Apache-2.0 AND BSD-3-Clause"] + files: | + (?x)^( + docs/source/sphinxext/github_link[.]py$ + ) + - id: verify-copyright + name: verify-copyright-cutlass + args: [--fix, --spdx, "--spdx-license-identifier=Apache-2.0 AND BSD-3-Clause"] + files: | + (?x)^( + cpp/src/distance/detail/fused_distance_nn/gemm[.]h$| + cpp/src/distance/detail/fused_distance_nn/epilogue[.]cuh$| + cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_normvec_smem[.]h$| + cpp/src/distance/detail/fused_distance_nn/persistent_gemm[.]h$| + cpp/src/distance/detail/fused_distance_nn/epilogue_elementwise[.]cuh$| + cpp/src/distance/detail/fused_distance_nn/predicated_tile_iterator_reduced_vec[.]h$| + cpp/src/distance/detail/fused_distance_nn/custom_epilogue_with_broadcast[.]h$ + ) + - id: verify-copyright + name: verify-copyright-faiss + args: [--fix, --spdx, "--spdx-license-identifier=Apache-2.0 AND MIT"] + files: | + (?x)^( + cpp/src/neighbors/detail/faiss_distance_utils[.]h$ + ) + - id: verify-alpha-spec + - id: verify-codeowners + args: [--fix, --org=NVIDIA, --project-prefix=cuvs] + - id: verify-pyproject-license + # ignore the top-level pyproject.toml, which doesn't + # have or need a [project] table + exclude: | + (?x) + ^pyproject[.]toml$ + - repo: https://github.com/rapidsai/dependency-file-generator + rev: v1.20.0 + hooks: + - id: rapids-dependency-file-generator + args: ["--clean", "--warn-all", "--strict"] + - repo: https://github.com/shellcheck-py/shellcheck-py + rev: v0.10.0.1 + hooks: + - id: shellcheck + - repo: https://github.com/adrienverge/yamllint + rev: v1.38.0 + hooks: + - id: yamllint + additional_dependencies: [pyyaml] + exclude: | + (?x)^( + conda/environments/.*| + cpp/[.]clang-format$| + cpp/[.]clang-tidy$ + ) + - repo: https://github.com/zizmorcore/zizmor-pre-commit + rev: v1.24.1 + hooks: + - id: zizmor default_language_version: - python: python3 + python: python3 diff --git a/.yamllint.yaml b/.yamllint.yaml new file mode 100644 index 0000000000..ba2cbe1669 --- /dev/null +++ b/.yamllint.yaml @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +extends: default + +rules: + anchors: + forbid-undeclared-aliases: true + forbid-duplicated-anchors: true + forbid-unused-anchors: true + braces: + forbid: false + min-spaces-inside: 0 + # allow 1 space for jinja templating in conda recipes + max-spaces-inside: 1 + min-spaces-inside-empty: -1 + max-spaces-inside-empty: -1 + brackets: enable + colons: + max-spaces-before: 0 + max-spaces-after: 1 + commas: + max-spaces-before: 0 + min-spaces-after: 1 + max-spaces-after: 1 + comments: disable + comments-indentation: disable + document-end: disable + document-start: disable + key-duplicates: + forbid-duplicated-merge-keys: true + line-length: disable + truthy: + allowed-values: ['false', 'true'] + # having problematic value in keys is rare... and also + # GitHub Actions' choie of 'on:' triggers this check + # ref: https://github.com/adrienverge/yamllint/issues/430 + check-keys: false diff --git a/conda/recipes/cuvs-bench-cpu/recipe.yaml b/conda/recipes/cuvs-bench-cpu/recipe.yaml index baf8fcfbc0..fc57688dd4 100644 --- a/conda/recipes/cuvs-bench-cpu/recipe.yaml +++ b/conda/recipes/cuvs-bench-cpu/recipe.yaml @@ -8,7 +8,7 @@ context: head_rev: '${{ git.head_rev(".")[:8] }}' linux64: ${{ linux and x86_64 }} py_abi_min: ${{ env.get("RAPIDS_PY_VERSION") }} - py_buildstring : ${{ py_abi_min | version_to_buildstring }} + py_buildstring: ${{ py_abi_min | version_to_buildstring }} py_runtime_latest: "3.14" package: diff --git a/conda/recipes/cuvs-bench/recipe.yaml b/conda/recipes/cuvs-bench/recipe.yaml index a2c5f2426a..ece9235a33 100644 --- a/conda/recipes/cuvs-bench/recipe.yaml +++ b/conda/recipes/cuvs-bench/recipe.yaml @@ -10,7 +10,7 @@ context: date_string: '${{ env.get("RAPIDS_DATE_STRING") }}' head_rev: '${{ git.head_rev(".")[:8] }}' py_abi_min: ${{ env.get("RAPIDS_PY_VERSION") }} - py_buildstring : ${{ py_abi_min | version_to_buildstring }} + py_buildstring: ${{ py_abi_min | version_to_buildstring }} py_runtime_latest: "3.14" package: diff --git a/conda/recipes/cuvs/recipe.yaml b/conda/recipes/cuvs/recipe.yaml index 2b2cca67cb..4a32b9f8d2 100644 --- a/conda/recipes/cuvs/recipe.yaml +++ b/conda/recipes/cuvs/recipe.yaml @@ -10,7 +10,7 @@ context: date_string: '${{ env.get("RAPIDS_DATE_STRING") }}' head_rev: '${{ git.head_rev(".")[:8] }}' py_abi_min: ${{ env.get("RAPIDS_PY_VERSION") }} - py_buildstring : ${{ py_abi_min | version_to_buildstring }} + py_buildstring: ${{ py_abi_min | version_to_buildstring }} py_runtime_latest: "3.14" package: diff --git a/conda/recipes/libcuvs/recipe.yaml b/conda/recipes/libcuvs/recipe.yaml index 1041dd074a..b8ebd8ebec 100644 --- a/conda/recipes/libcuvs/recipe.yaml +++ b/conda/recipes/libcuvs/recipe.yaml @@ -101,7 +101,7 @@ outputs: dynamic_linking: overlinking_behavior: "error" prefix_detection: - ignore_binary_files: True + ignore_binary_files: true script: content: | cmake --install cpp/build --component cuvs_cpp_headers @@ -159,7 +159,7 @@ outputs: dynamic_linking: overlinking_behavior: "error" prefix_detection: - ignore_binary_files: True + ignore_binary_files: true script: content: | cmake --install cpp/build --component cuvs @@ -222,7 +222,7 @@ outputs: dynamic_linking: overlinking_behavior: "error" prefix_detection: - ignore_binary_files: True + ignore_binary_files: true script: content: | cmake --install cpp/build --component cuvs_static @@ -284,7 +284,7 @@ outputs: dynamic_linking: overlinking_behavior: "error" prefix_detection: - ignore_binary_files: True + ignore_binary_files: true requirements: build: - cmake ${{ cmake_version }} @@ -340,7 +340,7 @@ outputs: dynamic_linking: overlinking_behavior: "error" prefix_detection: - ignore_binary_files: True + ignore_binary_files: true script: content: | # Remove `-fdebug-prefix-map` line from CFLAGS and CXXFLAGS so the @@ -452,7 +452,7 @@ outputs: dynamic_linking: overlinking_behavior: "error" prefix_detection: - ignore_binary_files: True + ignore_binary_files: true requirements: build: - cmake ${{ cmake_version }} diff --git a/dependencies.yaml b/dependencies.yaml index d9221076c8..b9d1fd6eae 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -538,7 +538,7 @@ dependencies: common: - output_types: [conda, requirements, pyproject] packages: - - &numpy numpy>=2.0,<3.0 + - numpy>=2.0,<3.0 test_python_common: common: - output_types: [conda, requirements, pyproject] diff --git a/python/cuvs_bench/cuvs_bench/config/algos/cuvs_cagra_hnswlib.yaml b/python/cuvs_bench/cuvs_bench/config/algos/cuvs_cagra_hnswlib.yaml index 0635022909..f64f06225d 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/cuvs_cagra_hnswlib.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/cuvs_cagra_hnswlib.yaml @@ -20,4 +20,4 @@ groups: hierarchy: ["none", "cpu"] ef_construction: [64] search: - ef: [10,20] + ef: [10, 20] diff --git a/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_hnsw_flat.yaml b/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_hnsw_flat.yaml index 403cd29e91..f453392e66 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_hnsw_flat.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_hnsw_flat.yaml @@ -5,6 +5,6 @@ groups: M: [16, 32] efConstruction: [32, 64, 128, 256, 512] search: - bounded_queue: [False, True] - check_relative_distance: [False, True] + bounded_queue: [false, true] + check_relative_distance: [false, true] efSearch: [8, 16, 32, 64, 128, 256, 512, 768, 1024] diff --git a/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_ivf_flat.yaml b/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_ivf_flat.yaml index 6e11df8d70..d5a3f4a868 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_ivf_flat.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/faiss_cpu_ivf_flat.yaml @@ -4,7 +4,7 @@ groups: build: nlist: [2048] ratio: [10] - useFloat16: [False] + useFloat16: [false] search: nprobe: [1, 5, 10, 50, 100, 200] refine_ratio: [1] @@ -12,7 +12,7 @@ groups: build: nlist: [2048] ratio: [10] - useFloat16: [False] + useFloat16: [false] search: nprobe: [1, 5] refine_ratio: [1] diff --git a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra.yaml b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra.yaml index 47a92e3d20..b74715dea0 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra.yaml @@ -10,7 +10,7 @@ groups: cagra_build_algo: ["NN_DESCENT"] search: itopk: [32, 64, 128, 256, 512, 768, 1024] - search_width: [1 ,2 ,4 ,8, 16, 32] + search_width: [1, 2, 4, 8, 16, 32] max_iterations: [16, 20, 24, 28, 32, 64, 128] test: build: diff --git a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra_hnsw.yaml b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra_hnsw.yaml index 097a20aa32..2baedf0ff5 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra_hnsw.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_cagra_hnsw.yaml @@ -7,6 +7,6 @@ groups: graph_degree: [32, 64] intermediate_graph_degree: [64, 128] cagra_build_algo: ["NN_DESCENT"] - base_level_only: [False, True] + base_level_only: [false, true] search: efSearch: [16, 32, 64, 128, 256, 512, 768, 1024] diff --git a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_flat.yaml b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_flat.yaml index 148121ec3f..423882a693 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_flat.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_flat.yaml @@ -4,34 +4,34 @@ groups: build: nlist: [1024, 2048, 4096] ratio: [4] - use_cuvs: [False] + use_cuvs: [false] search: nprobe: [1, 5, 10, 50, 100, 200] basecuvs: build: nlist: [1024, 2048, 4096] ratio: [4] - use_cuvs: [True] + use_cuvs: [true] search: nprobe: [1, 5, 10, 50, 100, 200] large: build: nlist: [8192, 16384, 32768] ratio: [4] - use_cuvs: [False] + use_cuvs: [false] search: nprobe: [10, 20, 30, 50, 100, 200, 500, 1000] largecuvs: build: nlist: [8192, 16384, 32768] ratio: [4] - use_cuvs: [True] + use_cuvs: [true] search: nprobe: [10, 20, 30, 50, 100, 200, 500, 1000] test: build: nlist: [1024] ratio: [4] - use_cuvs: [False] + use_cuvs: [false] search: nprobe: [1, 5] diff --git a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_pq.yaml b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_pq.yaml index a533ff6d8c..c34ff29384 100644 --- a/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_pq.yaml +++ b/python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_pq.yaml @@ -8,9 +8,9 @@ groups: nlist: [1024, 2048, 4096] M: [96, 64] ratio: [4] - usePrecomputed: [True] - useFloat16: [True] - use_cuvs: [False] + usePrecomputed: [true] + useFloat16: [true] + use_cuvs: [false] bitsPerCode: [8] search: nprobe: [10, 20, 50, 100, 200] @@ -20,9 +20,9 @@ groups: nlist: [1024, 2048, 4096] M: [96, 64] ratio: [4] - usePrecomputed: [False] - useFloat16: [False] - use_cuvs: [True] + usePrecomputed: [false] + useFloat16: [false] + use_cuvs: [true] bitsPerCode: [8, 6, 5, 4] search: nprobe: [10, 20, 50, 100, 200] @@ -32,9 +32,9 @@ groups: nlist: [8192, 16384, 32768] M: [96, 48, 32] ratio: [4] - usePrecomputed: [False] - useFloat16: [False, True] - use_cuvs: [False] + usePrecomputed: [false] + useFloat16: [false, true] + use_cuvs: [false] bitsPerCode: [8] search: nprobe: [20, 30, 50, 100, 200, 500, 1000] @@ -44,9 +44,9 @@ groups: nlist: [8192, 16384, 32768] M: [96, 48, 32] ratio: [4] - usePrecomputed: [False] - useFloat16: [False] - use_cuvs: [True] + usePrecomputed: [false] + useFloat16: [false] + use_cuvs: [true] bitsPerCode: [8, 6, 5, 4] search: nprobe: [20, 30, 50, 100, 200, 500, 1000] @@ -56,9 +56,9 @@ groups: nlist: [8192, 16384, 32768] M: [96, 48] ratio: [10] - usePrecomputed: [False, True] - useFloat16: [True] - use_cuvs: [False] + usePrecomputed: [false, true] + useFloat16: [true] + use_cuvs: [false] bitsPerCode: [8] search: nprobe: [20, 30, 40, 50, 100, 200, 500, 1000] @@ -68,8 +68,8 @@ groups: nlist: [8192, 16384, 50000, 100000] M: [96, 48] ratio: [10] - useFloat16: [False, True] - use_cuvs: [True] + useFloat16: [false, true] + use_cuvs: [true] bitsPerCode: [8, 6, 5, 4] search: nprobe: [20, 30, 40, 50, 100, 200, 500, 1000] @@ -79,9 +79,9 @@ groups: nlist: [1024] M: [96] ratio: [4] - usePrecomputed: [True] - useFloat16: [True] - use_cuvs: [False] + usePrecomputed: [true] + useFloat16: [true] + use_cuvs: [false] bitsPerCode: [8] search: nprobe: [10]