Skip to content

Latest commit

 

History

History
73 lines (57 loc) · 1.89 KB

README.md

File metadata and controls

73 lines (57 loc) · 1.89 KB

CC Bench Tools

CC Bench Tools provides dataset conversion, stage-wise ground-truth generation, recall checking, and concurrent-update benchmark utilities for ANNS experiments. It supports DataSys vector-system evaluation, including CANDOR-Bench experiments, but is not itself an ANNS implementation.

Status and scope

This repository is a research utility collection. The concurrent benchmark driver is present in cc_bench.cpp, while the default CMake configuration builds the dataset and ground-truth tools. Algorithm headers under algorithms/ include evaluation integrations and must not be interpreted as DataSys authorship of their upstream algorithms.

Build

The tools require a C++17 compiler, CMake 3.10 or newer, and PAPI development headers.

cmake -S . -B build
cmake --build build

Prepare datasets

See datasets.md for supported dataset sources and formats. For the SIFT example:

mkdir -p data
cd data
wget ftp://ftp.irisa.fr/local/texmex/corpus/sift.tar.gz
tar -xf sift.tar.gz

Generate stage-wise ground truth

./build/bin/compute_gt \
  --base_path data/sift/sift_base.fvecs \
  --query_path data/sift/sift_query_1k.fvecs \
  --data_type float \
  --k 20 \
  --batch_gt_path test_batch.gt

Run the concurrent benchmark

After enabling and building the cc_bench target in CMakeLists.txt:

./cc_bench \
  --data_type float \
  --data_path data/sift/sift_base.fbin \
  --query_path data/sift/sift_query_1k.fbin \
  --begin_num 5000 \
  --write_ratio 0.5 \
  --batch_size 100 \
  --recall_at 10 \
  --R 32 \
  --Ls 100 \
  --num_threads 64 \
  --gt_path sift_full_recall.gt \
  --batch_res_path sift_base_100.res

License

No repository-wide license has been declared. Contact the maintainers before redistributing or reusing this code. Included upstream algorithms may have separate terms that must be reviewed independently.