CudaHull: Fast parallel 3D convex hull on the GPU
Ayal Stein, Eran Geva, Jihad El-Sana
In Computers & Graphics, 36(4), 2012.
Abstract: In this paper, we present a novel parallel algorithm for computing the convex hull of a set of points in 3D using the CUDA programming model. It is based on the QuickHull approach and starts by constructing an initial tetrahedron using four extreme points, discards the internal points, and distributes the external points to the four faces. It then proceeds iteratively. In each iteration, it refines the faces of the polyhedron, discards the internal points, and redistributes the remaining points for each face among its children faces. The refinement of a face is performed by selecting the furthest point from its associated points and generating three children triangles. In each iteration, concave edges are swapped, and concave vertices are removed to maintain convexity. The face refinement procedure is performed on the CPU, because it requires a very small fraction of the execution time (approximately 1%), and the intensive point redistribution is performed in parallel on the GPU. Our implementation outpaced the CPU-based Qhull implementation by 30 times for 10 million points and 40 times for 20 million points.
Keyword(s): Convex hull, Parallel processing, GPU processing, CUDA programming
@article{Stein:2012:CFP,
author = {Ayal Stein and Eran Geva and Jihad El-Sana},
title = {CudaHull: Fast parallel 3D convex hull on the GPU},
journal = {Computers & Graphics},
volume = {36},
number = {4},
pages = {265--271},
year = {2012},
}
Return to the search page.
graphbib: Powered by "bibsql" and "SQLite3."