Dynamic Parallel 3D Delaunay Triangulation

Delaunay meshing is a popular technique for mesh generation. Usually, the mesh has to be refined so that certain fidelity and quality criteria are met. Delaunay refinement is achieved by dynamically inserting and removing points in/from a Delaunay triangulation. In this paper, we present a robust parallel algorithm for computing Delaunay triangulations in three dimensions. Our triangulator offers fully dynamic parallel insertions and removals of points and is thus suitable for mesh refinement. As far as we know, ours is the first method that parallelizes point removals, an operation that significantly slows refinement down. Our shared memory implementation makes use of a custom memory manager and light-weight locks which greatly reduce the communication and synchronization cost. We also employ a contention policy which is able to accelerate the execution times even in the presence of high number of rollbacks. Evaluation on synthetic and real data shows the effectiveness of our method on widely used multi-core SMPs.

[1]  Paul-Louis George,et al.  Delaunay triangulation and meshing : application to finite elements , 1998 .

[2]  Andrey N. Chernikov,et al.  Three-dimensional delaunay refinement for multi-core processors , 2008, ICS '08.

[3]  Olivier Devillers,et al.  Perturbations and vertex removal in a 3D delaunay triangulation , 2003, SODA '03.

[4]  M. Yvinec,et al.  Meshing Volumes Bounded by Smooth Surfaces , 2005, IMR.

[5]  Jerome Galtier,et al.  Prepartitioning as a way to mesh subdomains in parallel , 1997 .

[6]  Jonathan C. Hardwick Implementation and evaluation of an efficient parallel Delaunay triangulation algorithm , 1997, SPAA '97.

[7]  Orcun Goksel,et al.  Image-Based Variational Meshing , 2011, IEEE Transactions on Medical Imaging.

[8]  Jaime Peraire,et al.  Parallel unstructured mesh generation , 1996 .

[9]  Nikos Chrisochoides,et al.  Graded Delaunay Decoupling Method for Parallel Guaranteed Quality Planar Mesh Generation , 2008, SIAM J. Sci. Comput..

[10]  Omar Ghattas,et al.  Parallel delaunay refinement mesh generation , 2004 .

[11]  Guy E. Blelloch,et al.  Engineering a compact parallel delaunay algorithm in 3D , 2006, SCG '06.

[12]  Andrey N. Chernikov,et al.  Towards Exascale Parallel Delaunay Mesh Generation , 2009, IMR.

[13]  Steve Oudot,et al.  Provably good sampling and meshing of surfaces , 2005, Graph. Model..

[14]  J. Peraire,et al.  3d Parallel Unstructured Mesh Generation , 1997 .

[15]  Kevin J. Barker,et al.  Practical performance model for optimizing dynamic load balancing of adaptive applications , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[16]  Jonathan Richard Shewchuk,et al.  Aggressive Tetrahedral Mesh Improvement , 2007, IMR.

[17]  I. Beichl,et al.  A data-parallel algorithm for three-dimensional Delaunay triangulation and its implementation , 1993, Supercomputing '93.

[18]  R. Scopigno,et al.  Parallel 3D Delaunay Triangulation , 1993, Comput. Graph. Forum.

[19]  Olivier Devillers,et al.  Walking in a triangulation , 2001, SCG '01.

[20]  D. F. Watson Computing the n-Dimensional Delaunay Tesselation with Application to Voronoi Polytopes , 1981, Comput. J..

[21]  Andrey N. Chernikov,et al.  Algorithm, software, and hardware optimizations for Delaunay mesh generation on simultaneous multithreaded architectures , 2009, J. Parallel Distributed Comput..

[22]  Jirí Zára,et al.  Practically oriented parallel Delaunay triangulation in E2 for computers with shared memory , 2004, Comput. Graph..

[23]  Sandeep Koranne,et al.  Boost C++ Libraries , 2011 .

[24]  Jonathan Richard Shewchuk,et al.  Tetrahedral mesh generation by Delaunay refinement , 1998, SCG '98.

[25]  Nikos Chrisochoides,et al.  Guaranteed: quality parallel delaunay refinement for restricted polyhedral domains , 2002, SCG '02.

[26]  Ernst P. Mücke,et al.  Fast randomized point location without preprocessing in two- and three-dimensional Delaunay triangulations , 1996, SCG '96.

[27]  William N. Scherer,et al.  Advanced contention management for dynamic software transactional memory , 2005, PODC '05.

[28]  Laurent Rineau,et al.  Meshing 3D Domains Bounded by Piecewise Smooth Surfaces* , 2007, IMR.

[29]  Laurent Rineau,et al.  High-Quality Consistent Meshing of Multi-label Datasets , 2007, IPMI.

[30]  Nancy M. Amato,et al.  Parallel algorithms for higher-dimensional convex hulls , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[31]  Guy E. Blelloch,et al.  Design and Implementation of a Practical Parallel Delaunay Algorithm , 1999, Algorithmica.

[32]  Adrian Bowyer,et al.  Computing Dirichlet Tessellations , 1981, Comput. J..

[33]  L. Paul Chew,et al.  Guaranteed-quality Delaunay meshing in 3D (short version) , 1997, SCG '97.

[34]  Andrey N. Chernikov,et al.  Guaranteed Quality Tetrahedral Delaunay Meshing for Medical Images , 2010, 2010 International Symposium on Voronoi Diagrams in Science and Engineering.

[35]  Mariette Yvinec,et al.  Mesh Generation from 3D Multi-material Images , 2009, MICCAI.

[36]  Chandrajit L Bajaj,et al.  An Automatic 3D Mesh Generation Method for Domains with Multiple Materials. , 2010, Computer methods in applied mechanics and engineering.

[37]  Olivier Devillers,et al.  The Delaunay Hierarchy , 2002, Int. J. Found. Comput. Sci..

[38]  Pierre Alliez,et al.  Computational geometry algorithms library , 2008, SIGGRAPH '08.

[39]  Andrey N. Chernikov,et al.  Three-dimensional Semi-generalized Point Placement Method for Delaunay Mesh Refinement , 2007, IMR.