Skip to content

Releases: brian-team/brian2genn

Brian2GeNN 1.7.0

28 Jul 13:15
Compare
Choose a tag to compare

We are happy to announce Brian2GeNN 1.7.0, a new release of the Brian2 interface to the GeNN simulator. This release fixes compatibility with the latest Brian 2.5.x releases – note that it no longer works with older versions of Brian 2. The release also includes a number of bug fixes and improvements:

  • Fix custom headers not being available for insert_code calls (#131, #132), thanks to @denisalevi for the bug report and fix
  • Fix the output of dt so very small values don't look like 0, thanks to @tnowotny for the fix
  • Fix recording from Synapses with a StateMonitor (#136, #138). Thanks to @kernfel for the bug report and to @tnowotny for the fix
  • Support monitors with slower clocks (#139, #140). Thanks to @kernfel for the feature
  • Fix repeated runs (#141). Thanks to @kernfel for the report and the fix, and @neworderofjamie for the related fix on the GeNN side (genn-team/genn#495)
  • Improve performance (data transfer between host and device) for monitors running on slower clocks (#143). Thanks to @kernfel for this contribution
  • Fix data transfer between host and device for run_regularly operations (#135, #147). Thanks to @jesusgf96 for reporting the issue. Fix by @mstimberg
  • Support profiling (timing GeNN's kernel) with profiling_summary (#134). Thanks to @denisalevi for contributing this feature.

Brian2GeNN 1.6

13 Jan 15:28
Compare
Choose a tag to compare

We are happy to announce Brian2GeNN 1.6, a new release of the Brian2 interface to the GeNN simulator. This release fixes compatibility with the latest Brian 2.4.2 release – note that it no longer works with older versions of Brian 2. The release also includes a number of bug fixes:

  • Fix PoissonInput to provide random instead of constant values (thanks to @kernfel for the fix)
  • Fix an issue with repeated runs of the same model (thanks to @TheSalocin for reporting the issue)
  • Fix an issue with external constants referenced in a summed variable expression (thanks to @aiwenxu for reporting the issue)
  • Fix a bug with shared variables in run_regularly statements (thanks to @kernfel for the fix)

Brian2GeNN 1.5

29 Apr 12:59
Compare
Choose a tag to compare

We are happy to announce Brian2GeNN 1.5, a new release of the Brian2 interface to the GeNN simulator. This release adds support for GeNN 4, a major refactoring of the GeNN simulator that is more robust and powerful, in particular for large networks with sparse connectivity. A number of new preferences allows the user to tweak GeNN's simulation strategy in more detail and make use of recently introduced features to increase its performance.

Note that this release is no longer compatible with older Brian 2 (<2.3.0.2) or GeNN (<4.2.1) releases.

Brian2GeNN 1.4

09 Apr 10:29
Compare
Choose a tag to compare

We are happy to announce the release of Brian2GeNN 1.4, a new release of the Brian 2 interface with the GeNN simulator. This bug fix release fixes remaining compatibility issues with the latest versions of Brian (version 2.3). It also adds support for summed variables, a major Brian 2 feature necessary to support continuous interactions between neurons (non-linear synapses, gap junctions, ...), and generalizes the support for run_regularly operations.

Bug fixes and improvements

  • Adapt to changes in 2.3 with respect to random number functions (#94)
  • Add support for summed variables (#87 and #94)
  • Generalize support for run_regularly operations (#97)
  • Natively support Python 2 and Python 3 instead of relying on 2to3.py translation (#100, contributed by James Knight)

Brian2GeNN 1.3.1

12 Apr 12:53
Compare
Choose a tag to compare

We are happy to announce the release of Brian2GeNN 1.3.1, a new release of the Brian 2 interface with the GeNN simulator. This bug fix release fixes remaining compatibility issues with the latest versions of Brian. Note that it should no longer be used with older versions, i.e. Brian 2 version < 2.2.2.1.

Bug fixes and improvements

  • Fix Brian2GeNN's SpikeGeneratorGroup implementation to work with Brian 2.2.2.1 (#85)
  • Revert the use of integer time steps in run_regularly operations (#83), which was not compatible with GeNN's GPU mode.

Brian2GeNN 1.3

10 Apr 15:19
Compare
Choose a tag to compare

We are happy to announce the release of Brian2GeNN 1.3, a new release of the Brian 2 interface with the GeNN simulator. This release fixes compatibility issues with the latest versions of Brian and now uses the GeNN 3.x syntax for model descriptions.

Bug fixes and improvements

  • Avoid an unexpected keyword argument 'compiler_kwds' error with the latest version of Brian 2
  • Use GeNN 3.x syntax for model descriptions (#82)
  • Use GeNN's integer time step directly (instead of calculating it from the floating point time) for run_regularly operations (#83)

Brian2GeNN 1.2

28 Nov 16:27
Compare
Choose a tag to compare

We are happy to announce the release of Brian2GeNN 1.2, a new release of the Brian 2 interface with the GeNN simulator. This release fixes compatibility issues with the latest versions of Brian and GeNN, and adds support for single precision floating point numbers. Using single precision instead of the default double precision can lead to significantly increased performance, especially on consumer-oriented GPUs.

Note: We no longer provide conda packages for Brian2GeNN, please install it via pip (pip install brian2genn), install GeNN and set GENN_PATH. Please see the installation instructions for details.

See below for a list of the most important changes.

New features

  • Support for single precision floating point numbers. Switching to single precision is done by setting Brian's core.default_float_dtype preference to float32.
  • Some GeNN features have been exposed to Brian2GeNN as preferences, e.g. the parallelization strategy for synapses can be set via the devices.genn.synapse_span_type preference, and the CUDA block size for the different kernels via preferences such as devices.genn.neuron_blocksize. For a full list of preferences, see the documentation.
  • More "code slots" are available to add custom C++ code to the simulation (see the insert_code documentation for details).
  • GeNN's internal profiling routines can be activated via Brian2GeNN's devices.genn.kernel_timing preference.

Bug fixes

  • Network objects are now supported (#66). Thanks to Yuancheng Xu for reporting this error.
  • Fixed outdated documentation (#76, #75). Thanks to Justas Birgiolas for reporting these issues.

Infrastructure/packaging changes

  • Packaging: Brian2GeNN is no longer packaged as a conda package, because the bundled pre-compiled GeNN libraries were not always working correctly. Please install Brian2GeNN from source via pip (pip install brian2genn) and follow GeNN's installation instructions to install GeNN. Old versions of the Brian2GeNN conda packages have been moved to the archive label.

  • Our testing infrastructure now uses Microsoft Azure Pipelines instead of travis and appveyor.

Benchmarking version used for publication

24 Jan 17:09
Compare
Choose a tag to compare

This is the version that was used for creating benchmark runs in an upcoming paper on brian2genn. It does not yet contain the solution for the glibc bug and for the upcoming paper, the environment variable "LD_BIND_NOW" was set by hand before any benchmark runs were performed.
This release is for reference only, please use the most recent release of the master branch for your research.