“Parallel Chen-Han (PCH) Algorithm for Discrete Geodesics” by Ying, Xin and Ying

  • ©Xiang Ying, Shiqing Xin, and He Ying




    Parallel Chen-Han (PCH) Algorithm for Discrete Geodesics

Session/Category Title: Geometry Processing




    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. N. Bell and J. Hoberock. 2011. Thrust: A productivity-oriented library for cuda. In GPU Computing Gems, Jade Ed., Morgan Kaufmann, San Fransisco, 359–371.
    2. M. Campen and L. Kobbelt. 2011. Walking on broken mesh: Defect-tolerant geodesic distances and parameterizations. Comput. Graph. Forum 30, 2, 623–632.
    3. J. Chen and Y. Han. 1990. Shortest paths on a polyhedron. In Proceedings of the Symposium on Computational Geometry. 360–369.
    4. R. Kimmel and J. A. Sethian. 1998. Computing geodesic paths on manifolds. Proc. Nat. Acad. Sci. 95, 8431–8435.
    5. A. Lieutier and B. Thibert. 2009. Convergence of geodesics on triangulations. Comput.-Aid. Geom. Des. 26, 4, 412–424.
    6. Y.-J. Liu, Z. Chen, and K. Tang. 2011. Construction of iso-contours, bisectors, and voronoi diagrams on triangulated surfaces. IEEE Trans. Pattern Anal. Mach. Intell. 33, 8, 1502–1517.
    7. Y.-J. Liu, Q.-Y. Zhou, and S.-M. Hu. 2007. Handling degenerate cases in exact geodesic computation on triangle meshes. Vis. Comput. 23, 9–11, 661–668.
    8. F. Memoli and G. Sapiro. 2001. Fast computation of weighted distance functions and geodesics on implicit hyper-surfaces. J. Comput. Phys. 173, 2, 730–764.
    9. F. Memoli and G. Sapiro. 2005. Distance functions and geodesics on submanifolds of rd and point clouds. SIAM J. Appl. Math. 65, 4, 1227–1260.
    10. J. S. B. Mitchell, D. M. Mount, and C. H. Papadimitriou. 1987. The discrete geodesic problem. SIAM J. Comput. 16, 4, 647–668.
    11. L. Monroe, J. Wendelberger, and S. Michalak. 2011. Randomized selection on the gpu. In Proceedings of the Symposium on High Performance Graphics. 89–98.
    12. K. Polthier and M. Schmies. 1998. Straightest geodesics on polyhedral surfaces. In Mathematical Visualization, 391.
    13. Y. Schreiber and M. Sharir. 2006. An optimal-time algorithm for shortest paths on a convex polytope in three dimensions. In Proceedings of the Symposium on Computational Geometry. 30–39.
    14. J. Sethian. 1996. A fast marching level set method for monotonically advancing fronts. Proc. Nat. Acad. Sci. 93, 4, 1591–1595.
    15. M. Sharir and A. Schorr. 1986. On shortest paths in polyhedral spaces. SIAM J. Comput. 15, 1, 193–215.
    16. V. Surazhsky, T. Surazhsky, D. Kirsanov, S. J. Gortler, and H. Hoppe. 2005. Fast exact and approximate geodesics on meshes. ACM Trans. Graph. 24, 3, 553–560.
    17. O. Weber, Y. S. Devir, A. M. Bronstein, M. M. Bronstein, and R. Kimmel. 2008. Parallel algorithms for approximation of distance maps on parametric surfaces. ACM Trans. Graph. 27, 4, 104:1–104:16.
    18. S.-Q. Xin, D. T. P. Quynh, X. Ying, and Y. He. 2012. A global algorithm to compute defect-tolerant geodesic distance. In ACM SIGGRAPH ASIA Technical Briefs. 23:1–23:4.
    19. S.-Q. Xin and G.-J. Wang. 2009. Improving chen and han’s algorithm on the discrete geodesic problem. ACM Trans. Graph. 28, 4, 104:1–104:8.
    20. X. Ying, X. Wang, and Y. He. 2013. Saddle vertex graph (SVG): A novel solution to the discrete geodesic problem. ACM Trans. Graph. 32, 6, 170:1–170:12.

ACM Digital Library Publication: