Computing Three-dimensional Constrained Delaunay Refinement Using the GPU Zhenghai Chen Tiow-Seng Tan School of Computing School of Computing National University of Singapore National University of Singapore
[email protected] [email protected] ABSTRACT collectively called elements, are split in this order in many rounds We propose the first GPU algorithm for the 3D triangulation refine- until there are no more bad tetrahedra. Each round, the splitting ment problem. For an input of a piecewise linear complex G and is done to many elements in parallel with many GPU threads. The a constant B, it produces, by adding Steiner points, a constrained algorithm first calculates the so-called splitting points that can split Delaunay triangulation conforming to G and containing tetrahedra elements into smaller ones, then decides on a subset of them to mostly of radius-edge ratios smaller than B. Our implementation of be Steiner points for actual insertions into the triangulation T . the algorithm shows that it can be an order of magnitude faster than Note first that a splitting point is calculated by a GPU threadas the best CPU algorithm while using a similar amount of Steiner the midpoint of a subsegment, the circumcenter of the circumcircle points to produce triangulations of comparable quality. of the subface, and the circumcenter of the circumsphere of the tetrahedron. Note second that not all splitting points calculated CCS CONCEPTS can be inserted as Steiner points in a same round as they together can potentially create undesirable short edges in T to cause non- • Theory of computation → Computational geometry; • Com- termination of the algorithm.