GPU-Accelerated Computation of Vietoris-Rips Persistence Barcodes

Authors Simon Zhang, Mengbai Xiao, Hao Wang

Thumbnail PDF


  • Filesize: 1.15 MB
  • 17 pages

Document Identifiers

Author Details

Simon Zhang
  • Department of Computer Science and Engineering, The Ohio State University, Columbus, OH, USA
Mengbai Xiao
  • Department of Computer Science and Engineering, The Ohio State University, Columbus, OH, USA
Hao Wang
  • Department of Computer Science and Engineering, The Ohio State University, Columbus, OH, USA


We would like to thank Ulrich Bauer for technical discussions on Ripser and Greg Henselman for discussions on Eirene. We also thank Greg Henselman, Matthew Kahle, and Cheng Xin on discussions about probability and apparent pairs. We acknowledge Birkan Gokbag for his help in developing Python bindings for Ripser++. We appreciate the constructive comments and suggestions of the anonymous reviewers. Finally, we are grateful for the insights and expert judgement in many discussions with Tamal Dey.

Cite AsGet BibTex

Simon Zhang, Mengbai Xiao, and Hao Wang. GPU-Accelerated Computation of Vietoris-Rips Persistence Barcodes. In 36th International Symposium on Computational Geometry (SoCG 2020). Leibniz International Proceedings in Informatics (LIPIcs), Volume 164, pp. 70:1-70:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020)


The computation of Vietoris-Rips persistence barcodes is both execution-intensive and memory-intensive. In this paper, we study the computational structure of Vietoris-Rips persistence barcodes, and identify several unique mathematical properties and algorithmic opportunities with connections to the GPU. Mathematically and empirically, we look into the properties of apparent pairs, which are independently identifiable persistence pairs comprising up to 99% of persistence pairs. We give theoretical upper and lower bounds of the apparent pair rate and model the average case. We also design massively parallel algorithms to take advantage of the very large number of simplices that can be processed independently of each other. Having identified these opportunities, we develop a GPU-accelerated software for computing Vietoris-Rips persistence barcodes, called Ripser++. The software achieves up to 30x speedup over the total execution time of the original Ripser and also reduces CPU-memory usage by up to 2.0x. We believe our GPU-acceleration based efforts open a new chapter for the advancement of topological data analysis in the post-Moore’s Law era.

Subject Classification

ACM Subject Classification
  • Theory of computation → Massively parallel algorithms
  • Software and its engineering → Massively parallel systems
  • Theory of computation → Randomness, geometry and discrete structures
  • Parallel Algorithms
  • Topological Data Analysis
  • Vietoris-Rips
  • Persistent Homology
  • Apparent Pairs
  • High Performance Computing
  • GPU
  • Random Graphs


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Henry Adams, Tegan Emerson, Michael Kirby, Rachel Neville, Chris Peterson, Patrick Shipman, Sofya Chepushtanova, Eric Hanson, Francis Motta, and Lori Ziegelmeier. Persistence images: A stable vector representation of persistent homology. The Journal of Machine Learning Research, 18(1):218-252, 2017. Google Scholar
  2. Henry Adams and Andrew Tausz. Javaplex tutorial. Google Scholar, 2011. Google Scholar
  3. Mehmet E Aktas, Esra Akbas, and Ahmed El Fatmaoui. Persistence homology of networks: methods and applications. Applied Network Science, 4(1):61, 2019. Google Scholar
  4. Sergey Barannikov. The framed morse complex and its invariants, 1994. Google Scholar
  5. Ulrich Bauer. Ripser: efficient computation of vietoris–rips persistence barcodes, 2018. URL:
  6. Ulrich Bauer. Ripser: efficient computation of vietoris-rips persistence barcodes. arXiv preprint, 2019. URL:
  7. Ulrich Bauer, Michael Kerber, and Jan Reininghaus. Clear and compress: Computing persistent homology in chunks. In Topological methods in data analysis and visualization III, pages 103-117. Springer, 2014. Google Scholar
  8. Ulrich Bauer, Michael Kerber, and Jan Reininghaus. Distributed computation of persistent homology. In 2014 proceedings of the sixteenth workshop on algorithm engineering and experiments (ALENEX), pages 31-38. SIAM, 2014. Google Scholar
  9. Ulrich Bauer, Michael Kerber, Jan Reininghaus, and Hubert Wagner. Phat-persistent homology algorithms toolbox. Journal of symbolic computation, 78:76-90, 2017. Google Scholar
  10. Paul Bendich, James S Marron, Ezra Miller, Alex Pieloch, and Sean Skwerer. Persistent homology analysis of brain artery trees. The annals of applied statistics, 10(1):198, 2016. Google Scholar
  11. Peter Bubenik. Statistical topological data analysis using persistence landscapes. The Journal of Machine Learning Research, 16(1):77-102, 2015. Google Scholar
  12. Gunnar Carlsson. Topology and data. Bulletin of the American Mathematical Society, 46(2):255-308, 2009. Google Scholar
  13. Chao Chen and Michael Kerber. Persistent homology computation with a twist. In Proceedings 27th European Workshop on Computational Geometry, volume 11, 2011. Google Scholar
  14. Yuri Dabaghian, Facundo Mémoli, Loren Frank, and Gunnar Carlsson. A topological paradigm for hippocampal spatial map formation using persistent homology. PLoS computational biology, 8(8):e1002581, 2012. Google Scholar
  15. Vin De Silva and Robert Ghrist. Coverage in sensor networks via persistent homology. Algebraic & Geometric Topology, 7(1):339-358, 2007. Google Scholar
  16. Vin De Silva, Dmitriy Morozov, and Mikael Vejdemo-Johansson. Dualities in persistent (co) homology. Inverse Problems, 27(12):124003, 2011. Google Scholar
  17. Vin De Silva, Dmitriy Morozov, and Mikael Vejdemo-Johansson. Persistent cohomology and circular coordinates. Discrete & Computational Geometry, 45(4):737-759, 2011. Google Scholar
  18. Olaf Delgado-Friedrichs, Vanessa Robins, and Adrian Sheppard. Skeletonization and partitioning of digital images using discrete morse theory. IEEE transactions on pattern analysis and machine intelligence, 37(3):654-666, 2014. Google Scholar
  19. Robert H Dennard, Fritz H Gaensslen, V Leo Rideout, Ernest Bassous, and Andre R LeBlanc. Design of ion-implanted mosfet’s with very small physical dimensions. IEEE Journal of Solid-State Circuits, 9(5):256-268, 1974. Google Scholar
  20. Tamal K Dey, Fengtao Fan, and Yusu Wang. Computing topological persistence for simplicial maps. In Proceedings of the thirtieth annual symposium on Computational geometry, page 345. ACM, 2014. Google Scholar
  21. Herbert Edelsbrunner and John Harer. Computational topology: an introduction. American Mathematical Soc., 2010. Google Scholar
  22. Herbert Edelsbrunner, David Letscher, and Afra Zomorodian. Topological persistence and simplification. In Proceedings 41st annual symposium on foundations of computer science, pages 454-463. IEEE, 2000. Google Scholar
  23. Hadi Esmaeilzadeh, Emily Blem, Renee St Amant, Karthikeyan Sankaralingam, and Doug Burger. Dark silicon and the end of multicore scaling. IEEE Micro, 32(3):122-134, 2012. Google Scholar
  24. Brittany Terese Fasy, Fabrizio Lecci, Alessandro Rinaldo, Larry Wasserman, Sivaraman Balakrishnan, Aarti Singh, et al. Confidence sets for persistence diagrams. The Annals of Statistics, 42(6):2301-2339, 2014. Google Scholar
  25. William H Guss and Ruslan Salakhutdinov. On characterizing the capacity of neural networks using algebraic topology. arXiv preprint, 2018. URL:
  26. G Henselman. Eirene: a platform for computational homological algebra, 2016. Google Scholar
  27. Gregory Henselman and Robert Ghrist. Matroid filtrations and computational persistent homology. arXiv preprint, 2016. URL:
  28. Christoph Hofer, Roland Kwitt, Marc Niethammer, and Andreas Uhl. Deep learning with topological signatures. In Advances in Neural Information Processing Systems, pages 1634-1644, 2017. Google Scholar
  29. Alan Hylton, Janche Sang, Greg Henselman-Petrusek, and Robert Short. Performance enhancement of a computational persistent homology package. In 2017 IEEE 36th International Performance Computing and Communications Conference (IPCCC), pages 1-8. IEEE, 2017. Google Scholar
  30. Changkyu Kim, Tim Kaldewey, Victor W. Lee, Eric Sedlar, Anthony D. Nguyen, Nadathur Satish, Jatin Chhugani, Andrea Di Blas, and Pradeep Dubey. Sort vs. hash revisited: Fast join implementation on modern multi-core cpus. Proc. VLDB Endow., 2(2):1378-1389, August 2009. URL:
  31. Donald Ervin Knuth. The art of computer programming, volume 3. Pearson Education, 1997. Google Scholar
  32. Daniel Luetgehetmann, Dejan Govc, Jason Smith, and Ran Levi. Computing persistent homology of directed flag complexes. arXiv preprint, 2019. URL:
  33. Clément Maria, Jean-Daniel Boissonnat, Marc Glisse, and Mariette Yvinec. The gudhi library: Simplicial complexes and persistent homology. In International Congress on Mathematical Software, pages 167-174. Springer, 2014. Google Scholar
  34. Rodrigo Mendoza-Smith and Jared Tanner. Parallel multi-scale reduction of persistent homology filtrations. arXiv preprint, 2017. URL:
  35. Dmitriy Morozov. Dionysus software, 2017. URL:
  36. Partha Niyogi, Stephen Smale, and Shmuel Weinberger. Finding the homology of submanifolds with high confidence from random samples. Discrete & Computational Geometry, 39(1-3):419-441, 2008. Google Scholar
  37. Nina Otter, Mason A Porter, Ulrike Tillmann, Peter Grindrod, and Heather A Harrington. A roadmap for the computation of persistent homology. EPJ Data Science, 6(1):17, 2017. Google Scholar
  38. Ernesto Pascal. Sopra una formula numerica, 1887. Google Scholar
  39. Jan Reininghaus, Stefan Huber, Ulrich Bauer, and Roland Kwitt. A stable multi-scale kernel for topological machine learning. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4741-4748, 2015. Google Scholar
  40. Nadathur Satish, Mark Harris, and Michael Garland. Designing efficient sorting algorithms for manycore gpus. In Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing, IPDPS '09, pages 1-10, Washington, DC, USA, 2009. IEEE Computer Society. URL:
  41. Abu Bakar Siddique, Saadia Farid, and Muhammad Tahir. Proof of bijection for combinatorial number system. arXiv preprint, 2016. URL:
  42. Erik Sintorn and Ulf Assarsson. Fast parallel gpu-sorting using a hybrid algorithm. J. Parallel Distrib. Comput., 68(10):1381-1388, October 2008. URL:
  43. Meirman Syzdykbayev and Hassan A Karimi. Persistent homology for detection of objects from mobile lidar point cloud data in autonomous vehicles. In Science and Information Conference, pages 458-472. Springer, 2019. Google Scholar
  44. The GUDHI Project. GUDHI User and Reference Manual. GUDHI Editorial Board, 2015. URL:
  45. Thomas N Theis and H-S Philip Wong. The end of moore’s law: A new beginning for information technology. Computing in Science & Engineering, 19(2):41, 2017. Google Scholar
  46. Christopher Tralie, Nathaniel Saul, and Rann Bar-On. Ripser. py: A lean persistent homology library for python. J. Open Source Software, 3(29):925, 2018. Google Scholar
  47. Simon Zhang, Mengbai Xiao, Chengxin Guo, Liang Geng, Hao Wang, and Xiaodong Zhang. Hypha: a framework based on separation of parallelisms to accelerate persistent homology matrix reduction. In Proceedings of the ACM International Conference on Supercomputing, pages 69-81. ACM, 2019. Google Scholar
  48. Afra Zomorodian. Fast construction of the vietoris-rips complex. Computers & Graphics, 34(3):263-271, 2010. Google Scholar
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail