-
Notifications
You must be signed in to change notification settings - Fork 61
Simulation Classes
The simulation of different sorts of models will exercise or stress different components of the simulator. Architectural and performance optimization decisions in turn then depend upon relevant use cases.
Simulations can be expected to have qualitatively different behaviour across a number of axes: channel and synapse dynamics; population morphologies; neuron connectivity; collective spiking behaviour.
Any particular simulation could be coarsely represented by taking an entry from each column below.
Dynamics | Morphologies | Connectivity | Spiking |
---|---|---|---|
Simple | Uniform | Random | Regular |
Complex | Small set | Regular | Irregular |
Highly variable | Structured | ||
Pure point |
Exponential synapses, for example, have a nigh trivial integration step. The performance of simulations with these sorts of simple time step computations will depend upon event-processing and data handling overheads.
If a population of neurons each have the same morphology and discretization, then the implicit solution of the discretized membrane voltage component of the computation admits simpler vectorization/GPU parallelization and optimizations based on a morphology pre-processing phase may be worth while.
On the other hand, a highly diverse set of morphologies will require a different data structure or possibly algorithmic approach for efficiency.
Populations with morphologies coming from a small set of possibilities might also be amenable to pre-processing optimizations.
Random networks or networks with a high degree of symmetry can be better approximated by dry-run replications for performance estimation. It can be assumed that for random connectivity there is little to be gained by attempting to lower communication overheads by, for example, grouping neurons into highly-connected sub-domains.
Highly structured connection networks might be amenable to specialized spike communication approaches, especially when it comes to modelling gap junctions or other strongly-coupled collections of neurons.
A network which spikes synchronously will demand much more of the spike communication process and data structures than a network with a similar average spiking rate but much lower variance over time.