Abstract
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.
- Amato, N. M. and Preparata, F. P. 1993. An NC parallel 3D convex hull algorithm. In Proceedings of the 9th Symposium on Computational Geometry (SoCG'93). ACM, New York, 289--297. Google ScholarDigital Library
- Amundson, N. R., Caboussat, A., He, J., and Seinfeld, J. H. 2005. An optimization problem related to the modeling of atmospheric organic aerosols. Comptes Rendus Mathematique 340, 10, 765--768.Google ScholarCross Ref
- Barber, C. B., Dobkin, D. P., and Huhdanpaa, H. 1996. The Quickhull algorithm for convex hulls. ACM Trans. Math. Softw. 22, 4, 469--483. Google ScholarDigital Library
- Cao, T.-T., Tang, K., Mohamed, A., and Tan, T.-S. 2010. Parallel banding algorithm to compute exact distance transform with the GPU. In Proceedings of the ACM Symposium on Interactive 3D Graphics and Games (I3D'10). ACM, New York, 83--90. Google ScholarDigital Library
- CGAL. 2012. CGAL, computational geometry algorithms library. http://www.cgal.org.Google Scholar
- Chan, T. M. 1996. Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete Comput. Geometry 16, 361--368.Google ScholarDigital Library
- Clarkson, K. L. and Shor, P. W. 1988. Algorithms for diametral pairs and convex hulls that are optimal, randomized, and incremental. In Proceedings of the 4th Symposium on Computational Geometry (SoCG'88). ACM, New York, 12--17. Google ScholarDigital Library
- CUDPP. 2012. CUDPP, CUDA data parallel primitives library. http://gpgpu.org/developer/cudpp.Google Scholar
- Dehne, F., Deng, X., Dymond, P., Fabri, A., and Khokhar, A. A. 1995. A randomized parallel 3D convex hull algorithm for coarse grained multicomputers. In Proceedings of the 7th ACM Symposium on Parallel Algorithms and Architectures (SPAA'95). ACM, New York, 27--33. Google ScholarDigital Library
- Edelsbrunner, H. and Mücke, E. P. 1990. Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms. ACM Trans. Graph. 9, 66--104. Google ScholarDigital Library
- Fischer, I. and Gotsman, C. 2006. Fast approximation of high-order Voronoi diagrams and distance transforms on the GPU. J. Graph. Tools 11, 4, 39--60.Google ScholarCross Ref
- Fuentes, O. and Gulati, R. K. 2001. Prediction of stellar atmospheric parameters from spectra, spectral indices and spectral lines using machine learning. Exp. Astron. 12, 1. 21--31.Google ScholarCross Ref
- Gupta, N. and Sen, S. 2003. Faster output-sensitive parallel algorithms for 3D convex hulls and vector maxima. J. Parallel Distrib. Comput. 63, 4, 488--500. Google ScholarDigital Library
- Hahn, H. and Han, Y. 2006. Recognition of 3D object using attributed relation graph of silhouette's extended convex hull. In Advances in Visual Computing, Lecture Notes in Computer Science, vol. 4292, 126--135. Google ScholarDigital Library
- Hoff III, K. E., Keyser, J., Lin, M., Manocha, D., and Culver, T. 1999. Fast computation of generalized Voronoi diagrams using graphics hardware. In Proceedings of the ACM SIGGRAPH International Conference on Computer Graphics and Interactive Techniques. ACM, New York, 277--286. Google ScholarDigital Library
- Jurkiewicz, T. and Danilewski, P. 2011. Efficient quicksort and 2D convex hull for CUDA, and MSIMD as a realistic model of massively parallel computations. http://www.mpi-inf.mpg.de/∼tojot/papers/chull.pdf.Google Scholar
- Kallay, M. 1981. Convex hull algorithms in higher dimensions. Unpublished manuscript, Department of Mathematics, University of Oklahoma, Norman, OK.Google Scholar
- Liu, R., Zhang, H., and Busby, J. 2008. Convex hull covering of polygonal scenes for accurate collision detection in games. In Proceedings of Graphics Interface (GI'08). Canadian Information Processing Society, Toronto, ON, Canada, 203--210. Google ScholarDigital Library
- Mao, H. and Yang, Y.-H. 2006. Particle-based immiscible fluid-fluid collision. In Proceedings of Graphics Interface (GI'06). Canadian Information Processing Society, Toronto, ON, Canada, 49--55. Google ScholarDigital Library
- Miller, R. and Stout, Q. 1988. Efficient parallel convex hull algorithms. IEEE Trans. Comput. 37, 12, 1605--1618. Google ScholarDigital Library
- Okada, K., Inaba, M., and Inoue, H. 2003. Walking navigation system of humanoid robot using stereo vision based floor recognition and path planning with multi-layered body image. In Proceedings of the International Conference on Intelligent Robots and Systems (IROS'03). IEEE, 2155--2160.Google Scholar
- Preparata, F. P. and Hong, S. J. 1977. Convex hulls of finite sets of points in two and three dimensions. Comm. ACM 20, 2, 87--93. Google ScholarDigital Library
- Qhull. 2012. Qhull, computational geometry algorithms library. http://www.qhull.org.Google Scholar
- Qi, M., Cao, T.-T., and Tan, T.-S. 2012. Computing 2d constrained Delaunay triangulation using the GPU. In Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D'12). ACM, New York, 39--46. Google ScholarDigital Library
- Rong, G., Tan, T.-S., Cao, T.-T., and Stephanus. 2008. Computing two-dimensional Delaunay triangulation using graphics hardware. In Proceedings of the Symposium on Interactive 3D Graphics and Games (I3D'08). ACM, New York, 89--97. Google ScholarDigital Library
- Shewchuk, J. R. 1997. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete Comput. Geometry 18, 3, 305--363.Google ScholarCross Ref
- Shewchuk, J. R. 2005. Star splaying: An algorithm for repairing Delaunay triangulations and convex hulls. In Proceedings of the 21st Symposium on Computational Geometry (SoCG'05). ACM, New York, 237--246. Google ScholarDigital Library
- Srungarapu, S., Reddy, D. P., Kothapalli, K., and Narayanan, P. J. 2011. Fast two dimensional convex hull on the GPU. In Proceedings of the IEEE Workshops of International Conference on Advanced Information Networking and Applications (WAINA'11). IEEE, 7--12. Google ScholarDigital Library
- Stanford. 2012. The stanford 3d scanning repository. http://graphics.stanford.edu/data/3Dscanrep/.Google Scholar
- Stein, A., Geva, E., and El-Sana, J. 2012. CudaHull: Fast parallel 3D convex hull on the GPU. Comput. Graph. 36, 4, 265--271. Google ScholarDigital Library
- Strandberg, M. 2004. Robot path planning: An object-oriented approach. PhD Thesis, KTH Royal Institute of Technology.Google Scholar
- Tang, M., Yi Zhao, J., Tong, R., and Manocha, D. 2012. GPU accelerated convex hull computation. Comput. Graph. 36, 5, 498--506. Google ScholarDigital Library
- Tzeng, S. and Owens, J. D. 2012. Finding convex hulls using Quickhull on the GPU. CoRR abs/1201.2936.Google Scholar
- Wang, Y., Ling-Yun, W., Zhang, J.-H., Zhan, Z.-W., Xiang-Sun, Z., and Luonan, C. 2009. Evaluating protein similarity from coarse structures. IEEE/ACM Trans. Comput. Biol. Bioinf. 6, 4, 583--593. Google ScholarDigital Library
Index Terms
- gHull: A GPU algorithm for 3D convex hull
Recommendations
A GPU accelerated algorithm for 3D Delaunay triangulation
I3D '14: Proceedings of the 18th meeting of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and GamesWe propose the first algorithm to compute the 3D Delaunay triangulation (DT) on the GPU. Our algorithm uses massively parallel point insertion followed by bilateral flipping, a powerful local operation in computational geometry. Although a flipping ...
gHull: a three-dimensional convex hull algorithm for graphics hardware
I3D '11: Symposium on Interactive 3D Graphics and GamesWe present a novel approach, termed gHull, to compute the convex hull for a 3D point set using the GPU. We exploit the fast computation of the digital Voronoi diagram and its relationship with the convex hull to compute the answer from the former rather ...
Computing 2D Constrained Delaunay Triangulation Using the GPU
We propose the first graphics processing unit (GPU) solution to compute the 2D constrained Delaunay triangulation (CDT) of a planar straight line graph (PSLG) consisting of points and edges. There are many existing CPU algorithms to solve the CDT ...
Comments