SpiNNTools: The Execution Engine for the SpiNNaker Platform - Rowley, Andrew G. D.; Brenninkmeijer, Christian; Davidson, Simon; Fellows, Donal; Gait, Andrew; Lester, David R.; Plana, Luis A.; Rhodes, Oliver; Stokes, Alan B.; Furber, Steve B. (Frontiers in Neuroscience, 2019)
SpiNNaker is a massively parallel distributed architecture primarily focused on real time simula- tion of spiking neural networks. The largest realisation of the architecture consists of one million general purpose processors, making it the largest neuromorphic computing platform in the world at the present time. Utilising these processors efficiently requires expert knowledge of the archi- tecture to generate executable code and to harness the potential of the unique inter-processor communications infra-structure that lies at the heart of the SpiNNaker architecture. This work introduces a software suite called SpiNNTools that can map a computational problem described as a graph into the required set of executables, application data and routing information necessary for simulation on this novel machine. The SpiNNaker architecture is highly scalable, giving rise to unique challenges in mapping the problem to the machines resources, loading the generated files to the machine and subsequently retrieving the results of simulation. In this paper we describe these challenges in detail and the solutions implemented.