[BUG] Cannot run cuvs-bench with only --build
Describe the bug
Running cuvs-bench with build index only results in a error message that indicates it's looking for something a search directory. Output folder may have existing results from previous runs.
conda run python -m cuvs_bench.run -k 10 -bs 1 --algorithms cuvs_cagra --groups test -f -m latency --dataset-configuration /data/benchmarks/datasets/miracl-10M-robust/config.yaml --dataset miracl-10M-robust --dataset-path /data/benchmarks/datasets --configuration /data/benchmarks/configs/cuvs_cagra.yaml --build
Steps/Code to reproduce bug
2025-11-07T21:23:56+00:00
Running /opt/conda/bin/ann/CUVS_CAGRA_ANN_BENCH
Run on (128 X 2395.52 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x64)
L1 Instruction 32 KiB (x64)
L2 Unified 512 KiB (x64)
L3 Unified 16384 KiB (x32)
Load Average: 0.00, 0.00, 0.00
command_line: /opt/conda/bin/ann/CUVS_CAGRA_ANN_BENCH --build --data_prefix=/data/benchmarks/datasets --benchmark_out_format=json --benchmark_counters_tabular=true --benchmark_out=/data/benchmarks/datasets/miracl-10M-robust/result/build/cuvs_cagra,test.json.lock --force miracl-10M-robust_cuvs_cagra,test,k10,bs1_1172144e-bc20-11f0-8107-2af7195707cd.json
dataset: miracl-10M-robust
dim: 384
distance: euclidean
gpu_driver_version: 13.0
gpu_gpuDirectRDMASupported: 1
gpu_hostNativeAtomicSupported: 0
gpu_mem_bus_width: 5120
gpu_mem_freq: 1512000000.000000
gpu_mem_global_size: 85094825984
gpu_mem_shared_size: 167936
gpu_name: NVIDIA A100 80GB PCIe
gpu_pageableMemoryAccess: 0
gpu_pageableMemoryAccessUsesHostPageTables: 0
gpu_runtime_version: 13.0
gpu_sm_count: 108
gpu_sm_freq: 1410000000.000000
host_cores_used: 64
host_pagesize: 4096
host_processors_sysconf: 128
host_processors_used: 128
host_total_ram_size: 1081743925248
host_total_swap_size: 8589930496
n_records: 9999995
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/opt/conda/lib/python3.12/site-packages/cuvs_bench/run/__main__.py", line 221, in <module>
main()
File "/opt/conda/lib/python3.12/site-packages/click/core.py", line 1462, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.12/site-packages/click/core.py", line 1383, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.12/site-packages/click/core.py", line 1246, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.12/site-packages/click/core.py", line 814, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.12/site-packages/cuvs_bench/run/__main__.py", line 217, in main
convert_json_to_csv_search(dataset, dataset_path)
File "/opt/conda/lib/python3.12/site-packages/cuvs_bench/run/data_export.py", line 185, in convert_json_to_csv_search
for file, algo_name, df in read_json_files(
^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.12/site-packages/cuvs_bench/run/data_export.py", line 84, in read_json_files
for file in os.listdir(dir_path):
^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/data/benchmarks/datasets/miracl-10M-robust/result/search'
ERROR conda.cli.main_run:execute(127): `conda run python -m cuvs_bench.run -k 10 -bs 1 --algorithms cuvs_cagra --groups test -f -m latency --dataset-configuration /data/benchmarks/datasets/miracl-10M-robust/config.yaml --dataset miracl-10M-robust --dataset-path /data/benchmarks/datasets --configuration /data/benchmarks/configs/cuvs_cagra.yaml --build` failed. (See above for error)
Expected behavior Should be able to run index build by itself without search. Omitting the --build command will run a search after index build; however, I only want index build to occur since telemetry is being recorded with a wrapper function calling cuvs-bench commands.
Environment details (please complete the following information): Ran within docker:
export CUVS_BENCH_DOCKER_IMG=rapidsai/cuvs-bench:25.10-cuda13.0-py3.12
export DATA_FOLDER=/raid/cuvs-embeddings
docker run --gpus all --rm -it \
--user root \
--shm-size=16GB \
--entrypoint /bin/bash \
--workdir /data/benchmarks \
-v $DATA_FOLDER:/data/benchmarks \
$CUVS_BENCH_DOCKER_IMG