A taxonomy of problems with fast parallel algorithms
Information and Control
Efficient plane sweeping in parallel
SCG '86 Proceedings of the second annual symposium on Computational geometry
STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing
Efficient parallel solutions to some geometric problems
Journal of Parallel and Distributed Computing
Efficient Parallel Convex Hull Algorithms
IEEE Transactions on Computers
SIAM Journal on Computing
Cascading divide-and-conquer: a technique for designing parallel algorithms
SIAM Journal on Computing
Scans as Primitive Parallel Operations
IEEE Transactions on Computers
Scan primitives for vector computers
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
The Parallel Evaluation of General Arithmetic Expressions
Journal of the ACM (JACM)
Journal of the ACM (JACM)
A universal interconnection pattern for parallel computers
Journal of the ACM (JACM)
An Algorithm for Finding Best Matches in Logarithmic Expected Time
ACM Transactions on Mathematical Software (TOMS)
Computer Processing of Line-Drawing Images
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multidimensional binary search trees used for associative searching
Communications of the ACM
Divide-and-conquer in multidimensional space
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Parallelism in random access machines
STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing
Developing a practical projection-based parallel Delaunay algorithm
Proceedings of the twelfth annual symposium on Computational geometry
Time and work optimal simulation of basic reconfigurable meshes on hypercubes
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
This paper describes several parallel algorithms that solve geometric problems. The algorithms are based on a vector model of computation-the scan model. The purpose of this paper is both to show how the model can be used and to formulate a set of practical algorithms. The scan model is based on a small set of operations on vectors of atomic values. It differs from the P-RAM models both in that it includes a set of scan primitives, also called parallel prefix computations, and in that it is a strictly data-parallel model. A very useful abstraction in the scan model is the segment abstraction, the subdivision of a vector into a collection of independent smaller vectors. The segment abstraction permits a clean formulation of divide-and-conquer algorithms and is used heavily in the algorithms described in this paper. Within the scan model, using the operations and routines defined, the paper describes a k-D tree algorithm requiring O(lg n) calls to the primitives for n points, a closest-pair algorithm requiring O(lg n) calls to the primitives, a line-drawing algorithm requiring O(1) calls to the primitives, a line-of-sight algorithm requiring O(1) calls to the primitives, and finally, three different convex-hull algorithms. The last convex-hull algorithm, merge-hull, utilizes a generalized binary search technique using divide-and-conquer with the segment abstraction. The paper also describes how to implement the CREW version of Cole's merge sort in O(lg n) calls to the primitives. All these algorithms should be noted for their simplicity rather than their complexity; many of them are parallel versions of known serial algorithms. Most of the algorithms discussed in this paper have been implemented on the Connection Machine, a highly parallel single instruction multiple data computer.