Simulation of Spiking Neural Networks on Different Hardware Platforms
ICANN '97 Proceedings of the 7th International Conference on Artificial Neural Networks
Polychronization: Computation with Spikes
Neural Computation
Anatomy of a cortical simulator
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
Phenomenological models of synaptic plasticity based on spike timing
Biological Cybernetics - Special Issue: Object Localization
Communications of the ACM
Efficient simulation of large-scale spiking neural networks using CUDA graphics processors
IJCNN'09 Proceedings of the 2009 international joint conference on Neural Networks
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Simple model of spiking neurons
IEEE Transactions on Neural Networks
Euro-Par'07 Proceedings of the 13th international Euro-Par conference on Parallel Processing
Scalable event-driven native parallel processing: the SpiNNaker neuromimetic system
Proceedings of the 7th ACM international conference on Computing frontiers
Particle-in-cell simulations with charge-conserving current deposition on graphic processing units
Journal of Computational Physics
Spiking neural network simulation: memory-optimal synaptic event scheduling
Journal of Computational Neuroscience
Topos 2: spiking neural networks for bipedal walking in humanoid robots
HAIS'11 Proceedings of the 6th international conference on Hybrid artificial intelligent systems - Volume Part II
Neuromorphic modeling abstractions and simulation of large-scale cortical networks
Proceedings of the International Conference on Computer-Aided Design
A hierachical configuration system for a massively parallel neural hardware platform
Proceedings of the 9th conference on Computing Frontiers
A Highly Parallel Multi-class Pattern Classification on GPU
CCGRID '12 Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012)
Artificial Neural Network Simulation on CUDA
DS-RT '12 Proceedings of the 2012 IEEE/ACM 16th International Symposium on Distributed Simulation and Real Time Applications
Hi-index | 0.01 |
Neural network simulators that take into account the spiking behavior of neurons are useful for studying brain mechanisms and for various neural engineering applications. Spiking Neural Network (SNN) simulators have been traditionally simulated on large-scale clusters, super-computers, or on dedicated hardware architectures. Alternatively, Compute Unified Device Architecture (CUDA) Graphics Processing Units (GPUs) can provide a low-cost, programmable, and high-performance computing platform for simulation of SNNs. In this paper we demonstrate an efficient, biologically realistic, large-scale SNN simulator that runs on a single GPU. The SNN model includes Izhikevich spiking neurons, detailed models of synaptic plasticity and variable axonal delay. We allow user-defined configuration of the GPU-SNN model by means of a high-level programming interface written in C++ but similar to the PyNN programming interface specification. PyNN is a common programming interface developed by the neuronal simulation community to allow a single script to run on various simulators. The GPU implementation (on NVIDIA GTX-280 with 1 GB of memory) is up to 26 times faster than a CPU version for the simulation of 100K neurons with 50 Million synaptic connections, firing at an average rate of 7 Hz. For simulation of 10 Million synaptic connections and 100K neurons, the GPU SNN model is only 1.5 times slower than real-time. Further, we present a collection of new techniques related to parallelism extraction, mapping of irregular communication, and network representation for effective simulation of SNNs on GPUs. The fidelity of the simulation results was validated on CPU simulations using firing rate, synaptic weight distribution, and inter-spike interval analysis. Our simulator is publicly available to the modeling community so that researchers will have easy access to large-scale SNN simulations.