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

? #2210

Closed
wants to merge 78 commits into from
Closed

? #2210

wants to merge 78 commits into from

Conversation

ethanuppal
Copy link
Member

No description provided.

EclecticGriffin and others added 30 commits June 24, 2024 15:12
More progress towards #2067!

This PR takes a stab at tweaking `docs/frontends/queues.md` to
incorporate additions from PRs #2164 and #2174.

---------

Co-authored-by: Anshuman Mohan <[email protected]>
This PR makes progress towards #1810. It implements the python oracle
for PIFOs generalized to n flows, now known as Round Robin queues. Just
as with the PIFO, if a flow falls silent, the remaining flows will take
their turns. That flow effectively skips its turn. To re-generate the
test files with 20000 commands and a max length of 16, type in the
command line after navigating to the directory calyx/calyx-py/calyx

```
./gen_queue_data_expect.sh
```

Additionally, this PR also implements the Calyx version of Round Robin
queues in rr_queue.py. This was originally supposed to be its own PR,
but I thought it might be more complicated if I branched off a branch.
To run these tests, type in the command line
```
runt -i "rr_queue"
```

---------

Co-authored-by: Cassandra Nicole Sziklai <[email protected]>
Co-authored-by: Anshuman Mohan <[email protected]>
Co-authored-by: Anshuman Mohan <[email protected]>
It looks like `calyx-py/test/correctness/queues/*.py` was removed from
the path of its runt test by #2177: i.e. the old `fifo`, `pifo`, and
`pifo_tree` tests aren't running at CI. Was this intentional? In case it
wasn't, I've made a minor fix to `runt.toml`.
Automatically `cargo clippy` and others before you commit
This PR ties off the last half of #1810. It implements the python oracle
and Calyx eDSL for strict PIFOs, which are generalized to n flows. Flows
have a strict order of priority, which determines popping and peeking
order. If the highest priority flow is silent when it is its turn, that
flow simply skips its turn and the next flow is offered service. If that
higher priority flow get pushed to in the interim, the next call to
pop/peek will return from that flow. To re-generate the test files with
20000 commands and a max length of 16, type in the command line after
navigating to the directory calyx/calyx-py/calyx
```
./gen_queue_data_expect.sh
```
To run the runt tests on the eDSL implementation, type 
```
runt -i "strict"
```

---------

Co-authored-by: Cassandra Nicole Sziklai <[email protected]>
Co-authored-by: Anshuman Mohan <[email protected]>
Co-authored-by: Anshuman Mohan <[email protected]>
@ethanuppal ethanuppal changed the title Cider2/deprecation ? Jul 15, 2024
@ethanuppal ethanuppal closed this Jul 17, 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.

9 participants