Key points are not available for this paper at this time.
High-performance computing (HPC) mesh generation codes are often optimized while intertwining functionality with performance aspects of code, making these methods highly complex and difficult to maintain amid the evolving intricacies of HPC hardware. Additionally, current state-of-the-art HPC methods utilize collective communication and global synchronization techniques that have been shown to hinder potential scalability. This paper presents the foundational elements of a distributed memory method for adaptive anisotropic mesh generation that is designed to avoid the use of collective communication techniques while leveraging concurrency offered by large-scale computing. In the presented method, meshing functionality is separated from performance aspects by utilizing a separate entity for each - a shared memory mesh generation code called CDT3D and PREMA for parallel runtime support. Lessons are presented regarding some re-designs of CDT3D that were required to enable its integration into the distributed memory method. In the presented method, an initial mesh is data decomposed and subdomains are distributed amongst the nodes of an HPC cluster. The interior elements of subdomains are initially adapted while interface elements (subdomain boundaries) remain frozen. Interface elements then undergo several iterations of shifting so that they are adapted when their data dependencies are resolved. Preliminary results show that the presented method is able to produce meshes of comparable quality to those generated by the original shared memory CDT3D software. However, the distributed method's scalability is hindered by CDT3D's performance with regards to efficiently re-processing data it previously generated during other iterations of interface shifting. Local communication performance regarding non-meshing operations suggests that if CDT3D can be further re-designed, the interface shift operation presents a potentially viable solution in achieving scalability for mesh adaptation when targeting configurations with large numbers of cores.
Garner et al. (2024) studied this question.