skip to main content
research-article

gHull: A GPU algorithm for 3D convex hull

Published:03 October 2013Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. CGAL. 2012. CGAL, computational geometry algorithms library. http://www.cgal.org.Google ScholarGoogle Scholar
  6. Chan, T. M. 1996. Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete Comput. Geometry 16, 361--368.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. CUDPP. 2012. CUDPP, CUDA data parallel primitives library. http://gpgpu.org/developer/cudpp.Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle ScholarCross RefCross Ref
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle Scholar
  17. Kallay, M. 1981. Convex hull algorithms in higher dimensions. Unpublished manuscript, Department of Mathematics, University of Oklahoma, Norman, OK.Google ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. Miller, R. and Stout, Q. 1988. Efficient parallel convex hull algorithms. IEEE Trans. Comput. 37, 12, 1605--1618. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Qhull. 2012. Qhull, computational geometry algorithms library. http://www.qhull.org.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. Shewchuk, J. R. 1997. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete Comput. Geometry 18, 3, 305--363.Google ScholarGoogle ScholarCross RefCross Ref
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. Stanford. 2012. The stanford 3d scanning repository. http://graphics.stanford.edu/data/3Dscanrep/.Google ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. Strandberg, M. 2004. Robot path planning: An object-oriented approach. PhD Thesis, KTH Royal Institute of Technology.Google ScholarGoogle Scholar
  32. Tang, M., Yi Zhao, J., Tong, R., and Manocha, D. 2012. GPU accelerated convex hull computation. Comput. Graph. 36, 5, 498--506. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Tzeng, S. and Owens, J. D. 2012. Finding convex hulls using Quickhull on the GPU. CoRR abs/1201.2936.Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. gHull: A GPU algorithm for 3D convex hull

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Mathematical Software
          ACM Transactions on Mathematical Software  Volume 40, Issue 1
          September 2013
          165 pages
          ISSN:0098-3500
          EISSN:1557-7295
          DOI:10.1145/2513109
          Issue’s Table of Contents

          Copyright © 2013 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 3 October 2013
          • Accepted: 1 April 2013
          • Revised: 1 November 2012
          • Received: 1 April 2012
          Published in toms Volume 40, Issue 1

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader