parallel Network

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

Moderator: hines

Post Reply
ammu
Posts: 9
Joined: Tue Feb 14, 2012 12:10 am

parallel Network

Post by ammu »

Hi,

I tried to create a parallelized network following suggestions from previously published paper (Migliore et al). In my network I have a point process and in order to assign a gid to this, I have attached it to a section inside a template (cell).

From NEURON programmer's reference, pc.gid_connect should be used to connect the cells. However in my case I need to specify it as cell.spikeobject for the source as point process is located inside a template. So instead of gid_connect, I used typical netcon in the following way.

if (pc.gid_exists(gid))
nclist.append(new NetCon(cell.spikeobject, target.synlist.object(1), -20, 0.000, 1e-03))

With this connection, when I am using np 1, it gives correct number of spikes. With np 2, there is loss of spikes and with np 4 there are no spikes.

Where am I going wrong? Kindly let me know.

Thank you.
ted
Site Admin
Posts: 6300
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: parallel Network

Post by ted »

When your implementation's "setup" code executes on parallel hardware,
--do the same cells exist as on serial hardware? i.e. for each cell class used in the net, does the correct number of cells exist, and do they have the same properties as on serial hardware?
--are the cells connected in the same way as on serial hardware? i.e. do the appropriate pre->post connections exist, and do they have the correct latencies and weights?

Parallelizing serial code requires attention to many details. Verifying that the parallelized model is identical to the serial model (aside from the fact that the former has been instantiated on parallel hardware) is essential. If you have not already done so, you would probably find it useful to read this paper and examine the examples it provides:
Hines, M.L. and Carnevale, N.T.
Translating network models to parallel hardware in NEURON.
J. Neurosci. Methods 169:425-455, 2008
PDF available from http://www.neuron.yale.edu/neuron/nrnpubs/, source code available from ModelDB https://senselab.med.yale.edu/modeldb/ via accession number 96444.
ammu
Posts: 9
Joined: Tue Feb 14, 2012 12:10 am

Re: parallel Network

Post by ammu »

Dear ted,

thank u for your reply. I checked all the connections and properties of the cells on serial and parallel network and all are the same. I understood where the problem is. While i am using the typical netcon connection instead of gid_connect, the connection happening only if the source and target cells are on the same host.
while using gid_connect (without specifying the spikeobject in the source cell), the target cell is not receiving the input, even though it is connected with the source cell. Could you please suggest me is there is any other way to specify the spikeobject in the source cell.

Thank you
ted
Site Admin
Posts: 6300
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: parallel Network

Post by ted »

If the spike source is not on the same host as the target, use the ParallelContext class's gid_connect() method to connect source to target. The spike source must exist and it must be associated with a gid.
ammu
Posts: 9
Joined: Tue Feb 14, 2012 12:10 am

Re: parallel Network

Post by ammu »

Dear ted,
My problem is solved. I could give gid to the spike source. Thank you very much for your help.

Thank you
Post Reply