Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b75fb7c
FEA First commit adding test-data generation, and running pytests and…
dantegd Jan 15, 2025
21e5fc4
Merge branch 'branch-25.02' into fea-cuvs-bench-tests
cjnolet Jan 23, 2025
6fa60bf
Merge branch 'branch-25.02' into fea-cuvs-bench-tests
dantegd Feb 3, 2025
10a6e09
FIX dataset generation fixes
dantegd Feb 3, 2025
8796a53
FIX download using request
dantegd Feb 3, 2025
51eced6
FIX default mode in plot to match run
dantegd Feb 3, 2025
fd335ee
FIX dataset generation folder fix to match behavior of downloading da…
dantegd Feb 3, 2025
a6bbacd
FIX name field in data export
dantegd Feb 3, 2025
80d68d3
ENH Add test group to algos configs
dantegd Feb 3, 2025
f5a6865
ENH Improve e2e test in CI script
dantegd Feb 3, 2025
07f5d91
ENH improve run pytests
dantegd Feb 3, 2025
5e7beb8
FIX fix devcontainer executables location
dantegd Feb 3, 2025
bb59f99
ENH Add test-data entry to datasets.yaml
dantegd Feb 3, 2025
e810bbc
FIX style fixes
dantegd Feb 3, 2025
2f10944
Merge branch 'fea-cuvs-bench-tests' of github.com:dantegd/cuvs into f…
dantegd Feb 3, 2025
f932d9b
FIX missing dependencies in conda recipe
dantegd Feb 3, 2025
281c50d
FEA use click cli runner to test CLI in pytest
dantegd Feb 4, 2025
e3179a2
FIX style fixes
dantegd Feb 4, 2025
fd35d75
Merge branch 'branch-25.02' into fea-cuvs-bench-tests
dantegd Feb 4, 2025
36a6094
FIX remove unused config files and add coveragerc file
dantegd Feb 5, 2025
d4d21a1
Merge branch 'fea-cuvs-bench-tests' of github.com:dantegd/cuvs into f…
dantegd Feb 5, 2025
0696656
Merge branch 'branch-25.02' into fea-cuvs-bench-tests
dantegd Feb 5, 2025
e0b1fef
Merge branch 'branch-25.02' into fea-cuvs-bench-tests
cjnolet Feb 6, 2025
279c323
FIX remove usage of -base in matplotlib in pyproject
dantegd Feb 6, 2025
c5301da
TST add additional correctness tests
dantegd Feb 7, 2025
1aa6c12
Merge branch 'fea-cuvs-bench-tests' of github.com:dantegd/cuvs into f…
dantegd Feb 7, 2025
951e7ce
Update python/cuvs_bench/cuvs_bench/get_dataset/__main__.py
dantegd Feb 7, 2025
31715ed
FIX fogot sklearn
dantegd Feb 7, 2025
a0e2790
Merge branch 'fea-cuvs-bench-tests' of github.com:dantegd/cuvs into f…
dantegd Feb 7, 2025
678d44c
Fix style
lowener Feb 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions ci/test_python.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (c) 2022-2024, NVIDIA CORPORATION.
# Copyright (c) 2022-2025, NVIDIA CORPORATION.

set -euo pipefail

Expand Down Expand Up @@ -34,7 +34,8 @@ rapids-mamba-retry install \
--channel "${CPP_CHANNEL}" \
--channel "${PYTHON_CHANNEL}" \
"libcuvs=${RAPIDS_VERSION}" \
"cuvs=${RAPIDS_VERSION}"
"cuvs=${RAPIDS_VERSION}" \
"cuvs-bench=${RAPIDS_VERSION}"

rapids-logger "Check GPU usage"
nvidia-smi
Expand All @@ -54,5 +55,17 @@ pytest \
--cov-report=term \
tests

rapids-logger "pytest cuvs-bench"
popd
pushd python/cuvs_bench/cuvs_bench
pytest \
--cache-clear \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cuvs.xml" \
--cov-config=../.coveragerc \
--cov=cuvs \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cuvs-bench-coverage.xml" \
--cov-report=term \
tests

rapids-logger "Test script exiting with value: $EXITCODE"
exit ${EXITCODE}
4 changes: 3 additions & 1 deletion conda/environments/bench_ann_cuda-118_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dependencies:
- libcusparse=11.7.5.86
- libcuvs==25.2.*,>=0.0.0a0
- librmm==25.2.*,>=0.0.0a0
- matplotlib
- matplotlib-base
- nccl>=2.19
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does Scikit-learn also need to be added here?

- ninja
- nlohmann_json>=3.11.2
Expand All @@ -47,6 +47,8 @@ dependencies:
- pylibraft==25.2.*,>=0.0.0a0
- pyyaml
- rapids-build-backend>=0.3.0,<0.4.0.dev0
- requests
- scikit-learn
- setuptools
- sysroot_linux-aarch64==2.28
- wheel
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/bench_ann_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dependencies:
- libcusparse=11.7.5.86
- libcuvs==25.2.*,>=0.0.0a0
- librmm==25.2.*,>=0.0.0a0
- matplotlib
- matplotlib-base
- nccl>=2.19
- ninja
- nlohmann_json>=3.11.2
Expand All @@ -47,6 +47,8 @@ dependencies:
- pylibraft==25.2.*,>=0.0.0a0
- pyyaml
- rapids-build-backend>=0.3.0,<0.4.0.dev0
- requests
- scikit-learn
- setuptools
- sysroot_linux-64==2.28
- wheel
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/bench_ann_cuda-128_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies:
- libcusparse-dev
- libcuvs==25.2.*,>=0.0.0a0
- librmm==25.2.*,>=0.0.0a0
- matplotlib
- matplotlib-base
- nccl>=2.19
- ninja
- nlohmann_json>=3.11.2
Expand All @@ -43,6 +43,8 @@ dependencies:
- pylibraft==25.2.*,>=0.0.0a0
- pyyaml
- rapids-build-backend>=0.3.0,<0.4.0.dev0
- requests
- scikit-learn
- setuptools
- sysroot_linux-aarch64==2.28
- wheel
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/bench_ann_cuda-128_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies:
- libcusparse-dev
- libcuvs==25.2.*,>=0.0.0a0
- librmm==25.2.*,>=0.0.0a0
- matplotlib
- matplotlib-base
- nccl>=2.19
- ninja
- nlohmann_json>=3.11.2
Expand All @@ -43,6 +43,8 @@ dependencies:
- pylibraft==25.2.*,>=0.0.0a0
- pyyaml
- rapids-build-backend>=0.3.0,<0.4.0.dev0
- requests
- scikit-learn
- setuptools
- sysroot_linux-64==2.28
- wheel
Expand Down
3 changes: 2 additions & 1 deletion conda/recipes/cuvs-bench-cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,12 @@ requirements:
- click
- glog {{ glog_version }}
- h5py {{ h5py_version }}
- matplotlib
- matplotlib-base
- numpy >=1.23,<3.0a0
- pandas
- pyyaml
- python
- requests
about:
home: https://rapids.ai/
license: Apache-2.0
Expand Down
3 changes: 2 additions & 1 deletion conda/recipes/cuvs-bench/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,13 @@ requirements:
- glog {{ glog_version }}
- cuvs {{ version }}
- h5py {{ h5py_version }}
- matplotlib
- matplotlib-base
- pandas
- pyyaml
# rmm is needed to determine if package is gpu-enabled
- pylibraft ={{ minor_version }}
- python
- requests
- rmm ={{ minor_version }}
about:
home: https://rapids.ai/
Expand Down
9 changes: 8 additions & 1 deletion dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -555,9 +555,16 @@ dependencies:
packages:
- click
- cuvs==25.2.*,>=0.0.0a0
- matplotlib
- pandas
- pyyaml
- requests
Comment thread
dantegd marked this conversation as resolved.
- scikit-learn
- output_types: [conda]
packages:
- matplotlib-base
- output_types: [requirements, pyproject]
packages:
- matplotlib
depends_on_libcuvs:
common:
- output_types: conda
Expand Down
3 changes: 3 additions & 0 deletions python/cuvs_bench/.coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Configuration file for Python coverage tests
[run]
source = cuvs_bench
8 changes: 8 additions & 0 deletions python/cuvs_bench/cuvs_bench/config/algos/cuvs_cagra.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,11 @@ groups:
search:
itopk: [32, 64, 128, 256, 512]
search_width: [1, 2, 4, 8, 16, 32, 64]
test:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this idea!

build:
graph_degree: [32]
intermediate_graph_degree: [32]
graph_build_algo: ["NN_DESCENT"]
search:
itopk: [32]
search_width: [1, 2]
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,12 @@ groups:
ef_construction: [64, 128, 256, 512]
search:
ef: [10, 20, 40, 60, 80, 120, 200, 400, 600, 800]
test:
build:
graph_degree: [32]
intermediate_graph_degree: [32]
graph_build_algo: ["NN_DESCENT"]
hierarchy: ["none", "cpu"]
ef_construction: [64]
search:
ef: [10,20]
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@ groups:
niter: [20, 25]
search:
nprobe: [1, 5, 10, 50, 100, 200, 500, 1000, 2000]
test:
build:
nlist: [1024]
ratio: [1]
niter: [20]
search:
nprobe: [1, 5]
12 changes: 12 additions & 0 deletions python/cuvs_bench/cuvs_bench/config/algos/cuvs_ivf_pq.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,15 @@ groups:
internalDistanceDtype: ["float"]
smemLutDtype: ["float", "fp8", "half"]
refine_ratio: [1]
test:
build:
nlist: [1024]
pq_dim: [64]
pq_bits: [8]
ratio: [10]
niter: [25]
search:
nprobe: [1]
internalDistanceDtype: ["float"]
smemLutDtype: ["float", "fp8", "half"]
refine_ratio: [1]
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,11 @@ groups:
search:
itopk: [32, 64, 128, 256, 512]
search_width: [1, 2, 4, 8, 16, 32, 64]
test:
build:
graph_degree: [32]
intermediate_graph_degree: [32]
graph_build_algo: ["NN_DESCENT"]
search:
itopk: [32]
search_width: [1, 2]
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@ groups:
niter: [20, 25]
search:
nprobe: [1, 5, 10, 50, 100, 200, 500, 1000, 2000]
test:
build:
nlist: [1024]
ratio: [1]
niter: [20]
search:
nprobe: [1, 5]
12 changes: 12 additions & 0 deletions python/cuvs_bench/cuvs_bench/config/algos/cuvs_mg_ivf_pq.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,15 @@ groups:
internalDistanceDtype: ["float"]
smemLutDtype: ["float", "fp8", "half"]
refine_ratio: [1]
test:
build:
nlist: [1024]
pq_dim: [64]
pq_bits: [8]
ratio: [10]
niter: [25]
search:
nprobe: [1]
internalDistanceDtype: ["float"]
smemLutDtype: ["float", "fp8", "half"]
refine_ratio: [1]
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ groups:
search:
nprobe: [1, 5, 10, 50, 100, 200]
refine_ratio: [1]
test:
build:
nlist: [2048]
ratio: [10]
useFloat16: [False]
search:
nprobe: [1, 5]
refine_ratio: [1]
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,11 @@ groups:
bitsPerCode: [8, 6, 5, 4]
search:
nprobe: [20, 30, 40, 50, 100, 200, 500, 1000]
test:
build:
nlist: [1024]
M: [48]
ratio: [10]
bitsPerCode: [8]
search:
nprobe: [1, 5]
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,11 @@ groups:
search:
itopk: [32, 64, 128, 256, 512]
search_width: [1, 2, 4, 8, 16, 32, 64]
test:
build:
graph_degree: [32]
intermediate_graph_degree: [32]
graph_build_algo: ["NN_DESCENT"]
search:
itopk: [32]
search_width: [1, 2]
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,10 @@ groups:
use_cuvs: [True]
search:
nprobe: [10, 20, 30, 50, 100, 200, 500, 1000]
test:
build:
nlist: [1024]
ratio: [4]
use_cuvs: [False]
search:
nprobe: [1, 5]
12 changes: 12 additions & 0 deletions python/cuvs_bench/cuvs_bench/config/algos/faiss_gpu_ivf_pq.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,15 @@ groups:
search:
nprobe: [20, 30, 40, 50, 100, 200, 500, 1000]
refine_ratio: [1, 2, 4]
test:
build:
nlist: [1024]
M: [96]
ratio: [4]
usePrecomputed: [True]
useFloat16: [True]
use_cuvs: [False]
bitsPerCode: [8]
search:
nprobe: [10]
refine_ratio: [1, 2]
6 changes: 6 additions & 0 deletions python/cuvs_bench/cuvs_bench/config/algos/hnswlib.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,9 @@ groups:
efConstruction: [64, 128, 256, 512]
search:
ef: [10, 20, 40, 60, 80, 120, 200, 400, 600, 800]
test:
build:
M: [12]
efConstruction: [64]
search:
ef: [10, 20]
Loading