ParlayANN is a library of approximate nearest neighbor search algorithms, along with a set of useful tools for designing such algorithms. It is written in C++ and uses parallel primitives from ParlayLib. Currently it includes implementations of the ANNS algorithms DiskANN, HNSW, HCNNG, and pyNNDescent.
To install, clone the repo and then initiate the ParlayLib submodule:
git submodule init
git submodule update
See the following documentation for help getting started:
This repository was built for our paper Scaling Graph-Based ANNS Algorithms to Billion-Size Datasets: A Comparative Analysis. If you use this repository for your own work, please cite us:
@article{ANNScaling,
author = {Magdalen Dobson and
Zheqi Shen and
Guy E. Blelloch and
Laxman Dhulipala and
Yan Gu and
Harsha Vardhan Simhadri and
Yihan Sun},
title = {Scaling Graph-Based {ANNS} Algorithms to Billion-Size Datasets: {A}
Comparative Analysis},
journal = {CoRR},
volume = {abs/2305.04359},
year = {2023},
url = {https://doi.org/10.48550/arXiv.2305.04359},
doi = {10.48550/arXiv.2305.04359},
eprinttype = {arXiv},
eprint = {2305.04359}
}