Multicore Homology via Mayer Vietoris

In this work we investigate the parallel computation of homology using the Mayer-Vietoris principle. We present a two stage approach for parallelizing persistence. In the first stage, we produce a cover of the input cell complex by overlapping subspaces. In the second stage, we use this cover to build the Mayer-Vietoris blowup complex, a topological space, which organizes the various subspaces needed for employing the Mayer-Vietoris principle. Next, we compute the homology of each subspace in the blowup complex in parallel and then glue these results together in serial. We show how to use the persistence algorithm to organize these computations. In the first stage, any algorithm can be used to produce a cover of the input complex. We describe an algorithm for producing a cover of a space with a simple structure and bounded overlap based on graph partitions. Additionally, we present a simplistic model for the problem of finding covers appropriate for parallel algorithms and show that finding such covers is NP-Hard. Finally, we present a second parallel homology algorithm. This algorithm avoids the explicit construction of the blowup complex saving space. We implement our algorithms for multicore computers, and compare them against each other as well as existing serial and parallel algorithms with a suite of experiments. We achieve roughly 8x speedup of the homology computations on a 10-dimensional complex with about 46 million simplices using 11 cores.

[1]  Franck Hétroy,et al.  Constructive Mayer-Vietoris Algorithm: Computing the Homology of Unions of Simplicial Complexes , 2010 .

[2]  Afra Zomorodian,et al.  Computational topology , 2010 .

[3]  Herbert Edelsbrunner,et al.  Topological Persistence and Simplification , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[4]  B. D. Saunders,et al.  Fast parallel computation of hermite and smith forms of polynomial matrices , 1987 .

[5]  Mervin E. Muller,et al.  A note on a method for generating points uniformly on n-dimensional spheres , 1959, CACM.

[6]  Gunnar E. Carlsson,et al.  Topology and data , 2009 .

[7]  Ryan H. Lewis Yet Another Graph Partitioning Problem is NP-Hard , 2014, ArXiv.

[8]  坂上 貴之 書評 Computational Homology , 2005 .

[9]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[10]  Primoz Skraba,et al.  A spectral sequence for parallelized persistence , 2011, ArXiv.

[11]  Afra Zomorodian,et al.  Computing Persistent Homology , 2004, SCG '04.

[12]  Samuel Eilenberg,et al.  SEMI-SIMPLICIAL COMPLEXES AND SINGULAR HOMOLOGY , 1950 .

[13]  Mikhail J. Atallah,et al.  Algorithms and Theory of Computation Handbook , 2009, Chapman & Hall/CRC Applied Algorithms and Data Structures series.

[14]  Afra Zomorodian,et al.  Fast construction of the Vietoris-Rips complex , 2010, Comput. Graph..

[15]  Jon P. May Simplicial objects in algebraic topology , 1993 .

[16]  Jean-Guillaume Dumas,et al.  Computing Simplicial Homology Based on Efficient Smith Normal Form Algorithms , 2003, Algebra, Geometry, and Software Systems.

[17]  R. Ho Algebraic Topology , 2022 .

[18]  Erich Kaltofen,et al.  Parallel algorithms for matrix normal forms , 1990 .

[19]  Ulrich Bauer,et al.  Clear and Compress: Computing Persistent Homology in Chunks , 2013, Topological Methods in Data Analysis and Visualization.

[20]  Afra Zomorodian,et al.  Localized Homology , 2007, IEEE International Conference on Shape Modeling and Applications 2007 (SMI '07).

[21]  Victor Alessandrini Intel Threading Building Blocks , 2016 .

[22]  Clay P. Breshears The Art of Concurrency - A Thread Monkey's Guide to Writing Parallel Applications , 2009 .

[23]  Steven J. Leon Transform linear algebra , 2002 .