Skip to content

GeNN 4.6.0

Compare
Choose a tag to compare
@neworderofjamie neworderofjamie released this 02 Nov 13:27
· 2383 commits to master since this release
9d43b7c

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

  1. 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).
  2. Previously, to connect a synapse group to a postsynaptic neuron's additional input variable, a custom postsynaptic model had to be used. SynapseGroup::setPSTargetVar and pygenn.SynapseGroup.ps_target_var can now be used to set the target variable of any synapse group (#458).
  3. 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).
  4. PyGeNN now shares a version with GeNN itself and this will be accessible via pygenn.__version__ (#472).
  5. The names of populations and variables are now validated to prevent code with invalid variable names being generated (#443,#448).
  6. As well as being able to read the current spikes via the pygenn.NeuronGroup.current_spikes property, they can now also be set (#445).
  7. 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 and pygenn.NeuronGroup.push_current_spike_events_to_device; and accessed via pygenn.NeuronGroup.current_spike_events (#469).
  8. Added additional error handling to prevent properties of pygenn.GeNNModel that can only be set before the model was built being set afterwards (#464).
  9. Variable references can now reference custom update variables (#446).
  10. Updated the default parameters used in the MBody1 example to be more sensible (#473).

Bug fixes:

  1. Fixed an issue that was preventing genn-buildmodel.sh correctly handling paths with spaces (#444)
  2. Fix multiple issues with sparse synapse index narrowing (#460)
  3. Fixed issue where, if GeNN is run in a locale where , is used for decimal point, some generated code was incorrectly formatted (#468).
  4. Fixed several small issues preventing GeNN from building on GCC 5 Visual C++ 2017 (#462)