Search found 17 matches

by iraikov
Wed Jul 31, 2019 1:29 pm
Forum: Parallel NEURON
Topic: Periodically saving results during simulation
Replies: 1
Views: 273

Periodically saving results during simulation

Hello, I'd like to be able to save the spikes and and recorded intracellular traces of the neurons in a large scale network simulation every few thousand ms of simulation time, and I am wondering if anyone has implemented something similar, or has thoughts on the subject. My initial idea was to impl...
by iraikov
Wed Apr 05, 2017 1:05 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

Hi Michael, Sorry to bring this up again, but it looks like if each MPI rank calls ExperimentalMechComplex procedure, the mcomplex.dat file will get clobbered by the different ranks writing to it. Would it be sufficient to call ExperimentalMechComplex and then compute cell complexities without writi...
by iraikov
Tue Mar 28, 2017 2:05 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

The difference is indeed quite striking. So what do I do after the lb.read_mcomplex call? The current complexity estimate procedure calls lb.cell_complexity for each cell/gid. How would this change when using ExperimentalMechComplex and read_mcomplex? A better proxy for complexity (than a count of n...
by iraikov
Tue Mar 28, 2017 1:56 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

Hi Michael, Thanks a lot for the code and explanations, I just have one question: in the routine lpt_bal, is it really necessary to send back a balanced gidvec to each rank? I am thinking about a simple scheme where lpt_bal writes the file with gid to rank assignments, and then the simulation code c...
by iraikov
Mon Mar 27, 2017 7:41 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

Hi Michael, Thanks a lot, this is tremendously helpful. It is good to learn about the new load balancing additions. It looks like LPT is the way to go, as my cell complexity measurement showed that the largest cell still has much lower complexity than the average per rank. I will try out your code a...
by iraikov
Fri Mar 24, 2017 2:13 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

Hi Ted, The simple round robin strategy for all cells results in a load balancing factor of 0.73-0.75 (when the stimulus is from homogeneous Poisson sources), which is not terrible but I think can be improved. Thanks for the references, I will look through the Korf paper and see if I can figure out ...
by iraikov
Fri Mar 24, 2017 2:08 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

Thanks, Michael, I have added this code to the model and will calculate the cell complexity. Just to make sure I understand, the `allsec' function will return all sections of all cells on the current rank, right? I assumed from the code that it just needs to be run on the top-level, but let me know ...
by iraikov
Wed Mar 22, 2017 1:33 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Re: Load balancing with heterogeneous morphologies and synap

Hi Ted, Using round-robin assignment of cells to ranks, short simulations of 100-300 ms have a load balancing factor of about 0.75 on 16384 ranks (1e6 principal cells in a model of the rat dentate gyrus), and 0.73 for a longer 1000 ms simulation. The difference in dendritic area and number of synaps...
by iraikov
Tue Mar 21, 2017 4:29 pm
Forum: Parallel NEURON
Topic: Load balancing with heterogeneous morphologies and synapses
Replies: 18
Views: 10281

Load balancing with heterogeneous morphologies and synapses

Hello, I have a large network model where each principal cell model has a unique morphology and distribution of synapses. Is multisplit the most appropriate way to load balance this network, and if so, is the multisplit version of the Traub model the principal example on how to do that? Thanks, -Ivan
by iraikov
Fri Mar 03, 2017 2:32 pm
Forum: NEURON + Python
Topic: Modifying tstop in FInitializeHandler
Replies: 7
Views: 9904

Re: Modifying tstop in FInitializeHandler

Oh I see, I do seem to recall that the previous HOC code would actually sometimes hang if tstop was modified to an earlier time. But if rank 0 decides that tstop should be decreased, how can it tell the other ranks it intends to do a broadcast? It seems that broadcasting tstop at each dt_status time...
by iraikov
Fri Mar 03, 2017 2:12 pm
Forum: NEURON + Python
Topic: Modifying tstop in FInitializeHandler
Replies: 7
Views: 9904

Re: Modifying tstop in FInitializeHandler

Hi Michael, So what you are saying is that the original HOC code should not have worked in the first place. I will modify my code to use cvode.event for the new stop time then. Thank you! ParallelContext.psolve(stoptime) should do the same thing independent of whether it was called from hoc or pytho...
by iraikov
Fri Mar 03, 2017 1:42 pm
Forum: NEURON + Python
Topic: Modifying tstop in FInitializeHandler
Replies: 7
Views: 9904

Re: Modifying tstop in FInitializeHandler

Hi Ted, Thanks for your reply, but the point is precisely that calling the HOC code from Python does not produce the desired result. That is, the HOC handler routine modifies tstop, but psolve continues to integrate using the original value of tstop. So how can I can use the same HOC routine, but en...
by iraikov
Thu Mar 02, 2017 10:54 am
Forum: NEURON + Python
Topic: Modifying tstop in FInitializeHandler
Replies: 7
Views: 9904

Modifying tstop in FInitializeHandler

Hello, I am in the process of converting parallel network code from HOC to Python. The HOC code installs a handler via FInitializeHandler that compares the elapsed wall time with the maximum time for the job, estimates whether there is sufficient time to complete the simulation, and reduces tstop if...
by iraikov
Wed Apr 08, 2015 12:33 pm
Forum: Adding new mechanisms and functions to NEURON
Topic: Event-based synaptic noise mechanism
Replies: 2
Views: 4983

Re: Event-based synaptic noise mechanism

This is great Ted, thanks so much for doing all the hard work for me :-) The new mechanism works reasonably well even with a large h, so I will try it out in the network and see if the variable timestep method will make a difference there.
by iraikov
Thu Apr 02, 2015 2:21 pm
Forum: Adding new mechanisms and functions to NEURON
Topic: Event-based synaptic noise mechanism
Replies: 2
Views: 4983

Event-based synaptic noise mechanism

Hello, I would like to convert the synaptic noise mechanism Gfluct2 https://bitbucket.org/mbezaire/dentate/raw/020c5af16cf33d16669dae7a3c01a056a1d8cda6/NEURON/Gfluct2.mod for use with NEURON's variable timestep solver, and on another thread Ted suggested that I try to use the event delivery mechanis...