I am not sure I understand precisely what data you are recording, and in particular not
why you create a file for each point in time.
You mention that you collect senders, times, sources and targets. What do you mean by
senders vs sources? And wouldn’t it suffice to just record the senders and times (using
the NEST spike_detector)? If you then have a one-time-dump of connection information, you
could infer targets for each spike during analysis.
Note that NEST also has a weight recorder, which allows you to store the current weight of
a synapse every time a spike passes through it.
For highly parallel simulations, the current master branch of NEST (NEST3) allows you to
use SIONLib for efficient parallel recording.
Prof. Dr. Hans Ekkehard Plesser
Head, Department of Data Science
Faculty of Science and Technology
Norwegian University of Life Sciences
PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560
On 02/11/2020, 18:35, "swathi anil"
I use NEST with OpenMPI on a high performance cluster to run plasticity related network
So far I have divided my whole job into:
phase 1: data collection (data collected: senders, times, sources, targets for each time
phase 2: data anaylsis (refers to spike count and connectivity calculation)
I face an issue with data-handling. In phase 1, the data pertaining to each of the four
variables is saved in X different files (X = number of virtual processes), rank-wise. This
means that the total number of files generated goes [ n(time-points)*X*4 ], which
surpasses the chunk file storage limit, per user for the cluster. Each file here is an
ndarray saved as a *.npy file.
I wonder if there is a way to retrieve the data from each of the X processes while
collecting data, concatenating and then saving them? So instead of X number of files, I
can save the concatenated version. This probably involves recruiting a single VP to
collect and concatenate and save the datapoints, but i am not quite sure how to execute
this using NEST. Any help would be highly appreciated!
Thanks in advance!