-
Notifications
You must be signed in to change notification settings - Fork 9
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
Bug in Timing/Frame Dependencies #75
Comments
Just seeing if I understand the issue:
|
Example 1 - yep. Example 2 - close! Dependency missing between 1 & 2 |
Oh -- 2 is your issue with the quil-spec? |
Admittedly, I didn't think of that problem because I have come to see |
It’s similar but not quite the same because they do in fact share the used frame. (That being said, I think that might have been a typo in building this example, so in reality yes that might be what I meant to illustrate). |
🎉 This issue has been resolved in version 0.11.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Hot on the heels of #73 , another bug has been found in how frame blocking is calculated. Two examples are given here, with further explanation below. Can you spot the bug?
Example 1
Hint: there is an additional frame defined in the program,
0 1 "cz"
, which is not used by any of the instructions.Example 2
The problem here is that the change in #73 properly fixed how dependencies are calculated after a blocking instruction, but that blocking instruction must itself block on previous instructions which overlap in frames, and that is not happening.
Specifically/formally:
Blocking prevents simultaneous use but allows simultaneous blocking.
This approach is akin to a single-writer, multiple-reader lock or queue, where blocking:reading::using:writing.
The text was updated successfully, but these errors were encountered: