From 1d0c628fe5e5c5c4f712bbc1fb9ddc3acc347f9d Mon Sep 17 00:00:00 2001 From: Umberto Lupo <46537483+ulupo@users.noreply.github.com> Date: Wed, 4 Aug 2021 09:10:36 +0200 Subject: [PATCH] Add scaling figure and section explaining scaling in README (#17) --- README.rst | 20 +- docs/images/multithreading_speedup.svg | 1753 ++++++++++++++++++++++++ 2 files changed, 1772 insertions(+), 1 deletion(-) create mode 100644 docs/images/multithreading_speedup.svg diff --git a/README.rst b/README.rst index 26686114..b8518663 100644 --- a/README.rst +++ b/README.rst @@ -24,6 +24,7 @@ for weighted VR filtrations. See also `Morozov's Ripser fork `_ family of open-source projects and designed for tight integration with the `giotto-tda `_ and `pyflagser `_ libraries. + Project genesis =============== @@ -31,6 +32,7 @@ Project genesis the `Laboratory for Topology and Neuroscience `_ at EPFL, and the `Institute of Reconfigurable & Embedded Digital Systems (REDS) `_ of HEIG-VD. + License ======= @@ -39,6 +41,20 @@ License ``giotto-ph`` is distributed under the AGPLv3 `license `_. If you need a different distribution license, please contact the `L2F team`_. + +Parallel persistent homology backend +==================================== + +Computing persistence barcodes of large datasets and in high homology degrees is challenging even on modern hardware. ``giotto-ph``'s persistent homology backend +is able to distribute the key stages of the computation (namely, search for apparent pairs and coboundary matrix reduction) across an arbitrary number of available CPU threads. + +On challenging datasets, the scaling is quite favourable as shown in the following figure (for more details, see our paper linked below): + +.. image:: https://raw.githubusercontent.com/giotto-ai/giotto-ph/main/docs/images/multithreading_speedup.svg + :width: 500px + :align: center + + Basic usage in Python ===================== @@ -111,7 +127,6 @@ Use the ``weights`` and ``weight_params`` parameters to constructed a weighted R dgm_dtm = ripser_parallel(pc, weights="DTM", n_threads=-1) - Documentation and Tutorials =========================== @@ -119,6 +134,7 @@ Documentation and Tutorials Jupyter notebook tutorials can be found in the `examples folder `_. The API reference can be found at https://giotto-ai.github.io/giotto-ph. + Installation ============ @@ -150,6 +166,7 @@ for detailed instructions on how to build ``giotto-ph`` from sources across diff .. _contributing-section: + Contributing ============ @@ -165,6 +182,7 @@ source directory :: pytest gph + Important links =============== diff --git a/docs/images/multithreading_speedup.svg b/docs/images/multithreading_speedup.svg new file mode 100644 index 00000000..6a1b4092 --- /dev/null +++ b/docs/images/multithreading_speedup.svg @@ -0,0 +1,1753 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +