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

Queues: flag day #2191

Open
8 of 9 tasks
anshumanmohan opened this issue Jul 2, 2024 · 6 comments
Open
8 of 9 tasks

Queues: flag day #2191

anshumanmohan opened this issue Jul 2, 2024 · 6 comments
Labels
C: Queues One of the queue-style frontends

Comments

@anshumanmohan
Copy link
Contributor

anshumanmohan commented Jul 2, 2024

We have been zooming along and making quite a few improvements to our queues, and we have decided on a small clutch of TODOs for the magical day when things settle down. This is a tracker for all that stuff. It will probably need to grow further; feel free to edit this topmatter directly to add to the list.

@ethanuppal
Copy link
Member

The idea with testing harnesses is that you don't need to have any files. You can call the calyx component as a function, so you can generate a random large array, enqueue those values, and dequeue them — all from code!

@csziklai
Copy link
Contributor

I will do the documentation for round robin and strict PIFOs.

@polybeandip
Copy link
Collaborator

As part flag day, do we want to remove peek from the queue interface and make cmd a 1-bit signal?

@anshumanmohan
Copy link
Contributor Author

Good question, I’ve kinda been wanting to. The reason to keep it is that we may find an algorithm that needs it. The reason to lose it is that we haven’t yet found such an algorithm. Let’s make a call about it on Monday!

@KabirSamsi
Copy link
Collaborator

As of 7/29:

  • We are removing the peek functionality from all queues, and the pop/peek by value functionality for PIEOs.
  • Subsequently, we will be changing cmd to a 1-bit signal.
  • We'll proceed with flag day before the Calyx PIEOs are merged, and continue work with that afterwards.

csziklai added a commit that referenced this issue Aug 9, 2024
This PR makes progress towards
#2191 by adding documentation
about round robin and strict queues. Additionally, it completes the last
checkbox of #2226 by updating the
documentation to use the new style of PIFOs. Recently, it also updates
the documentation to reflect the removal of peek (#2241). Because of a
git mistake carried forward, this PR supersedes #2223.

---------

Co-authored-by: Anshuman Mohan <anshumanmohan@live.com>
@anshumanmohan anshumanmohan added the C: Queues One of the queue-style frontends label Aug 9, 2024
@anshumanmohan
Copy link
Contributor Author

I've checked the documentation box manually; let's just declare the docs good!

polybeandip added a commit that referenced this issue Sep 3, 2024
Closes #2186 and the test harness part of #2191.

More specifically, this PR does the following:
- set up separate directories for our package, data file generation, and
tests
- move each queue's python generator and associated main component to
different files: main components are in `test/`
- remove PCQs from `data_gen/gen_queue_data_expect.sh` (for now)
- tweak runt stanzas to work with new file structure
- tweak github actions to install `queues` for CI and run
`gen_queue_data_expect.sh`
- gitignore large `.data` and `.expect` files
- fill in README for our library
- update links in the docs to our new file locations and add install
instructions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Queues One of the queue-style frontends
Projects
None yet
Development

No branches or pull requests

5 participants