This repo contains the following features:
For build,
- Build DiskANN disk graph.
- Build in-memory navigation graph, based on
- Nodes that are uniformly-sampled.
- Nodes that are generated by search frequency.
- Perform Graph Partition on given base data
For search,
With Cache Nodes | With Nav Graph | With Graph Partition | With use_ratio |
Use SQ | |
---|---|---|---|---|---|
Beam Search | ✅ | ✅ | |||
Page Search | ✅ | ✅ | ✅ | ✅ | ✅ |
To install dependencies, run
apt install build-essential libboost-all-dev make cmake g++ libaio-dev libgoogle-perftools-dev clang-format libboost-all-dev libmkl-full-dev
To run benchmarks, go to scripts
directory, copy config_sample.sh
to config_local.sh
and run
./run_benchmark.sh [debug/release] [build/build_mem/search] [knn/range]
Configure datasets and parameters in config_local.sh