Parallelizing discrete geodesic algorithms with perfect efficiency. (October 2019) - Ying, Xiang; Huang, Caibao; Fu, Xuzhou; He, Ying; Yu, Ruiguo; Wang, Jianrong; Yu, Mei
Abstract: This paper presents a new method for parallelizing geodesic algorithms on triangle meshes. Using the half-edge data structure, we define the propagation dependency graph to characterize data dependency in computing geodesics. Then, we design an active strategy such that the vertices and half-edges on the wavefront take the initiative to collect their input data and then propagate windows and update geodesic information in their own memory space. As a result, all the read and write operations can be carried out simultaneously. Our method, named AWP, works for both exact (e.g., the CH algorithm) and approximate (e.g., the fast marching method) geodesic algorithms. Our implementation on various NVIDIA GPUs exhibit perfect linear speedup, i.e., doubling the computational power (i.e., FLOPS) doubles the speed. We prove that the AWP-CH algorithm runs in O ( n 2 ∕ min ( C, n ) ) time, where n and C are the numbers of faces and cores, respectively. Evaluation on GTX Titan XP shows that AWP-CH empirically runs in n p time, p ∈ [ 1 . 25, 1 . 35 ], for real-world models with n ≤ 1 0 7 and anisotropy measure τ ≤ 2 . 0 . Thanks to its perfect efficiency and the trend of increasing the number of processors in graphics hardware, we believe that the actual performance of AWP can be further improved in the near future. Highlights: An algorithm for parallelizing discrete geodesic algorithms with perfect efficiency. The algorithm works for both the CH algorithm and the fast marching method. Source code is publically available athttps://github.com/openawp/awp .