brian2cuda

A brian2 extension to simulate spiking neural networks on GPUs

https://github.com/brian-team/brian2cuda

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: frontiersin.org
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

biological-simulations brian brian2 code-generation computational-neuroscience differential-equations gpu gpu-acceleration neuroscience python science simulation simulation-framework spiking-neural-networks
Last synced: 4 months ago · JSON representation ·

Repository

A brian2 extension to simulate spiking neural networks on GPUs

Basic Info
Statistics
  • Stars: 64
  • Watchers: 8
  • Forks: 13
  • Open Issues: 130
  • Releases: 0
Topics
biological-simulations brian brian2 code-generation computational-neuroscience differential-equations gpu gpu-acceleration neuroscience python science simulation simulation-framework spiking-neural-networks
Created about 10 years ago · Last pushed 12 months ago
Metadata Files
Readme License Code of conduct Citation

README.md

Brian2CUDA

Brian2CUDA is an extension of the spiking neural network simulator Brian2, written in Python. It generates C++/CUDA code to run simulations on NVIDIA GPUs.

For support, please use the Brian forum. If you think you found a bug in Brian2CUDA, please report it at the GitHub issue tracker.

For installation and usage instructions, check out the Brian2CUDA documentation. For information on general Brian2 usage, check out the Brian2 documentation.

Quick start

Installation

You can install Brian2CUDA via pip:

bash python -m pip install brian2cuda

This will install a compatible version of Brian2 as dependency. For installation requirements and GPU configuration, check out the Brian2CUDA documentation.

Usage

Use your Brian2 code (see Brian2 documentation) and modify the imports to:

```python

Standard Brian2 import

from brian2 import *

Enable GPU usage via Brian2CUDA

import brian2cuda setdevice("cudastandalone") ```

See Brian2's standalone code generation for more options for the set_device call.

Citation

If you use this software in a published article, please cite our Brian2CUDA publication:

Alevi, D, Stimberg, M, Sprekeler, H, Obermayer, K, Augustin, M. Brian2CUDA: flexible and efficient simulation of spiking neural network models on GPUs Frontiers in Neuroinformatics (2022). doi: 10.3389/fninf.2022.883700.

License

Brian2CUDA is free software licensed under the GNU General Public License v3 (GPLv3).

Testing

To run the test suite on Google Collab (no installation or GPU required), click on the badge below:

Open In Collab

Owner

  • Name: Brian simulator
  • Login: brian-team
  • Kind: organization
  • Location: Paris, France

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Brian2CUDA
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Denis
    family-names: Alevi
    email: denis.alevi@bccn-berlin.de
    affiliation: TU Berlin/BCCN Berlin
    orcid: 'https://orcid.org/0000-0001-8514-7199'
  - given-names: Moritz
    family-names: Augustin
    affiliation: TU Berlin/BCCN Berlin
    orcid: 'https://orcid.org/0000-0003-0996-671X'
  - given-names: Marcel
    family-names: Stimberg
    email: marcel.stimberg@inserm.fr
    affiliation: >-
      Sorbonne Université/INSERM/CNRS/Institut de la
      Vision
    orcid: 'https://orcid.org/0000-0002-2648-4790'
identifiers:
  - type: doi
    value: 10.5281/zenodo.6244867
    description: Latest version archived on Zenodo
preferred-citation:
  authors:
  - given-names: Denis
    family-names: Alevi
    email: denis.alevi@bccn-berlin.de
    affiliation: TU Berlin/BCCN Berlin
    orcid: 'https://orcid.org/0000-0001-8514-7199'
  - given-names: Marcel
    family-names: Stimberg
    email: marcel.stimberg@inserm.fr
    affiliation: >-
      Sorbonne Université/INSERM/CNRS/Institut de la
      Vision
    orcid: 'https://orcid.org/0000-0002-2648-4790'
  - given-names: Henning
    family-names: Sprekeler
    affiliation: TU Berlin/BCCN Berlin
    orcid:  https://orcid.org/0000-0003-0690-3553
  - given-names: Klaus
    family-names: Obermayer
    affiliation: TU Berlin/BCCN Berlin
    orcid:  https://orcid.org/0000-0002-0471-8170
  - given-names: Moritz
    family-names: Augustin
    affiliation: TU Berlin/BCCN Berlin
    orcid: 'https://orcid.org/0000-0003-0996-671X'
  title: "Brian2CUDA: flexible and efficient simulation
of spiking neural network models on GPUs"
  type: article
  journal: "Frontiers in Neuroinformatics"
  doi: 10.3389/fninf.2022.883700
  year: 2022
repository-code: 'https://github.com/brian-team/brian2cuda'
repository-artifact: 'https://pypi.org/project/Brian2CUDA'
license: GPL-3.0

GitHub Events

Total
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 1
  • Push event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 1
  • Push event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,160
  • Total Committers: 6
  • Avg Commits per committer: 193.333
  • Development Distribution Score (DDS): 0.104
Past Year
  • Commits: 9
  • Committers: 1
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Denis Alevi m****l@d****e 1,039
Marcel Stimberg m****g@i****r 79
Moritz Augustin a****n@n****e 22
Sudeshna Bora s****1@g****m 10
Konrad Wartke k****e@g****m 9
Moritz Augustin m****z@x****x 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 74
  • Total pull requests: 35
  • Average time to close issues: about 2 years
  • Average time to close pull requests: 22 days
  • Total issue authors: 9
  • Total pull request authors: 4
  • Average comments per issue: 1.91
  • Average comments per pull request: 0.97
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: 3 days
  • Average time to close pull requests: 2 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • denisalevi (61)
  • moritzaugustin (4)
  • slyyyle (2)
  • davideschiavone (2)
  • emirhanbilgic (1)
  • bdevans (1)
  • NikVard (1)
  • mstimberg (1)
  • LiYuan-0709 (1)
Pull Request Authors
  • denisalevi (25)
  • mstimberg (9)
  • SudeshnaBora (3)
  • gitter-badger (1)
Top Labels
Issue Labels
optimisation (21) bug (15) usability (8) component: synapses (7) easy (7) question (6) cleanup (5) documentation (5) low priority (3) high priority (2) Epic (1) enhancement (1) major feature (1) help wanted (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 109 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 7
  • Total maintainers: 1
pypi.org: brian2cuda

A Brian2 extension to simulate spiking neural networks on GPUs

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 109 Last month
Rankings
Dependent packages count: 6.6%
Stargazers count: 9.6%
Forks count: 10.7%
Average: 16.6%
Downloads: 25.5%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/publish_to_pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • brian2 ==2.5.4