title: A configurable simulation environment for the efficient simulation of large-scale spiking neural networks on graphics processors.
abstract: 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.
authors.affiliation: Department of Computer Science, University of California Irvine, Irvine, CA 92697-3435, United States. jmoorkan@uci.edu
authors.forename: Jayram Moorkanikara
authors.initials: JM
authors.lastname: Nageswaran
authors.forename: Nikil
authors.initials: N
authors.lastname: Dutt
authors.forename: Jeffrey L
authors.initials: JL
authors.lastname: Krichmar
authors.forename: Alex
authors.initials: A
authors.lastname: Nicolau
authors.forename: Alexander V
authors.initials: AV
authors.lastname: Veidenbaum
mesh_terms: D000200:Action Potentials; D001369:Axons / Q000502:physiology; D003198:Computer Simulation; D008564:Membrane Potentials; D016571:Neural Networks, Computer; D009473:Neuronal Plasticity / Q000502:physiology; D009474:Neurons / Q000502:physiology*; D012984:Software; D013569:Synapses / Q000502:physiology; D013997:Time Factors