GeNN: a code generation framework for accelerated brain simulations

Large-scale numerical simulations of detailed brain circuit models are important for identifying hypotheses on brain functions and testing their consistency and plausibility. An ongoing challenge for simulating realistic models is, however, computational speed. In this paper, we present the GeNN (GPU-enhanced Neuronal Networks) framework, which aims to facilitate the use of graphics accelerators for computational models of large-scale neuronal networks to address this challenge. GeNN is an open source library that generates code to accelerate the execution of network simulations on NVIDIA GPUs, through a flexible and extensible interface, which does not require in-depth technical knowledge from the users. We present performance benchmarks showing that 200-fold speedup compared to a single core of a CPU can be achieved for a network of one million conductance based Hodgkin-Huxley neurons but that for other models the speedup can differ. GeNN is available for Linux, Mac OS X and Windows platforms. The source code, user manual, tutorials, Wiki, in-depth example projects and all other related information can be found on the project website http://genn-team.github.io/genn/.

[1]  Yong Liu,et al.  A 45nm CMOS neuromorphic chip with a scalable architecture for learning in networks of spiking neurons , 2011, 2011 IEEE Custom Integrated Circuits Conference (CICC).

[2]  Dan F. M. Goodman Code Generation: A Strategy for Neural Network Simulators , 2010, Neuroinformatics.

[3]  Romain Brette,et al.  Simulating spiking neural networks on GPU , 2012, Network.

[4]  Wulfram Gerstner,et al.  Limits to high-speed simulations of spiking neural networks using general-purpose computers , 2014, Front. Neuroinform..

[5]  James A. R. Marshall,et al.  The Green Brain Project - Developing a Neuromimetic Robotic Honeybee , 2013, Living Machines.

[6]  Bertrand Fontaine,et al.  Fitting Neuron Models to Spike Trains , 2011, Front. Neurosci..

[7]  Gert Goossens,et al.  Code Generation for Embedded Processors , 1995 .

[8]  Johannes Schemmel,et al.  A wafer-scale neuromorphic hardware system for large-scale neural modeling , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[9]  Stanley C. Eisenstat,et al.  Yale sparse matrix package I: The symmetric codes , 1982 .

[10]  Morris A. Swertz,et al.  Beyond standardization: dynamic software infrastructures for systems biology , 2007, Nature Reviews Genetics.

[11]  Paul Richmond,et al.  The SpineML toolchain: enabling computational neuroscience through flexible tools for creating, sharing, and simulating neural models , 2014, BMC Neuroscience.

[12]  Frederick C. Harris,et al.  A Novel Multi-GPU Neural Simulator , 2011, BICoB.

[13]  R. Traub,et al.  Neuronal Networks of the Hippocampus , 1991 .

[14]  Fred H Hamker,et al.  Comparison of GPU- and CPU-implementations of mean-firing rate neural networks on parallel hardware , 2012, Network.

[15]  D. Koshland Frontiers in neuroscience. , 1988, Science.

[16]  Luis A. Plana,et al.  SpiNNaker: Mapping neural networks onto a massively-parallel chip multiprocessor , 2008, 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence).

[17]  Nikolai F Rulkov,et al.  Modeling of spiking-bursting neural behavior using two-dimensional map. , 2002, Physical review. E, Statistical, nonlinear, and soft matter physics.

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

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

[20]  Nathan Bell,et al.  Thrust: A Productivity-Oriented Library for CUDA , 2012 .

[21]  Michael L. Hines,et al.  NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail , 2010, PLoS Comput. Biol..

[22]  Thomas Nowotny,et al.  Bio-mimetic classification on modern parallel hardware: Realizations in NVidia CUDA and OpenMP , 2011 .

[23]  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.

[24]  Pierre Yger,et al.  PyNN: A Common Interface for Neuronal Network Simulators , 2008, Front. Neuroinform..

[25]  Robert Clewley,et al.  NineML: the network interchange for neuroscience modeling language , 2011, BMC Neuroscience.

[26]  Kevin Gurney,et al.  SpineML and Brian 2.0 interfaces for using GPU enhanced Neuronal Networks (GeNN) , 2014, BMC Neuroscience.

[27]  Vivek K. Pallipuram,et al.  A comparative study of GPU programming models and architectures using neural networks , 2011, The Journal of Supercomputing.

[28]  E. D’Angelo The human brain project. , 2012, Functional neurology.

[29]  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.

[30]  Eduardo Ros,et al.  Event-Driven Simulation Scheme for Spiking Neural Networks Using Lookup Tables to Characterize Neuronal Dynamics , 2006, Neural Computation.

[31]  Michael E. Hasselmo,et al.  Review of Bower and Beeman: The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System , 1995 .

[32]  Julien Vitay,et al.  ANNarchy: a code generation approach to neural simulations on parallel hardware , 2015, Front. Neuroinform..

[33]  Eugene M. Izhikevich,et al.  Which model to use for cortical spiking neurons? , 2004, IEEE Transactions on Neural Networks.

[34]  Tomaso Poggio,et al.  CNS: a GPU-based framework for simulating cortically-organized networks , 2010 .

[35]  Diego Fasoli,et al.  Three Applications of GPU Computing in Neuroscience , 2012, Computing in Science & Engineering.

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

[37]  Wen-mei W. Hwu,et al.  GPU Computing Gems Jade Edition , 2011 .

[38]  James M. Bower,et al.  The Book of GENESIS , 1994, Springer New York.

[39]  Ramón Huerta,et al.  Self-organization in the olfactory system: one shot odor recognition in insects , 2005, Biological Cybernetics.