45

Linear Run Time of Persistent Homology Computation with GPU Parallelization

Abstract

Persistent homology is a crucial invariant that is used in many areas to understand data. The O(N4)O(N^4) run time is a hindrance to its use on most large datasets. We give a parallelization method to utilize multi-core machines and clusters. We implement the computation of the 0th0^{th} persistent homology with OpenMP parallelization and observe a 1.75 fold performance increase by using 2 threads on a dual core machine. We also benchmark the computation using larger numbers of threads and show that the thread computational overhead decreases performance. With GPU parallelization, we analytically and empirically decrease the run time scaling from O(N4)O(N^4) to O(N3)O(N^3) and even O(N2)O(N^2) where NN is the number of data points, for a large enough GPU. Next, we analytically show run time scaling O(N)O(N) for an even larger GPU.

View on arXiv
Comments on this paper