Number of spikes decrease in parallel run

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

Moderator: hines

Post Reply
Krishna Chaitanya
Posts: 70
Joined: Wed Jan 18, 2012 12:25 am
Location: University of Pavia

Number of spikes decrease in parallel run

Post by Krishna Chaitanya »

Hi,

I have tried to compare serial and parallel versions of my network code. In parallel run, as the number of processes increased, the total number of spikes decreased. Let's say, with np 1, total number of spikes observed is 58000 and with np 2, the number of spikes decreased to 38000. In the serial run, I get total number of spikes as 58000. With np 4, the number of spikes observed is 8000.

I have checked if the postsynaptic neuron is receiving same connections as in serial run and it's the same. But I couldn't figure out how the spikes are lost.

Is there a way to debug this kind of problem? Kindly let me know.

Thanks in anticipation.
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Number of spikes decrease in parallel run

Post by ted »

You are right to be concerned. A program that has been parallelized correctly should produce identical results regardless of how many processors are used to execute the simulation.

The first step in parallelizing a network model is to associate each cell with a gid (unique global identifier).

"But the result of that transformation is code that executes only on a single processor. Why is that useful?"

It is useful because the second step is to generate an output file that captures the times of all spikes, with each spike time paired with the gid of the cell that spiked. Sort that file by spike time as the first key and gid as the second key. The result is a file that you can use to verify that your subsequent code revisions haven't broken anything. If a bug creeps into your implementation, that file will help you verify that you are indeed recording from all the cells in the parallelized model. Identify the cell in which the earliest spike time discrepancy between [original serial implementation] and [parallelized implementation] is seen. Does the cell itself have the correct anatomical and biophysical properties, and has it been correctly discretized? Make sure that your parallelized code attaches the correct number of synaptic mechanisms to it, and that they're at the correct locations. Is each of those synaptic mechanisms driven by the correct number of NetCons? Check the sources, weights, and delays of those NetCons.
Krishna Chaitanya
Posts: 70
Joined: Wed Jan 18, 2012 12:25 am
Location: University of Pavia

Re: Number of spikes decrease in parallel run

Post by Krishna Chaitanya »

Thanks a lot Ted. Will do that and see if I can figure out.
Post Reply