Parallel chen-han (PCH) algorithm for discrete geodesics

In many graphics applications, the computation of exact geodesic distance is very important. However, the high computational cost of existing geodesic algorithms means that they are not practical for large-scale models or time-critical applications. To tackle this challenge, we propose the Parallel Chen-Han (or PCH) algorithm, which extends the classic Chen-Han (CH) discrete geodesic algorithm to the parallel setting. The original CH algorithm and its variant both lack a parallel solution because the windows (a key data structure that carries the shortest distance in the wavefront propagation) are maintained in a strict order or a tightly coupled manner, which means that only one window is processed at a time. We propose dividing the CH's sequential algorithm into four phases, window selection, window propagation, data organization, and events processing so that there is no data dependence or conflicts in each phase and the operations within each phase can be carried out in parallel. The proposed PCH algorithm is able to propagate a large number of windows simultaneously and independently. We also adopt a simple yet effective strategy to control the total number of windows. We implement the PCH algorithm on modern GPUs (such as Nvidia GTX 580) and analyze the performance in detail. The performance improvement (compared to the sequential algorithms) is highly consistent with GPU double-precision performance (GFLOPS). Extensive experiments on real-world models demonstrate an order of magnitude improvement in execution time compared to the state-of-the-art.

[1]  Nathan Bell,et al.  Thrust: A Productivity-Oriented Library for CUDA , 2012 .

[2]  J A Sethian,et al.  A fast marching level set method for monotonically advancing fronts. , 1996, Proceedings of the National Academy of Sciences of the United States of America.

[3]  Alexander M. Bronstein,et al.  Parallel algorithms for approximation of distance maps on parametric surfaces , 2008, TOGS.

[4]  Micha Sharir,et al.  An Optimal-Time Algorithm for Shortest Paths on a Convex Polytope in Three Dimensions , 2006, SCG '06.

[5]  Shi-Min Hu,et al.  Handling degenerate cases in exact geodesic computation on triangle meshes , 2007, The Visual Computer.

[6]  Guillermo Sapiro,et al.  Distance Functions and Geodesics on Submanifolds of Rd and Point Clouds , 2005, SIAM J. Appl. Math..

[7]  J A Sethian,et al.  Computing geodesic paths on manifolds. , 1998, Proceedings of the National Academy of Sciences of the United States of America.

[8]  André Lieutier,et al.  Convergence of geodesics on triangulations , 2009, Comput. Aided Geom. Des..

[9]  Ying He,et al.  Saddle vertex graph (SVG) , 2013, ACM Trans. Graph..

[10]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

[11]  Joseph S. B. Mitchell,et al.  The Discrete Geodesic Problem , 1987, SIAM J. Comput..

[12]  Steven J. Gortler,et al.  Fast exact and approximate geodesics on meshes , 2005, ACM Trans. Graph..

[13]  Konrad Polthier,et al.  Straightest geodesics on polyhedral surfaces , 2006, SIGGRAPH Courses.

[14]  F. Mémoli,et al.  Fast computation of weighted distance functions and geodesics on implicit hyper-surfaces: 730 , 2001 .

[15]  Marcel Campen,et al.  Walking On Broken Mesh: Defect‐Tolerant Geodesic Distances and Parameterizations , 2011, Comput. Graph. Forum.

[16]  Micha Sharir,et al.  On shortest paths in polyhedral spaces , 1986, STOC '84.

[17]  Yijie Han,et al.  Shortest paths on a polyhedron , 1990, SCG '90.

[18]  Laura Monroe,et al.  Randomized selection on the GPU , 2011, HPG '11.

[19]  Kai Tang,et al.  Construction of Iso-Contours, Bisectors, and Voronoi Diagrams on Triangulated Surfaces , 2011, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[20]  Ying He,et al.  A global algorithm to compute defect-tolerant geodesic distance , 2012, SIGGRAPH Asia Technical Briefs.