giotto-ph: A Python Library for High-Performance Computation of Persistent Homology of Vietoris-Rips Filtrations

07/12/2021
by   Julian Burella Pérez, et al.
0

We introduce giotto-ph, a high-performance, open-source software package for the computation of Vietoris-Rips barcodes. giotto-ph is based on Morozov and Nigmetov's lockfree (multicore) implementation of Ulrich Bauer's Ripser package. It also contains a re-working of the GUDHI library's implementation of Boissonnat and Pritam's Edge Collapser, which can be used as a pre-processing step to dramatically reduce overall run-times in certain scenarios. Our contribution is twofold: on the one hand, we integrate existing state-of-the-art ideas coherently in a single library and provide Python bindings to the C++ code. On the other hand, we increase parallelization opportunities and improve overall performance by adopting more efficient data structures. Our persistent homology backend establishes a new state of the art, surpassing even GPU-accelerated implementations such as Ripser++ when using as few as 5-10 CPU cores. Furthermore, our implementation of Edge Collapser has fewer software dependencies and improved run-times relative to GUDHI's original implementation.

READ FULL TEXT
research
10/26/2018

gpuRIR: A python library for Room Impulse Response simulation with GPU acceleration

The Image Source Method (ISM) is one of the most employed techniques to ...
research
05/10/2021

PeriPy – A High Performance OpenCL Peridynamics Package

This paper presents a lightweight, open-source and high-performance pyth...
research
11/13/2017

ABCpy: A High-Performance Computing Perspective to Approximate Bayesian Computation

ABCpy is a highly modular scientific library for Approximate Bayesian Co...
research
03/23/2023

GMP-Featurizer: A parallelized Python package for efficiently computing the Gaussian Multipole features of atomic systems

GMP-Featurizer is a lightweight, accurate, efficient, and scalable softw...
research
09/09/2018

Tuning the Performance of a Computational Persistent Homology Package

In recent years, persistent homology has become an attractive method for...
research
01/30/2018

Open3D: A Modern Library for 3D Data Processing

Open3D is an open-source library that supports rapid development of soft...
research
11/14/2019

Thirteen Simple Steps for Creating An R Package with an External C++ Library

We desribe how we extend R with an external C++ code library by using th...

Please sign up or login with your details

Forgot password? Click here to reset