memory profiling for ironclust

goal: expand # channels and durations by tiling and see how the memory use scales per channel and per duration basi

#1. expand datasets by tiling
– cache the original (64ch, 1200s), and tile it

# 2. run the memory benchmark, parameter loop
– parameter loops: {param_set0.prm, param_set1.prm}
try to break the memory limit (256GB in my workstation)
~1MB/chan/min (3.43 MB/chan/min raw, 153GB/380ch/2hrs)

# 3. run the memory benchmark with efficient processing option

# Data storage problem
install sudo apt install bolt
restart and mount

In Ubuntu, the memory profiling precision above 20MB (MB is 10^6 whereas MiB is 2^20)
Dell precision (T7919) could have a thunderbolt 2 card installed.
(compare 1.3 GB/s vs 50 MB/s over the network)

# IronClust remaining work
1. documentation
2. benchmark scalability, memory, accuracy, channel count, density, recording duration
3. make it faster using remote slurm interface

# Ironclust result section
## accuracy
– accuracy comparison
– probe layout comparison. density. columns
– drift handling comparison

## scalabiilty
– scalability plot: memory and runtime scaling
– accuracy vs. speed plot
– speed comparison with other software
– speed scalability using multiple computing cores

## usability
-input and output format