CARLsim 4: An Open Source Library for Large Scale, Biologically Detailed Spiking Neural Network Simulation using Heterogeneous Clusters

Large-scale spiking neural network (SNN) simulations are challenging to implement, due to the memory and computation required to iteratively process the large set of neural state dynamics and updates. To meet these challenges, we have developed CARLsim 4, a user-friendly SNN library written in C++ that can simulate large biologically detailed neural networks. Improving on the efficiency and scalability of earlier releases, the present release allows for the simulation using multiple GPUs and multiple CPU cores concurrently in a heterogeneous computing cluster. Benchmarking results demonstrate simulation of 8.6 million neurons and 0.48 billion synapses using 4 GPUs and up to 60x speedup for multi-GPU implementations over a single-threaded CPU implementation, making CARLsim 4 wellsuited for large-scale SNN models in the presence of real-time constraints. Additionally, the present release adds new features, such as leaky-integrate-and-fire (LIF), 9-parameter Izhikevich, multi-compartment neuron models, and fourth order Runge Kutta integration.

[1]  Nicholas T. Carnevale,et al.  The NEURON Simulation Environment , 1997, Neural Computation.

[2]  Murray Shanahan,et al.  NeMo: A Platform for Neural Modelling of Spiking Neurons Using GPUs , 2009, 2009 20th IEEE International Conference on Application-specific Systems, Architectures and Processors.

[3]  Shane Legg,et al.  Human-level control through deep reinforcement learning , 2015, Nature.

[4]  Nikil Dutt,et al.  An efficient automated parameter tuning framework for spiking neural networks , 2014, Front. Neurosci..

[5]  J. Butcher The numerical analysis of ordinary differential equations: Runge-Kutta and general linear methods , 1987 .

[6]  István Ulbert,et al.  Supplementary material to : Parvalbumin-containing fast-spiking basket cells generate the field potential oscillations induced by cholinergic receptor activation in the hippocampus , 2010 .

[7]  James M. Bower,et al.  The GENESIS Simulation System , 2003 .

[8]  Wulfram Gerstner,et al.  Phenomenological models of synaptic plasticity based on spike timing , 2008, Biological Cybernetics.

[9]  Trevor Bekolay,et al.  Nengo: a Python tool for building large-scale functional brain models , 2014, Front. Neuroinform..

[10]  James G. King,et al.  Reconstruction and Simulation of Neocortical Microcircuitry , 2015, Cell.

[11]  Nikil D. Dutt,et al.  A configurable simulation environment for the efficient simulation of large-scale spiking neural networks on graphics processors , 2009, Neural Networks.

[12]  G. Turrigiano The Self-Tuning Neuron: Synaptic Scaling of Excitatory Synapses , 2008, Cell.

[13]  Jeffrey L. Krichmar,et al.  An Evolutionary Framework for Replicating Neurophysiological Data with Spiking Neural Networks , 2016, PPSN.

[14]  M. Tsodyks,et al.  Synaptic Theory of Working Memory , 2008, Science.

[15]  Andrew S. Cassidy,et al.  A million spiking-neuron integrated circuit with a scalable communication network and interface , 2014, Science.

[16]  Y. Dan,et al.  Spike Timing-Dependent Plasticity of Neural Circuits , 2004, Neuron.

[17]  Nicholas T. Carnevale,et al.  Simulation of networks of spiking neurons: A review of tools and strategies , 2006, Journal of Computational Neuroscience.

[18]  Romain Brette,et al.  The Brian Simulator , 2009, Front. Neurosci..

[19]  Daniel Durstewitz,et al.  Dopamine modulation , 2008, Scholarpedia.

[20]  Nikil D. Dutt,et al.  CARLsim 3: A user-friendly and highly optimized library for the creation of neurobiologically detailed spiking neural networks , 2015, 2015 International Joint Conference on Neural Networks (IJCNN).

[21]  Nikil D. Dutt,et al.  A GPU-accelerated cortical neural network model for visually guided robot navigation , 2015, Neural Networks.

[22]  Eugene M. Izhikevich,et al.  Polychronization: Computation with Spikes , 2006, Neural Computation.

[23]  Frederick C. Harris,et al.  A novel CPU/GPU simulation environment for large-scale biologically realistic neural modeling , 2013, Front. Neuroinform..

[24]  Eugene M. Izhikevich,et al.  Dynamical Systems in Neuroscience: The Geometry of Excitability and Bursting , 2006 .

[25]  C. Stevens,et al.  Facilitation and depression at single central synapses , 1995, Neuron.

[26]  Klaus Schuch,et al.  PCSIM: A Parallel Simulation Environment for Neural Circuits Fully Integrated with Python , 2008, Frontiers Neuroinformatics.

[27]  A. Hodgkin,et al.  A quantitative description of membrane current and its application to conduction and excitation in nerve , 1990 .

[28]  Eugene M. Izhikevich,et al.  Simple model of spiking neurons , 2003, IEEE Trans. Neural Networks.

[29]  Wolfgang Maass,et al.  On the Computational Power of Noisy Spiking Neurons , 1995, NIPS.

[30]  Nikil D. Dutt,et al.  An Efficient Simulation Environment for Modeling Large-Scale Cortical Processing , 2011, Front. Neuroinform..

[31]  Kunihiko Fukushima,et al.  Neocognitron: A Self-Organizing Neural Network Model for a Mechanism of Visual Pattern Recognition , 1982 .

[32]  Alexander Peyser,et al.  Nest 2.12.0 , 2017 .

[33]  Nicholas T. Carnevale,et al.  Introducing The Neuroscience Gateway , 2013, IWSG.

[34]  Thomas Nowotny,et al.  GeNN: a code generation framework for accelerated brain simulations , 2016, Scientific Reports.