CElegansNeuroML icon indicating copy to clipboard operation
CElegansNeuroML copied to clipboard

Can c302 with jNeuroML-NEURON take advantage of multiple CPU cores?

Open slarson opened this issue 9 years ago • 3 comments

I'm trying to run c302 for a long session and plot the results and I'm doing it on a multi-CPU Amazon instance. Is there anyway to take advantage of multiple threads in doing this?

https://www.neuron.yale.edu/phpBB/viewtopic.php?f=28&t=3395

cc: @pgleeson

Thanks!

slarson avatar Jul 03 '16 13:07 slarson

Not yet, but there is work under way for jNeuroML to create parallel Neuron compatible code. This would be either through generating PyNN (though there aren't gap junctions supported there), or NetPyNE (https://github.com/Neurosim-lab/netpyne), which might have gap junction support sooner.

This will happen (soonish) because it's really needed for other large scale nets in nml2...

pgleeson avatar Jul 04 '16 07:07 pgleeson

OK yeah that would be great. In order to reproduce this (from the Kato paper):

screen shot 2016-07-02 at 11 48 04 pm

we'd need to try to be running hundreds of seconds worth of simulation time. If there are any issues related to this on various repos, let's link them in here (did a brief look on both repos but didn't see any obvious ones to reference.

Thanks!

slarson avatar Jul 04 '16 16:07 slarson

The bottleneck here will probably be the volume of data being saved/reloaded rather than the fact that it needs to run on multiple procesors.

One solution might be to specify in the LEMS Simulation <OutputFile> (e.g. here) that you only want to save every 100ms for example , but that would require an update to jLEMS, then to the Neuron export... Not happennign soon I think.

A better soln would be to make a python controller file (like this https://github.com/openworm/CElegansNeuroML/blob/master/CElegans/pythonScripts/c302/examples/LEMS_c302_A_Social.xml#L66) which generates the python Neuron main class for c302 on the fly, specifies not to save/plot anything, then steps through a long simulation and manually grabs the membrane potential/ca conc from the Neuron object (like here) it wants at whatever time resolution and saves that file...

pgleeson avatar Jul 12 '16 18:07 pgleeson