Presyns vs InputPresyns

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

Moderator: hines

Post Reply
vomel
Posts: 1
Joined: Tue Sep 10, 2024 5:32 pm

Presyns vs InputPresyns

Post by vomel »

Hello,

I am running network simulations with CoreNEURON and I am currently testing the impact of assigning cells to processes using different distribution strategies. Looking at the CoreNEURON's output, every parameter (number of cells, compartments, synapses, spikes, etc., as well as SPIKE EXCHANGE, CONFIGURATION, etc.) is the same for different assignment strategies, except for the number of input presyns and the final solver time. Here is a sample output for two strategies:

Strategy 1:

Solver Time : 230.424

Simulation Statistics
Number of cells: 2500
Number of compartments: 7500
Number of presyns: 2500
Number of input presyns: 2500
Number of synapses: 564557
Number of point processes: 564557
Number of transfer sources: 0
Number of transfer targets: 0
Number of spikes: 335000
Number of spikes with non negative gid-s: 335000

Strategy 2:

Solver Time : 232.373

Simulation Statistics
Number of cells: 2500
Number of compartments: 7500
Number of presyns: 2500
Number of input presyns: 30
Number of synapses: 564557
Number of point processes: 564557
Number of transfer sources: 0
Number of transfer targets: 0
Number of spikes: 335000
Number of spikes with non negative gid-s: 335000

Here the time difference is small, but this effect scales with the number of cells, so that one strategy becomes significantly faster than the other one.

From what I could find, it looks like InputPresyn is the optimized version of Presyn used by CoreNeuron. I am wondering if there is a way to keep the number of input presyns equal across assignment strategies for fair comparison. And more generally, should I try forcing them to be equal, or should the different number of input presyns be expected – in this case, how exactly does CoreNEURON decide on the number of input presyns?
hines
Site Admin
Posts: 1704
Joined: Wed May 18, 2005 3:32 pm

Re: Presyns vs InputPresyns

Post by hines »

Different numbers of InputPresyn are expected. InputPresyn is a memory
optimized version of PreSyn and does not need to act as a threshold
detector as it receives a spike from a PreSyn that was generated on
another MPI rank. The number of InputPresyn on a rank is equal to the number of distinct gid (global identifier) NetCon sources which are not owned by that rank.
Post Reply