Technical Report Number
This paper presents a fast algorithm for solving the all-nearest-neighbors problem. The algorithm uses a data parallel style of programming which can be efficiently utilized on a variety of parallel and vector architectures [4,21,26]. I have implemented the algorithm in C on one such architecture, the Cray Y-MP. On one Cray CPU, the implementation is about 19 times faster than a fast sequential algorithm running on a Sparc workstation. The main idea in the algorithm is to divide the plane up into a fixed grid of cells, or buckets. When the points are well distributed, the algorithm processes each query point, q, by searching a small number of cells close to q. Bentley, WEide and Yao first presented this idea for conventional architectures , but the technique works equally well on parallel and vector machines, leading to a simple, efficient algorithm. We can also use the cell technique to solve a wide variety of basic computational problems such as finding closest pairs, sorting and constructing Voronoi diagrams and Delaunay triangulations.
Dartmouth Digital Commons Citation
Su, Peter, "Concurrent Local Search for Fast Proximity Algorithms on Parallel and Vector Architectures" (1992). Computer Science Technical Report PCS-TR92-183. https://digitalcommons.dartmouth.edu/cs_tr/77