Brian2GeNN: accelerating spiking neural network simulations with graphics hardware

by Marcel Stimberg, Dan F. M. Goodman, Thomas Nowotny
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.
Reference:
Marcel Stimberg, Dan F. M. Goodman, Thomas Nowotny, 2020. Brian2GeNN: accelerating spiking neural network simulations with graphics hardware, Sci Rep, volume 10.
Bibtex Entry:
@article{Stimberg2020,
	title = {Brian2GeNN: accelerating spiking neural network simulations with graphics hardware},
	url = {https://www.nature.com/articles/s41598-019-54957-7.pdf},
	doi = {10.1038/s41598-019-54957-7},
	month = jan,
	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.},
	journal = {Sci Rep},
	volume = {10},
	pages = {410},
	author = {Stimberg, Marcel and Goodman, Dan F. M. and Nowotny, Thomas},
	year = {2020}
}