8000 Queues: option for no errors by anshumanmohan · Pull Request #1779 · calyxir/calyx · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Queues: option for no errors #1779

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

Merged
merged 51 commits into from
Nov 16, 2023
Merged

Queues: option for no errors #1779

merged 51 commits into from
Nov 16, 2023

Conversation

anshumanmohan
Copy link
Contributor
@anshumanmohan anshumanmohan commented Nov 16, 2023

It occurred to me that our 100-long commands list is not very useful if we can error out because of under- or overflow pretty early on.

This PR makes all the code -- the eDSL and the oracles -- resistant to errors. The underlying queues may still raise errors when underflow or overflow occurs, but the runner loop knows that it should ignore these and keep going until it is out of commands.

A side effect of this is a little neatening in data-generation. Earlier, I was "rigging" the random inputs with a small number (5%) of push commands early on, just to make sure that the queue would not be hit with a stray pop or peek early on, underflow, and thus quickly end the experiment.

This work did reveal two bugs in my oracle code:

  • In PIFOs, hot was not being swapped over correctly after a pop.
  • Also in PIFOs, I had an off-by-one error when it came to deciding the flow of a value.

Base automatically changed from queues-better-testing to master November 16, 2023 21:59
@anshumanmohan anshumanmohan merged commit bf07990 into master Nov 16, 2023
@anshumanmohan anshumanmohan deleted the queues-no-fails branch November 16, 2023 22:35
rachitnigam pushed a commit that referenced this pull request Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0