ParallelComputeTool, extracellular mechanism?

General issues of interest both for network and
individual cell parallelization.

Moderator: hines

Post Reply
dongwoonhyun

ParallelComputeTool, extracellular mechanism?

Post by dongwoonhyun »

Hi,

I am trying to use extracellular stimulation and recording on a bundle of axons, both myelinated and unmyelinated. I'm using a modification of Ted's extracellular_stim_and_rec.zip file that is available somewhere else on this forum. I changed it to include multiple electrodes for recording and stimulation. Everything is working fine, but I would like to take advantage of the multiple cores on my PC to speed up the simulations. I'm using NEURON 7.0.

It seems that the extracellular mechanism is incompatible with the built in tool. Is it because it is a LinearMechanism? I have made all of my additional .mod files "threadsafe" (I believe). I also included "THREADSAFE" in the NEURON block of xtra.mod, but after playing with a toy model I realized that the issue is with the extracellular mechanism rather than xtra.mod. Are there any workarounds? I'm still relatively new to NEURON, so some help would be greatly appreciated.

Thanks in advance!
ted
Site Admin
Posts: 6299
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: ParallelComputeTool, extracellular mechanism?

Post by ted »

Sorry, multithreaded execution does not work with models that involve extracellular or LinearMechanism--see the Programmer's Reference documentation
http://www.neuron.yale.edu/neuron/stati ... ml#Threads
However, this may not be such bad news because, for technical reasons, multithreaded execution is most useful with models that have at least several thousand states that require numerical integration. For example, a single comparment with the hh mechanism has 4 states (m, h, n, and v), so we're talking about models with ~1000 compartments or more. Smaller models benefit less from multithreaded execution.

And there may still be some good news, because NEURON offers a different kind of parallel execution that does work with extracellular and which may help speed up your work: bulletin-board style parallelization. This is appropriate for "embarrassingly parallel problems" such as optimization or parameter space exploration, in which the task is to run a large number of simulations, each of which takes more than a second. In the bulletin-board approach, each "core" would simulate a separate instance of your model. For more information, see the documentation of ParallelContext
http://www.neuron.yale.edu/neuron/stati ... lelContext
Post Reply