Releases: brian-team/brian2genn
Brian2GeNN 1.7.0
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 aStateMonitor
(#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
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
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
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
Brian2GeNN 1.3.1
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
Brian2GeNN 1.3
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
Brian2GeNN 1.2
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 tofloat32
. - 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 asdevices.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 thearchive
label. -
Our testing infrastructure now uses Microsoft Azure Pipelines instead of travis and appveyor.
Benchmarking version used for publication
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.