Abstract

In recent years, scientists and researchers have paid special attention to the implementation of Spiking Neural Networks (SNN), for approaching simulations of the human brain mechanisms, or to solve practical problems, such as epilepsy and seizure detection [1]. Nevertheless, large-scale SNN simulations are expensive from the computational point of view. These models quite often require the usage of parallel computing implementations on several devices[2], such as FPGAs [3], supercomputers [4], and recently on GPUs. Particularly on these last class of devices, a variety of techniques have been posed, like OpenGL pixel shade rendering [5], as well OpenCL and CUDA C/C++ [1], [6]. In this paper, we introduce a configurable large-scale fully parallel implementation that could well model a wide range of SNN using NVIDIA's GPU Common unified device architecture. Because of the achieved scalability, and flexibility in the definition of synaptic connections and neuron population, we show that our implementation shall be easily adapted as a back-end system for a wide variety of purposes. To examine some advantages of this implementation, we pose a comparative between Izhikevich's serialized program and our implementation using a large amount of neurons and synaptic connections. Also, as an additional experimental data, we report execution times, generated spikes and firing rates in a huge amount of neurons and a comparative between different neuron-synapse relations. We also achieved the simulation of 3.8×10 <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">6</sup> synaptic connections in real time (which is 1,000 time steps, one millisecond each, executed in one second). Finally, we demonstrated the increased performance on different hardware environments.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call