This document shows the benchmark scores of HomCloud.
Computation times and maximal memory usages for persistence diagram computation
are measured by time -v command. The benchmark results of the inverse analysis are also shown.
PC spec and OS are as follows:
- CPU: AMD Ryzen 9 5950X
- Memory: 128GB
- OS: Ubuntu 20.04
A persistence diagram is computed on a single core. Parallel computing is not used. The time and memory is measured only one time, and the result of this document is not the average time and memory.
Alpha filtration from 3D pointcloud#
Each point is randomly drawn from a uniform distribution on (-1,1)^3.
- 10,000 points - 2.4sec 350MB (pdgm file size: 13MB)
- 1d optimal volume with
cutoff_radius=0.1- 3.5sec 240MB
- 1d optimal volume with
- 100,000 points - 23sec 3GB (pdgm file size: 136MB)
- 1d optimal volume with
cutoff_radius=0.1- 32sec 1.6GB
- 1d optimal volume with
- 1,000,000 points - 260sec, 27GB (pdgm file size: 1.5GB)
- 1d optimal volume with
cutoff_radius=0.1- 190sec 15GB
- 1d optimal volume with
- 3,000,000 points - 800sec, 80GB (pdgm file size: 4.4GB)
- 1d optimal volume with
cutoff_radius=0.1- 310sec 43GB
- 1d optimal volume with
Periodic alpha filtration from 3D pointcloud#
Each point is randomly drawn from a uniform distribution on (-1,1)^3.
- 10000 points - 3.6sec 380MB (pdgm file size: 13MB)
- 100000 points - 31sec 3GB (pdgm file size: 137MB)
- 1000000 points - 350sec, 27GB (pdgm file size: 1.5GB)
Remark#
In HomCloud, alpha filtration is computed using the CGAL library. A PD is calculated using PHAT.
3D Bitmap#
The following two types of data were used for 3D data. One is that each voxel value is random, and the sublevel persistence diagram is computed. The other is the data obtained by distance transform. The data by distance transform is more ordered than the random voxel value data, and the order makes the computation faster.
Levelset persistence diagram from random voxel data#
- 100x100x100 - 5sec 570MB
- 300x300x300 - 614sec 11GB
Distance transform data#
- 100x100x100 - 1.6sec 310MB
- 300x300x300 - 50sec 6.4GB
- 600x600x600 - 530sec 60GB
- 800x800x800 - not comuputable because of memoly limitation. We plan to try bigger computer
Remark#
The algorithm for computing the PD from 2D/3D bitmap is separated into the homccube3 library.
Rips#
A point cloud in 10-dimensional Euclidean space is randomly uniformly generated and distance matrix with Euclidean distance is computed.
- 1000 points
- maxdim=1: 1.6sec 210MB
- maxdim=2: 90sec 10GB
- maxdim=3: Memory limitation
- 10000 points
- maxdim=1: 500sec, 16GB
- maxdim=2: Memory limitation
- 20000 points
- maxdim=1: 2000sec, 65GB
- 50000 points
- maxdim=1: Memory limitation
Remark#
Ripser is used in HomCloud.