This work presents a fully GPU-accelerated algorithm for the polygonal mesh generator known as Polylla. Polylla is a tri-to-polygon mesh generator, which benefits from the half-edge data structure to manage any polygonal shape. The proposed parallel algorithm introduces a novel approach to modify triangulations to get polygonal meshes using the half-edge data structure in parallel on the GPU. By changing the adjacency values of each half-edge, the algorithm accomplish to unlink half-edges that are not used in the new polygonal mesh without the need neither removing nor allocating new memory in the GPU. The experimental results show a speedup, reaching up to $\times 83.2$ when compared to the CPU sequential implementation. Additionally, the speedup is $\times 746.8$ when the cost of copying the data structure from the host device and back is not included.
翻译:本文提出了一种完全GPU加速的算法,用于实现名为Polylla的多边形网格生成器。Polylla是一种三角形转多边形网格生成器,利用半边数据结构管理任意多边形形状。所提出的并行算法引入了一种新颖方法,通过GPU上的半边数据结构并行修改三角剖分以生成多边形网格。通过改变每个半边的邻接值,该算法能够解链新多边形网格中未使用的半边,而无需在GPU中移除或分配新内存。实验结果显示,与CPU串行实现相比,加速比高达$\times 83.2$。此外,在不包含从主机设备拷贝数据结构及返回的开销时,加速比可达$\times 746.8$。