GPGPU implementation of a synaptically optimized, anatomically accurate spiking network simulator

Simulation of biological spiking networks is becoming more relevant in understanding neuronal processes. An increasing proportion of these simulations focuses on large scale modeling efforts. Unfortunately the size of large networks is often limited by both computational power and memory. Computational power constrains both the maximum number of differential equations and the maximum number of spikes that can be processed per unit time. Memory size limits the maximum number of neurons and synapses that can be simulated. To solve for the computational bottleneck, a neuronal simulator is implemented on a CUDA-based General Purpose Graphic Processing Unit (GPGPU). CUDA provides a C-like environment to harness the computational power of specialized video cards from NVIDIA (these cards provide a computational peak power on single precision floats of 1TFLOPS, at least an order of magnitude higher than the fastest CPU). To solve for the memory bottleneck, a just-in-time synapse storing algorithm is implemented requiring only 4 bytes per synapse. Only the synaptic weight is stored, while both post-synaptic contact and delay are recomputed at run-time. This allows a resource shift from memory to computation which fits with the peculiar GPGPU architecture, where an abundance of compute nodes access the memory via a bandwidth-limited bus. Neurons are represented by a single compartment whose activity is modeled by the Izhikevich formalism. Excitatory synapses are plastic and follow both a spike-timing-dependent plasticity rule and a short term potentiation/depression rule. We are able to simulate networks with up to a million neurons and up to 100 million synapses on a single GPGPU card. Networks of this size cannot be simulated on desktop computers. For smaller networks the speedup obtained is at least of an order of magnitude compared to traditional CPU platform. As an example of possible use of the present work we present preliminary results on the simulation of early stage of the visual pathway. In the retina, Retinal Ganglion Cells (RGC) project to the Lateral Geniculate Nucleus (LGN). LGN projects to the cortical area V1. V1 projects back to LGN. The network is represented by 100,000 neurons, 10 million synapses, and 32 different morphological classes with >350 topological projections. Input to the network is provided by current injection in the RGC layer. The RGC layer models midget and parasol ganglion cells (representing 80% of the RGC in primates). Each ganglion type is then subdivided into on- and off-center cells for a total of 4 different types of RGC. Training is performed via natural stimuli while testing is done with vertical and horizontal bars. The network average spiking frequency is within biological limits. Testing performed with both vertical and horizontal bars shows each pattern propagating along the network’s anatomical projections. At each stage the pattern is progressively elaborated and modified. In conclusion we present a novel simulator that is fast, synaptically optimized and anatomically accurate. At an additional cost to an available desktop PC of few hundred dollars we think the GPGPU is an ideal platform to simulate large spiking networks.