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

Deprecate spike_dilutor and prohibit its use with multiple threads #2375

Merged
merged 12 commits into from
Aug 2, 2022

Conversation

heplesser
Copy link
Contributor

spike_dilutor is a variant of a parrot neuron which probabilistically forwards spikes. Each target neuron receives a different thinned spike train. Therefore, spike_dilutor needs to send DSSpikeEvents and is implemented as a StimulationDevice. This conflicts, though, with the fact that the node also needs to receive spikes, leading to incorrect behavior when used with multiple threads (#2052).

At the same time, bernoulli_synapse implements exactly the same functionality in a proper, i.e., synapse, not pseudo-neuron, based way. This PR therefore

  1. deprecates spike_dilutor
  2. prohibits use of spike_dilutor with multiple threads
  3. points to bernoulli_synapse as alternative.

This fixes #2052.

@heplesser heplesser added T: Bug Wrong statements in the code or documentation S: High Should be handled next I: Behavior changes Introduces changes that produce different results for some users labels Apr 21, 2022
@heplesser heplesser added this to To do in Models via automation Apr 21, 2022
Copy link
Contributor

@hakonsbm hakonsbm left a comment

Choose a reason for hiding this comment

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

Looks good to me, except for a minor clarification in the test documentation.

testsuite/regressiontests/issue-2052.sli Outdated Show resolved Hide resolved
@heplesser heplesser requested a review from hakonsbm April 25, 2022 08:21
Copy link
Contributor

@hakonsbm hakonsbm left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link
Contributor

@jougs jougs left a comment

Choose a reason for hiding this comment

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

Thanks!

@jougs
Copy link
Contributor

jougs commented May 17, 2022

@heplesser: can you please fix the conflicts? Thanks!

…fix-2052-dilutor

Conflicts:
	doc/userdoc/release_notes/index.rst
	doc/userdoc/release_notes/v3.1/index.rst
@github-actions
Copy link

Pull request automatically marked stale!

@github-actions github-actions bot added the stale Automatic marker for inactivity, please have another look here label Jul 19, 2022
@terhorstd terhorstd changed the title Deprecate spike_dilutor and prohibit its use with multiple threads Deprecate spike_dilutor and prohibit its use with multiple threads Aug 1, 2022
@gtrensch gtrensch removed the stale Automatic marker for inactivity, please have another look here label Aug 1, 2022
@gtrensch gtrensch merged commit 2f8737e into nest:master Aug 2, 2022
@heplesser heplesser deleted the fix-2052-dilutor branch October 4, 2022 21:06
@clinssen clinssen moved this from To do to Done in Models Nov 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: Behavior changes Introduces changes that produce different results for some users S: High Should be handled next T: Bug Wrong statements in the code or documentation
Projects
Models
  
Done
Development

Successfully merging this pull request may close these issues.

Issue with Spike Dilutor and Multi-Threading
5 participants