/starling

Primary LanguageC++OtherNOASSERTION

Starling

This repo contains the following features:

For build,

  1. Build DiskANN disk graph.
  2. Build in-memory navigation graph, based on
    1. Nodes that are uniformly-sampled.
    2. Nodes that are generated by search frequency.
  3. 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

Quick Start

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