I'm using MPI to speed up my simulations. Now, I use the RateMonitor to get the firing rates of neurons from a group into files for analysis like this:
Code: Select all
RateMonitor * rmon_e = new RateMonitor( neurons_e , strbuf.c_str(), rate_mon_sampling_interval );
Code: Select all
time nrn[i] nrn[i+1] .... nrn[i+n]
Until now, I've just been merging the ratemonitor files from different ranks column wise after removing the time stamp, assuming that rank 1 gets neurons [0,n], rank 2 gets [n+1,2n] and so on. Then, I pick the time I need, "wrap" the line into the required rows and cols and plot it.
This doesn't make a difference when you're working with uniform configurations, such as vogels fig 4A and B. However, now that I'm working on 4C, I'm beginning to wonder if my assumption is correct. I used pattern files as you'd suggested in the other post, but the final figure that I come up with doesn't match. I ran a quick test and indeed, my assumption is wrong.
Is there a way to find what neurons a rank is dealing with, or alternatively, is there an easier way to generate the snapshots?
Thanks,
Ankur