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

Recording gsyn_exc and gsyn_inh #16

Open
neworderofjamie opened this issue Nov 6, 2018 · 0 comments
Open

Recording gsyn_exc and gsyn_inh #16

neworderofjamie opened this issue Nov 6, 2018 · 0 comments
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@neworderofjamie
Copy link
Contributor

neworderofjamie commented Nov 6, 2018

This needs to be a special case as GeNN handles each synapse groups input's separately. The best solution is probably to implement this in a new GSynMonitor class in recording.py:

  1. In Recorder._record add additional cases for "gsyn_exc" and "gsyn_inh" which add a GSynMonitor - this can maybe build a list of what incoming projections parent.population with correct receptor_type (i.e. "inhibitory" if we're recording "gsyn_inh") (a new list might need adding to Population to track incoming projections)
  2. In Recorder._record_vars, for "gsyn_exc" and "gsyn_inh", loop through the list of projections previously obtained by the GSynMonitor and copy the data from the GPU using model.pull_var_from_device(SYNAPSE_GROUP_NAME, "inSyn")
  3. In the GSynMonitor implement init_data_view using SynapseGroup._assign_external_pointer to get access to each synapse group's "inSyn" variable
  4. Override GSynMonitor.__call__ to sum these views.

This is infact more general. For example the GIF neuron allows recording of two adaption variables which are the sum of multiple actual state variables.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant