gHull: A GPU algorithm for 3D convex hull

A novel algorithm is presented to compute the convex hull of a point set in ℝ3 using the graphics processing unit (GPU). By exploiting the relationship between the Voronoi diagram and the convex hull, the algorithm derives the approximation of the convex hull from the former. The other extreme vertices of the convex hull are then found by using a two-round checking in the digital and the continuous space successively. The algorithm does not need explicit locking or any other concurrency control mechanism, thus it can maximize the parallelism available on the modern GPU. The implementation using the CUDA programming model on NVIDIA GPUs is exact and efficient. The experiments show that it is up to an order of magnitude faster than other sequential convex hull implementations running on the CPU for inputs of millions of points. The works demonstrate that the GPU can be used to solve nontrivial computational geometry problems with significant performance benefit.

[1]  John H. Seinfeld,et al.  An optimization problem related to the modeling of atmospheric inorganic aerosols , 2005 .

[2]  Olac Fuentes,et al.  Prediction of stellar atmospheric parameters from spectra, spectral indices and spectral lines using machine learning , 2001 .

[3]  Herbert Edelsbrunner,et al.  Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms , 1988, SCG '88.

[4]  Tomasz Jurkiewicz,et al.  Efficient Quicksort and 2D Convex Hull for CUDA, and MSIMD as a Realistic Model of Massively Parallel Computations , 2011 .

[5]  Luonan Chen,et al.  Evaluating Protein Similarity from Coarse Structures , 2009, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[6]  Yee-Hong Yang,et al.  Particle-based immiscible fluid-fluid collision , 2006, Graphics Interface.

[7]  Tiow Seng Tan,et al.  Parallel Banding Algorithm to compute exact distance transform with the GPU , 2010, I3D '10.

[8]  Luonan Chen,et al.  Evaluating Protein Similarity from Coarse Structures , 2009, IEEE ACM Trans. Comput. Biol. Bioinform..

[9]  F. P. Preparata,et al.  Convex hulls of finite sets of points in two and three dimensions , 1977, CACM.

[10]  John D. Owens,et al.  Finding Convex Hulls Using Quickhull on the GPU , 2012, ArXiv.

[11]  P. J. Narayanan,et al.  Fast Two Dimensional Convex Hull on the GPU , 2011, 2011 IEEE Workshops of International Conference on Advanced Information Networking and Applications.

[12]  David P. Dobkin,et al.  The quickhull algorithm for convex hulls , 1996, TOMS.

[13]  Nancy M. Amato,et al.  An NC parallel 3D convex hull algorithm , 1993, SCG '93.

[14]  Russ Miller,et al.  Efficient Parallel Convex Hull Algorithms , 1988, IEEE Trans. Computers.

[15]  Youngjoon Han,et al.  Recognition of 3D Object Using Attributed Relation Graph of Silhouette's Extended Convex Hull , 2006, ISVC.

[16]  Olac Fuentes,et al.  Automatic Determination of Stellar Atmospheric Parameters Using Neural Networks and Instance-Based Machine Learning , 2014 .

[17]  Thanh-Tung Cao,et al.  A GPU Algorithm for 3D Convex Hull , 2012 .

[18]  Timothy M. Chan Optimal output-sensitive convex hull algorithms in two and three dimensions , 1996, Discret. Comput. Geom..

[19]  Craig Gotsman,et al.  Fast Approximation of High-Order Voronoi Diagrams and Distance Transforms on the GPU , 2006, J. Graph. Tools.

[20]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[21]  Tiow Seng Tan,et al.  Computing 2D Constrained Delaunay Triangulation Using the GPU , 2013, IEEE Transactions on Visualization and Computer Graphics.

[22]  Jihad El-Sana,et al.  CudaHull: Fast parallel 3D convex hull on the GPU , 2012, Comput. Graph..

[23]  Hao Zhang,et al.  Convex hull covering of polygonal scenes for accurate collision detection in games , 2008, Graphics Interface.

[24]  Kenneth L. Clarkson,et al.  Algorithms for diametral pairs and convex hulls that are optimal, randomized, and incremental , 1988, SCG '88.

[25]  Dinesh Manocha,et al.  GPU accelerated convex hull computation , 2012, Comput. Graph..

[26]  Masayuki Inaba,et al.  Walking navigation system of humanoid robot using stereo vision based floor recognition and path planning with multi-layered body image , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[27]  Jonathan Richard Shewchuk,et al.  Star splaying: an algorithm for repairing delaunay triangulations and convex hulls , 2005, SCG.

[28]  Xiaotie Deng,et al.  A randomized parallel 3D convex hull algorithm for coarse grained multicomputers , 1995, SPAA '95.

[29]  Neelima Gupta,et al.  Faster output-sensitive parallel algorithms for 3D convex hulls and vector maxima , 2003, J. Parallel Distributed Comput..

[30]  Morten Strandberg,et al.  Robot path planning : an object-oriented approach , 2004 .

[31]  Tiow Seng Tan,et al.  Computing two-dimensional Delaunay triangulation using graphics hardware , 2008, I3D '08.

[32]  Jonathan Richard Shewchuk,et al.  Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997, Discret. Comput. Geom..