News

GSoC 2020: work on Brian during the summer

The INCF is again applying to be a mentor organization in Google's Summer of Code program, a "a global program focused on bringing more student developers into open source software development". Changes are quite high that it will be selected, since its participation in the last years was very successful. If this is the case, there will be an opportunity to work on the Brian simulator, please see the list of proposed projects (Brian projects are number 8 and 9). Feel free to ask questions or discuss the project on the Neurostars forum (find all projects in the GSoC category). It is not mandatory to work on one of the proposed projects, though, please contact marcel.stimberg@inserm.fr if you have an idea of your own.

Brian2GeNN paper published: accelerate Brian simulations with GPUs

Our paper on brian2genn was published today. It automatically translates Brian models into a format that can be read by the GPU-enhanced neural network simulator (GeNN) to allow it to run on GPU. Some simulations were 400x faster on GPU compared to a single CPU.

Stimberg M, Goodman DFM, Nowotny T (2020)
Brian2GeNN: a system for accelerating a large variety of spiking neural networks with graphics hardware
Scientific Reports 10, 410. doi: 10.1038/s41598-019-54957-7

New release: Brian 2.3

Happy New Year to all Brian users 🎉! We are happy to announce a new release, Brian 2.3. This release fixes a number of bugs and introduces some new features. It also paves the way for the transition from Python 2 to Python 3 – given that Python 2 is now no longer officially supported, Brian 2.3 will be the last release to support Python 2. For a full list of changes, see the release notes. We recommend all users of Brian 2 to update.

Brian 2 can be installed with Anaconda from the conda-forge channel (packages are provided for Python 2.7, 3.6, 3.7, 3.8), or with pip from the pypi repository.

As always, please report bugs or suggestions to the github bug tracker or to the brian-development mailing list (brian-development@googlegroups.com).

Paper on Brian 2 published in eLife

We are happy to report that our paper "Brian 2, an intuitive and efficient neural simulator" has been accepted for publication in eLife: https://elifesciences.org/articles/47314

In this paper, we describe a number of examples that showcase various features of Brian 2, ranging from non-standard neuronal/synaptic models to interacting with hardware in real time via C++ code. All the code to run these examples is openly available in a github repository.
The examples are provided as interactive jupyter notebooks, and can be tried out without a local installation of Brian by running them on the binder infrastructure.

Brian 2.2

We are happy to announce the release of Brian 2.2. This release includes a number of important fixes and performance improvements. It also makes sure that simulation no longer give platform-dependent results for certain corner cases that involve the division of integers. For a full list of changes, see the release notes. We recommend all users of Brian 2 to update.

Brian 2 can be installed with Anaconda from the conda-forge channel, or with pip from the pypi repository.

Detailed installation instructions: http://brian2.readthedocs.io/en/2.2/introduction/install.html

As always, please report bugs or suggestions to the github bug tracker (https://github.com/brian-team/brian2/issues) or to the brian-development mailing list (brian-development@googlegroups.com).

Brian 2.1.3

We are happy to announce the release of Brian 2.1.3. This release includes a number of important fixes and performance improvements. For a full list of changes, see the release notes. We recommend all users of Brian 2 to update.

From this release on, conda packages will be provided via the conda-forge channel. For a limited time, we will additionally copy over packages to the brian-team channel, but this channel should now be considered deprecated.

How to get Brian 2: http://brian2.readthedocs.io/en/2.1.3.1/introduction/install.html

As always, please report bugs or suggestions to the github bug tracker (https://github.com/brian-team/brian2/issues) or to the brian-development mailing list (brian-development@googlegroups.com).

Brian 2.1.2 and Brian2GeNN 1.1.5

We have released new bug fix releases for Brian 2 (version 2.1.2) and Brian2GeNN (version 1.1.5).

The new Brian 2 release fixes two bugs:

  1. an incorrect application of the substitution mechanism in equations (i.e. when using the same set of equations several times and changing the equations' variable names via Brian's Equation class), and
  2. an inadvertent deactivation of parts of the new caching mechanism which resulted in a major reduction of its performance improvement.
The Brian2GeNN release adds a workaround for a bug in some version of the glibc library on Linux which can potentially lead to drastically reduced performance. This is the same workaround that had already been applied to Brian 2's C++ standalone mode with an earlier release.

How to get Brian 2: http://brian2.readthedocs.io/en/2.1.2/introduction/install.html

How to get Brian2GeNN: http://brian2genn.readthedocs.io/en/latest/introduction/index.html

As always, please report bugs or suggestions to the github bug tracker (https://github.com/brian-team/brian2/issues) or to the brian-development mailing list (brian-development@googlegroups.com).

Brian 2.1 and Brian2GeNN 1.1

We are happy to announce the release of Brian 2.1. This release includes a number of fixes and small improvements, and two new major features: support for numerical integration with adaptive-timestep methods based on the GNU Scientific Library, and caching of code generation leading to faster simulation setup times, in particular for multiple runs of the same model. For an extensive list of changes, see the release notes. We recommend all users of Brian 2 to update.

We also release a new version 1.1. of Brian2GeNN, Brian's interface to the GPU-enhanced Neuronal Network simulation environment (GeNN). This release does not contain any major new features except for bug and compatibility fixes, but an update is required for all users that update to Brian 2.1.

How to get Brian 2: follow the installation instructions in the documentation

Further information about Brian2: http://brian2.readthedocs.org

As always, please report bugs or suggestions to the github bug tracker or to the brian-development mailing list (brian-development@googlegroups.com).

Brian2GeNN 1.0

We are proud to announce the release of Brian2GeNN, the Brian 2 interface to the GPU-enhanced Neuronal Network (GeNN) simulator. With this interface, a Brian 2 script (as long as it only uses supported features) can benefit from the potential performance benefits of a GPU by adding just two lines to the start of the script: import brian2genn set_device('genn')

Brian2GeNN can be installed from the same Anaconda repository channel as Brian itself:

conda install -c brian-team brian2genn

This installation method will also include the GeNN simulator, while an installation from PyPI (via pip install brian2genn) will require a manual installation of GeNN. See the documentation (http://brian2genn.readthedocs.io) for more details.

Note that in all cases, users need a CUDA-capable NVIDIA GPU and a manual installation of the CUDA SDK.

The actual performance benefits of using a GPU to run the simulation depend strongly on the details of the model but can be significant. With the Brian2GeNN package, we hope to make it as easy as possible for users to try it out for themselves.

In case you run into problems with the installation of the package or with its use, please contact us at brian-development@googlegroups.com or open an issue on the Brian2GeNN bug tracker.