Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking of spike-like-event times #380

Merged
merged 18 commits into from
Dec 17, 2020
Merged

Tracking of spike-like-event times #380

merged 18 commits into from
Dec 17, 2020

Conversation

neworderofjamie
Copy link
Contributor

This is a small extension of #376 to improve support for fully event-driven three-factor learning using spike-like events to deliver the third factor. By adding SET_NEEDS_PRE_SPIKE_EVENT_TIME(true) or SET_NEEDS_PREV_PRE_SPIKE_EVENT_TIME(true) macros to a weight update model in C++ or setting the is_pre_spike_event_time_required=True or is_prev_pre_spike_event_time_required=True kwargs in Python, the same sort of code used for tracking spike times is generated and $(seT) and $(prev_seT) can be used from weight update model code.

* Additional method for WeightUpdateModel
* Additional NeuronGroup API to control location
* Included variables in group merged
* Backend support for updating
# Conflicts:
#	include/genn/genn/code_generator/codeGenUtils.h
#	include/genn/genn/neuronGroup.h
#	include/genn/genn/weightUpdateModels.h
#	src/genn/backends/cuda/optimiser.cc
#	src/genn/backends/single_threaded_cpu/backend.cc
#	src/genn/genn/code_generator/backendSIMT.cc
#	src/genn/genn/code_generator/generateInit.cc
#	src/genn/genn/code_generator/generateNeuronUpdate.cc
#	src/genn/genn/code_generator/generateRunner.cc
#	src/genn/genn/code_generator/groupMerged.cc
#	src/genn/genn/code_generator/modelSpecMerged.cc
#	src/genn/genn/neuronGroup.cc
…RESHOLD is provided - times can still be used without event handler
@neworderofjamie neworderofjamie added this to the GeNN 4.4.0 milestone Dec 11, 2020
@codecov
Copy link

codecov bot commented Dec 11, 2020

Codecov Report

Merging #380 (5ffb045) into master (af922df) will increase coverage by 0.00%.
The diff coverage is 84.33%.

Impacted file tree graph

@@           Coverage Diff            @@
##           master     #380    +/-   ##
========================================
  Coverage   86.57%   86.58%            
========================================
  Files          70       70            
  Lines       12785    12917   +132     
========================================
+ Hits        11069    11184   +115     
- Misses       1716     1733    +17     
Impacted Files Coverage Δ
include/genn/genn/neuronGroup.h 71.42% <50.00%> (-1.65%) ⬇️
src/genn/backends/single_threaded_cpu/backend.cc 56.24% <51.42%> (-0.20%) ⬇️
src/genn/genn/modelSpec.cc 72.15% <66.66%> (-0.42%) ⬇️
src/genn/genn/code_generator/backendSIMT.cc 96.09% <68.42%> (-0.64%) ⬇️
src/genn/genn/code_generator/generateInit.cc 98.27% <92.85%> (+0.49%) ⬆️
include/genn/genn/code_generator/codeGenUtils.h 97.91% <100.00%> (+0.24%) ⬆️
include/genn/genn/weightUpdateModels.h 90.90% <100.00%> (+0.90%) ⬆️
src/genn/backends/cuda/optimiser.cc 75.28% <100.00%> (ø)
...c/genn/genn/code_generator/generateNeuronUpdate.cc 96.40% <100.00%> (+0.20%) ⬆️
src/genn/genn/code_generator/generateRunner.cc 96.74% <100.00%> (+0.08%) ⬆️
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update af922df...5ffb045. Read the comment docs.

Copy link
Member

@tnowotny tnowotny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is an easy one. Looks like the right thing to do and should be unproblematic. Well done.

@neworderofjamie
Copy link
Contributor Author

Thanks! The only problem relates to #379.

@neworderofjamie neworderofjamie merged commit 8b18c6f into master Dec 17, 2020
@neworderofjamie neworderofjamie deleted the spike_event_time branch December 17, 2020 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants