Auryn simulator

Simulator for spiking neural networks with synaptic plasticity

User Tools

Site Tools


Duty cycle

Once a simulation is triggered by the run() directive in System the simulation evolves according to a fixed loop structure.

Auryn's duty cycle can be coarsely divided into three main parts.

  1. Evolve the state of the network are evolved by one time step. To that end System calls the evolve() methods of all registered instances of SpikingGroup and all Connection instances. During this step all the smooth dynamics (ODEs) of the the neuron and synapse models are updated. Eg. all integrate-and-fire neurons will smoothly upgrade their internal state.
  2. Propagate this step captures the interactions between the different network entities. Mostly, the step is concerned with bringing spikes from point A to point B, where this might entail sending spikes from one node to another in a parallel simulation. To implement propagate, System calls all propagate() methods of instances of Connection objects. The nature of spikes can lead to “jumps” in the state of the system, for instance because arriving spikes increase the membrane potential of a target neuron.
  3. Execute devices. During this step all Monitors are called via their execute() function. This is mainly to write results to files or do some on-line monitoring (see Checker). Note, that in older Auryn versions the execute methods is also called propagate for Monitor classes.
manual/duty_cycle.txt · Last modified: 2017/01/24 22:39 by zenke