The resulting data from find_pin_oscillations(connectivity, samples) is currently too big both in output and also in RAM usage. I have identified that the two main causes are:
1) The way parameters are passed between PIN functions. They are a list of dictionaries which takes up considerable space.
2) The way solutions are returned. Currently, all simulated parameter sets return the full ODESolution which takes up considerable space.
I propose the following solution:
1) Make all PIN functions receive a matrix of parameter sets rather than a list of dictionaries. This will make RAM usage to be more efficient
2) Only return the full ODESolution for those that the algorithm classifies as oscillatory. For the rest only return the time series.
The resulting data from
find_pin_oscillations(connectivity, samples)
is currently too big both in output and also in RAM usage. I have identified that the two main causes are: 1) The way parameters are passed between PIN functions. They are a list of dictionaries which takes up considerable space. 2) The way solutions are returned. Currently, all simulated parameter sets return the fullODESolution
which takes up considerable space.I propose the following solution: 1) Make all PIN functions receive a matrix of parameter sets rather than a list of dictionaries. This will make RAM usage to be more efficient 2) Only return the full
ODESolution
for those that the algorithm classifies as oscillatory. For the rest only return the time series.