Parallel Nearest Neighbors in Low Dimensions with Batch Updates
Magdalen Dobson, Guy Blelloch

TL;DR
This paper introduces a parallel algorithm for exact k-nearest neighbors in low dimensions using a novel zd-tree data structure, achieving high efficiency, speed, and support for dynamic batch updates.
Contribution
It presents the zd-tree, a new data structure combining kd-tree and Morton ordering, with proven efficiency and practical speed, and supports dynamic batch updates for k-nearest neighbor searches.
Findings
Achieves $O(n)$ construction time for the zd-tree.
Expected $O(k \, \log k)$ query time for k-nearest neighbors.
Up to 75x speedup over existing methods on 144 hyperthreads.
Abstract
We present a set of parallel algorithms for computing exact k-nearest neighbors in low dimensions. Many k-nearest neighbor algorithms use either a kd-tree or the Morton ordering of the point set; our algorithms combine these approaches using a data structure we call the \textit{zd-tree}. We show that this combination is both theoretically efficient under common assumptions, and fast in practice. For point sets of size with bounded expansion constant and bounded ratio, the zd-tree can be built in work with span for constant , and searching for the -nearest neighbors of a point takes expected time. We benchmark our k-nearest neighbor algorithms against existing parallel k-nearest neighbor algorithms, showing that our implementations are generally faster than the state of the art as well as achieving 75x speedup on 144 hyperthreads.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Geometry and Mesh Generation · Algorithms and Data Compression · Complexity and Algorithms in Graphs
