sPyNNaker: A Software Package for Running PyNN Simulations on SpiNNaker - Rhodes, Oliver; Bogdan, Petruţ A.; Brenninkmeijer, Christian; Davidson, Simon; Fellows, Donal; Gait, Andrew; Lester, David R.; Mikaitis, Mantas; Plana, Luis A.; Rowley, Andrew G. D.; Stokes, Alan B.; Furber, Steve B. (Frontiers in Neuroscience, 2018)
This work presents sPyNNaker 4.0.0, the latest version of the software package for simulating PyNN-defined spiking neural networks (SNNs) on the SpiNNaker neuromorphic platform. Operations underpinning realtime SNN execution are presented, including an event-based operating system facilitating efficient time-driven neuron state updates and pipelined event-driven spike processing. Preprocessing, realtime execution, and neuron/synapse model implementations are discussed, all in the context of a simple example SNN. Simulation results are demonstrated, together with performance profiling providing insights into how software interacts with the underlying hardware to achieve realtime execution. System performance is shown to be within a factor of 2 of the original design target of 10000 synaptic events per ms, however SNN topology is shown to influence performance considerably. A cost model is therefore developed characterising the effect of network connectivity and SNN partitioning, enabling predictions on performance improvements to be made, and demonstrating the continued potential of the SpiNNaker neuromorphic hardware.