Cargando…

Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs

Graphics processing units (GPUs) are widely available and have been used with great success to accelerate scientific computing in the last decade. These advances, however, are often not available to researchers interested in simulating spiking neural networks, but lacking the technical knowledge to...

Descripción completa

Detalles Bibliográficos
Autores principales: Alevi, Denis, Stimberg, Marcel, Sprekeler, Henning, Obermayer, Klaus, Augustin, Moritz
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Frontiers Media S.A. 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9660315/
https://www.ncbi.nlm.nih.gov/pubmed/36387586
http://dx.doi.org/10.3389/fninf.2022.883700
_version_ 1784830391088054272
author Alevi, Denis
Stimberg, Marcel
Sprekeler, Henning
Obermayer, Klaus
Augustin, Moritz
author_facet Alevi, Denis
Stimberg, Marcel
Sprekeler, Henning
Obermayer, Klaus
Augustin, Moritz
author_sort Alevi, Denis
collection PubMed
description Graphics processing units (GPUs) are widely available and have been used with great success to accelerate scientific computing in the last decade. These advances, however, are often not available to researchers interested in simulating spiking neural networks, but lacking the technical knowledge to write the necessary low-level code. Writing low-level code is not necessary when using the popular Brian simulator, which provides a framework to generate efficient CPU code from high-level model definitions in Python. Here, we present Brian2CUDA, an open-source software that extends the Brian simulator with a GPU backend. Our implementation generates efficient code for the numerical integration of neuronal states and for the propagation of synaptic events on GPUs, making use of their massively parallel arithmetic capabilities. We benchmark the performance improvements of our software for several model types and find that it can accelerate simulations by up to three orders of magnitude compared to Brian's CPU backend. Currently, Brian2CUDA is the only package that supports Brian's full feature set on GPUs, including arbitrary neuron and synapse models, plasticity rules, and heterogeneous delays. When comparing its performance with Brian2GeNN, another GPU-based backend for the Brian simulator with fewer features, we find that Brian2CUDA gives comparable speedups, while being typically slower for small and faster for large networks. By combining the flexibility of the Brian simulator with the simulation speed of GPUs, Brian2CUDA enables researchers to efficiently simulate spiking neural networks with minimal effort and thereby makes the advancements of GPU computing available to a larger audience of neuroscientists.
format Online
Article
Text
id pubmed-9660315
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher Frontiers Media S.A.
record_format MEDLINE/PubMed
spelling pubmed-96603152022-11-15 Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs Alevi, Denis Stimberg, Marcel Sprekeler, Henning Obermayer, Klaus Augustin, Moritz Front Neuroinform Neuroscience Graphics processing units (GPUs) are widely available and have been used with great success to accelerate scientific computing in the last decade. These advances, however, are often not available to researchers interested in simulating spiking neural networks, but lacking the technical knowledge to write the necessary low-level code. Writing low-level code is not necessary when using the popular Brian simulator, which provides a framework to generate efficient CPU code from high-level model definitions in Python. Here, we present Brian2CUDA, an open-source software that extends the Brian simulator with a GPU backend. Our implementation generates efficient code for the numerical integration of neuronal states and for the propagation of synaptic events on GPUs, making use of their massively parallel arithmetic capabilities. We benchmark the performance improvements of our software for several model types and find that it can accelerate simulations by up to three orders of magnitude compared to Brian's CPU backend. Currently, Brian2CUDA is the only package that supports Brian's full feature set on GPUs, including arbitrary neuron and synapse models, plasticity rules, and heterogeneous delays. When comparing its performance with Brian2GeNN, another GPU-based backend for the Brian simulator with fewer features, we find that Brian2CUDA gives comparable speedups, while being typically slower for small and faster for large networks. By combining the flexibility of the Brian simulator with the simulation speed of GPUs, Brian2CUDA enables researchers to efficiently simulate spiking neural networks with minimal effort and thereby makes the advancements of GPU computing available to a larger audience of neuroscientists. Frontiers Media S.A. 2022-10-31 /pmc/articles/PMC9660315/ /pubmed/36387586 http://dx.doi.org/10.3389/fninf.2022.883700 Text en Copyright © 2022 Alevi, Stimberg, Sprekeler, Obermayer and Augustin. https://creativecommons.org/licenses/by/4.0/This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
spellingShingle Neuroscience
Alevi, Denis
Stimberg, Marcel
Sprekeler, Henning
Obermayer, Klaus
Augustin, Moritz
Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs
title Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs
title_full Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs
title_fullStr Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs
title_full_unstemmed Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs
title_short Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs
title_sort brian2cuda: flexible and efficient simulation of spiking neural network models on gpus
topic Neuroscience
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9660315/
https://www.ncbi.nlm.nih.gov/pubmed/36387586
http://dx.doi.org/10.3389/fninf.2022.883700
work_keys_str_mv AT alevidenis brian2cudaflexibleandefficientsimulationofspikingneuralnetworkmodelsongpus
AT stimbergmarcel brian2cudaflexibleandefficientsimulationofspikingneuralnetworkmodelsongpus
AT sprekelerhenning brian2cudaflexibleandefficientsimulationofspikingneuralnetworkmodelsongpus
AT obermayerklaus brian2cudaflexibleandefficientsimulationofspikingneuralnetworkmodelsongpus
AT augustinmoritz brian2cudaflexibleandefficientsimulationofspikingneuralnetworkmodelsongpus