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
RefPort's sometimes handled a time step late #205
Conversation
…ta is serviced before the process finishes (which blocks advancing a time step and ensures all VarPorts on the receiving process will be serviced beforehand).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine. But you should update the docstring.
Tested it out on PN SNN notebook. The the results are consistent. |
- added wait() to the dataloader - modified docstring of wait
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would still recommend to improve the docstring.
The fundamental behavior of the RefPort should be explained in the class docstring.
Approving anyways since this is just a style issue that can be fixed later. Just don't forget about it.
Issue Number: #204
Objective of pull request: Deterministic behavior of when data sent via a RefPort is received by the target process. Occasionally it was possible that the receiving process moved to the next phase before all of its VarPorts got serviced, because sending data via a RefPort does not block. Introducing of a wait() method for RefPorts makes sure that sent data is serviced before the process finishes (which blocks advancing a time step and ensures all VarPorts on the receiving process will be serviced beforehand).
Pull request checklist
Your PR fulfills the following requirements:
pyb
) passes locallypyb -E unit
) or (python -m unittest
) passes locallyPull request type
Please check your PR type:
What is the current behavior?
What is the new behavior?
Does this introduce a breaking change?
Supplemental information