@TechReport{Dartmouth:TR92-183, author = {Peter Su}, title = {{Concurrent Local Search for Fast Proximity Algorithms on Parallel and Vector Architectures}}, institution = {Dartmouth College, Computer Science}, address = {Hanover, NH}, number = {PCS-TR92-183}, year = {1992}, URL = {http://www.cs.dartmouth.edu/reports/TR92-183.pdf}, abstract = { 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 [3], 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. } }