sPyNNaker Limitations

Follow me on GitHub

This guide will detail the limitations that sPyNNaker imposes on users of PyNN.

PyNN version

sPyNNaker implements a subset of the PyNN 0.7 API.

Model Type Limitations

sPyNNaker currently only supports the following model types:

  1. Leaky intergrate and fire current exponential IFCurrExp
  2. Leaky intergrate and fire conductive exponential IFCondExp
  3. Leaky intergrate and fire duel current exponential IFCurrDualExp
  4. Izhikevich Current Exponential Population IZKCurrExp

External Input

sPyNNaker currently supports these two models for injecting spikes into a PyNN model:

  1. Spike source array SpikeSourceArray
  2. Spike source poisson SpikeSourcePoisson

Currently, only the i_offset parameter of the neural models can be used to inject current.

Connectors

sPyNNaker currently supports the following connector types:

  1. All to All connector AllToAllConnector
  2. Distance dependent probability connector DistanceDependentProbabilityConnector
  3. Fixed number pre connector FixedNumberPreConnector
  4. Fixed probability connector FixedProbabilityConnector
  5. From file connector FromFileConnector
  6. From list connector FromListConnector
  7. Multapse connector MultapseConnector
  8. One to one connector OneToOneConnector

Plasticity

sPyNNaker currently only supports plasticity described by an STDPMechanism which is set as the slow property of SynapseDynamics.

sPyNNaker supports the following STDP timing dependence rules:

  1. Pfister spike triplet rule PfisterSpikeTripletRule
  2. Spike pair rule SpikePairRule

and the following STDP weight dependence rules:

  1. Additive weight dependence AdditiveWeightDependence
  2. Multiplicative weight dependence MultiplicativeWeightDependence

Other Limitations

sPyNNaker also imposes the following limitations:

  1. All of our neural models have a limitation of 256 neurons per core. Depending on which SpiNNaker board you are using, this will limit the number of neurons that can be supported in any simulation.
  2. All our models support delays between 1 timestep and 144 timesteps. Delays of more than 16 timesteps are supported by delay extensions which take up another core within the machine, thus use of such delays will further limit the total number of neurons that can be supported in any simulation.