GeNN 4.6.0
neworderofjamie
released this
02 Nov 13:27
·
2373 commits
to master
since this release
Release Notes for GeNN v4.6.0
This release adds a number of significant new features to GeNN as well as several usability improvements for PyGeNN.
It also includes a number of bug fixes that have been identified since the 4.5.1 release.
User Side Changes
- As well as performing arbitrary updates and calculating transposes of weight update model variables, custom updates can now be used to implement 'reductions' so, for example, duplicated variables can be summed across model batches (#447, #449).
- Previously, to connect a synapse group to a postsynaptic neuron's additional input variable, a custom postsynaptic model had to be used.
SynapseGroup::setPSTargetVar
andpygenn.SynapseGroup.ps_target_var
can now be used to set the target variable of any synapse group (#458). - Previously, weight update model pre and postsynaptic updates and variables got duplicated in the neuron kernel. This was very inefficient and these can now be 'fused' together by setting
ModelSpec::setFusePrePostWeightUpdateModels
(#461). - PyGeNN now shares a version with GeNN itself and this will be accessible via
pygenn.__version__
(#472). - The names of populations and variables are now validated to prevent code with invalid variable names being generated (#443,#448).
- As well as being able to read the current spikes via the pygenn.NeuronGroup.current_spikes property, they can now also be set (#445).
- Spike-like events were previously not exposed to PyGeNN. These can now be pushed and pulled via
pygenn.NeuronGroup.pull_spike_events_from_device
,pygenn.NeuronGroup.push_spike_events_to_device
,pygenn.NeuronGroup.pull_current_spike_events_from_device
andpygenn.NeuronGroup.push_current_spike_events_to_device
; and accessed viapygenn.NeuronGroup.current_spike_events
(#469). - Added additional error handling to prevent properties of
pygenn.GeNNModel
that can only be set before the model was built being set afterwards (#464). - Variable references can now reference custom update variables (#446).
- Updated the default parameters used in the MBody1 example to be more sensible (#473).
Bug fixes:
- Fixed an issue that was preventing
genn-buildmodel.sh
correctly handling paths with spaces (#444) - Fix multiple issues with sparse synapse index narrowing (#460)
- Fixed issue where, if GeNN is run in a locale where , is used for decimal point, some generated code was incorrectly formatted (#468).
- Fixed several small issues preventing GeNN from building on GCC 5 Visual C++ 2017 (#462)