-
Notifications
You must be signed in to change notification settings - Fork 15
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
Implementing Cutoff protocol, related synchronization communication tags, and general Improvements to protocol stability #120
Conversation
This reverts commit ad650ed.
I see there's work going on in qobase, the docs are building now(other than the random xvfb errors that happen now and then).There was an |
you are getting these warnings because #143 is in progress. Do not worry about them. |
@Krastanov this is ready to be merged |
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.
docs and changelog and version bump
…he face for so long
Woohoo! Thanks for taking care of this and shepherding it through the review process. I made a few changes, some related to minor stylistic documentation personal preferences, some related to the stability of the tests that were failing. Please check them out to make sure I did not miss anything. I made a related issue #147 for a few minor things that would be nice to fix, but were not blocking. |
Thanks a lot for pushing it through! |
Based on #114 and continued from #107
Besides the documentation work from #107 , the following changes are introduced to add decoherence to the protocols
guid
associated with slot is stored in a vector field in Register, earlier there was no way to access a slot's tag information just from the slot, this helps to implement theiscoherent
function which just takes a slot and checks whether its coherent or notretention_times
which allows the user to provide individual retention time for each slot which is set to 5.0 time units by defaultiscoherent
function which takes a slot and returns whether its coherent or not. It also takes abuffer_time
parameter, so that a swapper can choose slots that would be coherent for, say 2.0 units of time, and the messages passing is completed before the slot gets decoherentEntanglerProt
and more specificallyfindfreeslot
has been modified to return already assigned slots that have decohered after ituntag!
s andtraceout
s them, this way we don't need a separate protocol to free the decoherent slots and make more mess. This also removes the need for themargin
parameter inEntanglerProt
that we were passing tofindfreeslot
and greatly simplifies the function bodyThis deals with the deadlocks and the plots from the grid example look pretty cool:
grid_sim6x6hv.mp4