A hybrid parallel Delaunay image-to-mesh conversion algorithm scalable on distributed-memory clusters. (October 2018) - Feng, Daming; Chernikov, Andrey N.; Chrisochoides, Nikos P.
Abstract: In this paper, we present a scalable three dimensional parallel Delaunay image-to-mesh conversion algorithm. A nested master–worker model is used to simultaneously explore process- and thread-level parallelization. The mesh generation includes two stages: coarse and fine meshing. First, a coarse mesh is constructed in parallel by the threads of the master process. Then the coarse mesh is partitioned. Finally, the fine mesh refinement procedure is executed until all the elements in the mesh satisfy the quality and fidelity criteria. The communication and computation are separated during the fine mesh refinement procedure. The master thread of each process that initializes the MPI environment is in charge of the inter-node MPI communication for data (submesh) movement while the worker threads of each process are responsible for the local mesh refinement within the node. We conducted a set of experiments to test the performance of the algorithm on distributed memory clusters and observed that the granularity of coarse level data decomposition, which affects the coarse level concurrency, has a significant influence on the performance of the algorithm. With the proper value of granularity, the algorithm is scalable to 45 distributed memory compute nodes (900 cores). Highlights: The Hybrid MPI+Threads method is a hybrid programming image-to-mesh conversion algorithm. The Hybrid MPI+Threads method creates meshes with quality and fidelity guarantees. The Hybrid MPI+Threads method supports parallel non-uniform mesh generation for multi-material objects. The Hybrid MPI+Threads method is a scalable parallel meshing algorithm on distributed multi-core node clusters.