Table of Contents
Fetching ...

Distributed Computation of Persistent Cohomology

Arnur Nigmetov, Dmitriy Morozov

TL;DR

This work proposes a new algorithm to compute persistent cohomology in the distributed setting that combines domain and range partitioning and demonstrates a significant improvement in strong scaling.

Abstract

Persistent (co)homology is a central construction in topological data analysis, where it is used to quantify prominence of features in data to produce stable descriptors suitable for downstream analysis. Persistence is challenging to compute in parallel because it relies on global connectivity of the data. We propose a new algorithm to compute persistent cohomology in the distributed setting. It combines domain and range partitioning. The former is used to reduce and sparsify the coboundary matrix locally. After this initial local reduction, we redistribute the matrix across processors for the global reduction. We experimentally compare our cohomology algorithm with DIPHA, the only publicly available code for distributed computation of persistent (co)homology; our algorithm demonstrates a significant improvement in strong scaling.

Distributed Computation of Persistent Cohomology

TL;DR

This work proposes a new algorithm to compute persistent cohomology in the distributed setting that combines domain and range partitioning and demonstrates a significant improvement in strong scaling.

Abstract

Persistent (co)homology is a central construction in topological data analysis, where it is used to quantify prominence of features in data to produce stable descriptors suitable for downstream analysis. Persistence is challenging to compute in parallel because it relies on global connectivity of the data. We propose a new algorithm to compute persistent cohomology in the distributed setting. It combines domain and range partitioning. The former is used to reduce and sparsify the coboundary matrix locally. After this initial local reduction, we redistribute the matrix across processors for the global reduction. We experimentally compare our cohomology algorithm with DIPHA, the only publicly available code for distributed computation of persistent (co)homology; our algorithm demonstrates a significant improvement in strong scaling.

Paper Structure

This paper contains 14 sections, 1 theorem, 8 equations, 16 figures, 10 algorithms.

Key Result

Lemma 1

The persistence pairing determined by $R$ does not change, if in the reduction process we also perform row operations $R[i,\cdot] \gets R[i,\cdot] + R[j,\cdot]$ provided that we add rows bottom-up, $j > i$.

Figures (16)

  • Figure 1: The overall structure of the coboundary matrix $D$. Non-zero blocks are highlighted in gray, and different blocks of submatrix $D_i$ are labeled. $D_*^{SS}$ contains rows and columns from $D_i^{SS}$ for all $i$. This coboundary matrix structure is the same as the boundary matrix structure of the blowup complex used in lewis2015parallel.
  • Figure 2: A triangulation of a 2-dimensional grid, partitioned among four processes. The four cover sub-complexes are shown in four colors. Coboundaries of interior ($v_1$) and shared ($v_2$) simplices are illustrated.
  • Figure 3: Illustration of the ultrasparsification procedure.
  • Figure 4: An example of the pivot to the right situation. (a) Rank 3 has $R[\sigma_1]$ and $R[\sigma_2]$. Rank 1 does not have any column whose $\mathtt{{low}}$ is $\tau_1$, so in its local pivots table the corresponding entry is $-1$. (b) Based on their $\mathtt{{low}}$ values, rank 3 sends the columns to ranks 2 and 1, respectively. (c) After the local reduction, on rank 1, $R[\sigma_2]$ has no collisions, so $\sigma_2$ remains a pivot for $\tau_1$. Rank 2 reduces $R[\sigma_1]$ (via columns that are not shown) and its new $\mathtt{{low}}$ is now $\tau_1$. (d) Rank 2 sends $R[\sigma_1]$ to rank 1. Now, when rank 1 runs local reduction on $R[\sigma_1]$, its local pivots table points to $R[\sigma_2]$ which is to the right from $\sigma_1$.
  • Figure 5: Strong scaling on a 3D scan data (Woodbranch) of size $512^3$. Reduction time only.
  • ...and 11 more figures

Theorems & Definitions (2)

  • Remark
  • Lemma 1