Brian2GeNN: accelerating spiking neural network simulations with graphics hardware

Stimberg, Marcel, Goodman, Dan F M and Nowotny, Thomas (2020) Brian2GeNN: accelerating spiking neural network simulations with graphics hardware. Scientific Reports, 10 (a410). ISSN 2045-2322

[img] PDF - Accepted Version
Restricted to SRO admin only
Available under License Creative Commons Attribution.

Download (510kB)
[img] PDF - Published Version
Available under License Creative Commons Attribution.

Download (2MB)

Abstract

“Brian” is a popular Python-based simulator for spiking neural networks, commonly used in computational neuroscience. GeNN is a C++-based meta-compiler for accelerating spiking neural network simulations using consumer or high performance grade graphics processing units (GPUs). Here we introduce a new software package, Brian2GeNN, that connects the two systems so that users can make use of GeNN GPU acceleration when developing their models in Brian, without requiring any technical knowledge about GPUs, C++ or GeNN. The new Brian2GeNN software uses a pipeline of code generation to translate Brian scripts into C++ code that can be used as input to GeNN, and subsequently can be run on suitable NVIDIA GPU accelerators. From the user’s perspective, the entire pipeline is invoked by adding two simple lines to their Brian scripts. We have shown that using Brian2GeNN, two non-trivial models from the literature can run tens to hundreds of times faster than on CPU.

Item Type: Article
Additional Information: We thank James Knight for assisting us with running benchmarks on the Tesla V100 device and helping with adjustments in GeNN. This work was partially funded by the EPSRC (grants EP/J019690/1, EP/P006094/1) and Horizon 2020 research and innovation program under grant agreement no 785907 (Human Brain Project, SGA2), and the Royal Society (grant RG170298). The Titan Xp and the K40c used for this research were donated by the NVIDIA Corporation. The authors gratefully acknowledge the Gauss Centre for Supercomputing e.V. (www.gauss-centre.eu) for supporting this project by providing computing time through the John von Neumann Institute for Computing (NIC) on the GCS Supercomputer JUWELS at Jülich Supercomputing Centre (JSC) Brian2GeNN is developed publicly on github (https://github.com/brian-team/brian2genn). The scripts and raw results of the benchmark runs are available at https://github.com/brian-team/brian2genn_benchmarks. The authors declare that they have no competing interests with respect to this work and the funders have not played any role in its design or interpretation.
Schools and Departments: School of Engineering and Informatics > Informatics
Research Centres and Groups: Centre for Computational Neuroscience and Robotics
Depositing User: Lucy Arnold
Date Deposited: 04 Dec 2019 08:24
Last Modified: 16 Jan 2020 09:00
URI: http://sro.sussex.ac.uk/id/eprint/88380

View download statistics for this item

📧 Request an update
Project NameSussex Project NumberFunderFunder Ref
Green brainG0924EPSRC-ENGINEERING & PHYSICAL SCIENCES RESEARCH COUNCILEP/J019690/1
Brains on Board: Neuromorphic Control of Flying RobotsG1980EPSRC-ENGINEERING & PHYSICAL SCIENCES RESEARCH COUNCILEP/P006094/1
Human Brain Project Specific Grant Agreement 2 � HBP SGA2G2410EUROPEAN UNION785907