Search found 17 matches
- Wed Jul 31, 2019 1:29 pm
- Forum: Parallel NEURON
- Topic: Periodically saving results during simulation
- Replies: 3
- Views: 10358
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...
- Wed Apr 05, 2017 1:05 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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...
- Tue Mar 28, 2017 2:05 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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...
- Tue Mar 28, 2017 1:56 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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...
- Mon Mar 27, 2017 7:41 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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...
- Fri Mar 24, 2017 2:13 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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 ...
- Fri Mar 24, 2017 2:08 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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 ...
- Wed Mar 22, 2017 1:33 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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...
- Tue Mar 21, 2017 4:29 pm
- Forum: Parallel NEURON
- Topic: Load balancing with heterogeneous morphologies and synapses
- Replies: 18
- Views: 36163
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
- Fri Mar 03, 2017 2:32 pm
- Forum: NEURON + Python
- Topic: Modifying tstop in FInitializeHandler
- Replies: 7
- Views: 12633
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...
- Fri Mar 03, 2017 2:12 pm
- Forum: NEURON + Python
- Topic: Modifying tstop in FInitializeHandler
- Replies: 7
- Views: 12633
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...
- Fri Mar 03, 2017 1:42 pm
- Forum: NEURON + Python
- Topic: Modifying tstop in FInitializeHandler
- Replies: 7
- Views: 12633
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...
- Thu Mar 02, 2017 10:54 am
- Forum: NEURON + Python
- Topic: Modifying tstop in FInitializeHandler
- Replies: 7
- Views: 12633
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...
- Wed Apr 08, 2015 12:33 pm
- Forum: Adding new mechanisms and functions to NEURON
- Topic: Event-based synaptic noise mechanism
- Replies: 2
- Views: 6084
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.
- Thu Apr 02, 2015 2:21 pm
- Forum: Adding new mechanisms and functions to NEURON
- Topic: Event-based synaptic noise mechanism
- Replies: 2
- Views: 6084
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...