PSI is a high-performance parallel library for a collection of spatial indexes, e.g., Kd-trees, Quad/Oct-trees, and R-trees, which are:
- 🚀 Blazing fast, and scales to billions of input size,
- 🔀 Highly parallel, achieves almost linear speedup for hundreds of cores,
- 🎳 Supports tree construction, batch updates (with handling of imbalance), and a wide range of queries,
- 📝 Provide strong theoretical guarantees for the running time, parallelism, and I/O (cache) efficiency,
- 🛠️ Easy to adapt, integrate, and deploy.
If you use our code, please cite our papers:
@article{men2025parallel,
title={Parallel kd-tree with Batch Updates},
author={Men, Ziyang and Shen, Zheqi and Gu, Yan and Sun, Yihan},
journal={Proceedings of the ACM on Management of Data},
volume={3},
number={1},
pages={1--26},
year={2025},
publisher={ACM New York, NY, USA}
}
Have a good day! ☀️