ABSTRACT
We 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 algorithm is very amenable to parallel processing and has been employed to construct the 2D DT and the 3D convex hull on the GPU, to our knowledge there is no such successful attempt for constructing the 3D DT. This is because in 3D when many points are inserted in parallel, flipping gets stuck long before reaching the DT, and thus any further correction to obtain the DT is costly. In contrast, we show that by alternating between parallel point insertion and flipping, together with picking an appropriate point insertion order, one can still obtain a triangulation very close to Delaunay. We further propose an adaptive star splaying approach to subsequently transform this result into the 3D DT efficiently. In addition, we introduce several GPU speedup techniques for our implementation, which are also useful for general computational geometry algorithms. On the whole, our hybrid approach, with the GPU accelerating the main work of constructing a near-Delaunay structure and the CPU transforming that into the 3D DT, outperforms all existing sequential CPU algorithms by up to an order of magnitude, in both synthetic and real-world inputs. We also adapt our approach to the 2D DT problem and obtain similar speedup over the best sequential CPU algorithms, and up to 2 times over previous GPU algorithms.
- Batista, V. H., Millman, D. L., Pion, S., and Singler, J. 2010. Parallel geometric algorithms for multi-core computers. Computational Geometry 43, 8, 663--677. Google ScholarDigital Library
- Beyer, T., and Meyer-Hermann, M. 2006. Recover from non-flippable configurations in parallel approaches to three dimensional kinetic regular triangulations. In Proc. 8th WSEAS Int. Conf. Automatic control, modeling & simulation, World Scientific and Engineering Academy and Society (WSEAS), Stevens Point, Wisconsin, USA, ACMOS'06, 399--404. Google ScholarDigital Library
- Bowyer, A. 1981. Computing Dirichlet tessellations. The Computer J. 24, 2, 162--166.Google ScholarCross Ref
- Dwyer, R. 1991. Higher-dimensional Voronoi diagrams in linear expected time. Discrete & Computational Geometry 6, 1, 343--367.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 Transactions on Graphics 9, 66--104. Google ScholarDigital Library
- Foteinos, P., and Chrisochoides, N. 2012. Dynamic parallel 3D Delaunay triangulation. In Proc. 20th Int. Meshing Roundtable, Springer Berlin Heidelberg, Berlin, Heidelberg, W. R. Quadros, Ed., 9--26.Google Scholar
- Gao, M., Cao, T.-T., Tan, T.-S., and Huang, Z. 2013. Flip-flop: convex hull construction via star-shaped polyhedron in 3D. In I3D '13: Proc. ACM SIGGRAPH Symp. Interactive 3D Graphics and Games, ACM, New York, NY, USA, 45--54. Google ScholarDigital Library
- Guibas, L. J., and Russel, D. 2004. An empirical comparison of techniques for updating delaunay triangulations. In Proc. 22nd Symp. Computational geometry, ACM, New York, NY, USA, SoCG '04, 170--179. Google ScholarDigital Library
- Huebner, K. H., Dewhirst, D. L., Smith, D. E., and Byrom, T. G. 2001. The Finite Element Method for Engineers. Wiley, New York, NY, USA.Google Scholar
- Joe, B. 1989. Three-dimensional triangulations from local transformations. SIAM J. on Scientific and Statistical Computing 10, 4, 718. Google ScholarDigital Library
- Joe, B. 1991. Construction of three-dimensional Delaunay triangulations using local transformations. Computer Aided Geometric Design 8, 2, 123--142. Google ScholarDigital Library
- Kohout, J., Kolingerová, I., and Žára, J. 2005. Parallel Delaunay triangulation in E2 and E3 for computers with shared memory. Parallel Computing 31, 5, 491--522. Google ScholarDigital Library
- Lawson, C. L. 1977. Software for C1 surface interpolation. In Mathematical Software III, J. R. Rice, Ed. Academic Press, 161--194.Google Scholar
- Lawson, C. L. 1987. Properties of n-dimensional triangulations. Computer Aided Geometric Design 3, 4, 231--246. Google ScholarDigital Library
- Nickolls, J., Buck, I., Garland, M., and Skadron, K. 2008. Scalable parallel programming with CUDA. Queue 6, 2, 40--53. Google ScholarDigital Library
- Qi, M., Cao, T.-T., and Tan, T.-s. 2012. Computing 2D constrained Delaunay triangulation using the GPU. In I3D '12: Proc. ACM SIGGRAPH Symp. Interactive 3D Graphics and Games, ACM Press, New York, New York, USA, 39--46. Google ScholarDigital Library
- Shewchuk, J. R. 1996. Triangle: Engineering a 2D quality mesh generator and Delaunay triangulator. In Applied Computational Geometry towards Geometric Engineering, M. Lin and D. Manocha, Eds., vol. 1148 of Lecture Notes in Computer Science. Springer Berlin/Heidelberg, 203--222. Google ScholarDigital Library
- Shewchuk, J. R. 1996. Robust adaptive floating-point geometric predicates. In Proc. 12th Symp. Computational geometry, ACM, New York, NY, USA, SoCG '96, 141--150. Google ScholarDigital Library
- Shewchuk, J. R. 2005. Star splaying: an algorithm for repairing Delaunay triangulations and convex hulls. In Proc. 21st Symp. on Computational Geometry, ACM, New York, NY, USA, SoCG '05, 237--246. Google ScholarDigital Library
- Watson, D. F. 1981. Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes. The Computer J. 24, 2, 167--172.Google ScholarCross Ref
Index Terms
- A GPU accelerated algorithm for 3D Delaunay triangulation
Recommendations
Computing two-dimensional Delaunay triangulation using graphics hardware
I3D '08: Proceedings of the 2008 symposium on Interactive 3D graphics and gamesThis paper presents a novel approach to compute, for a given point set S in R2, its Delaunay triangulation T (S). Though prior work mentions the possibility of using the graphics processing unit (GPU) to compute Delaunay triangulations, no known ...
Computing 2D constrained Delaunay triangulation using the GPU
I3D '12: Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and GamesWe propose the first 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 CPU algorithms developed to solve the CDT problem in computational ...
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