Skip to content

Commit

Permalink
[Cider 2] Arbitrary precision and signed serialization (#2218)
Browse files Browse the repository at this point in the history
Part of #1913. 

Small grab bag of things.
- Closes #2161 
- Adds `std_bit_slice` primitive
- Updates the data-converter to accept arbitrary precision values rather
than limiting to u64
- Data dump header is now in CBOR rather than JSON (mostly an arbitrary
choice, but at least makes it clear that the data dumps should not be
read by people)
- re-enables the polybench tests on CI
  • Loading branch information
EclecticGriffin authored Jul 23, 2024
1 parent d198a95 commit e942414
Show file tree
Hide file tree
Showing 16 changed files with 842 additions and 271 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ jobs:
working-directory: /home/calyx/interp/tests
run: |
# Run the remaining tests
runt -x '(numeric types correctness and parsing)|(tcam testing)|(../../tests/correctness/pipelined-mac.futil)|(../../tests/correctness/std-bit-slice.futil)|(polybench)' -d -o fail
runt -x '(numeric types correctness and parsing)|(tcam testing)|(../../tests/correctness/pipelined-mac.futil)' -d -o fail
- name: Source code tests
uses: actions-rs/cargo@v1
Expand Down
46 changes: 42 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -129,3 +129,10 @@ calyx-frontend = { path = "calyx-frontend" }
[[bench]]
name = "component-sharing"
harness = false


[profile.test.package.proptest]
opt-level = 3

[profile.test.package.rand_chacha]
opt-level = 3
6 changes: 4 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"

# Install python dependencies cocotb==1.6.2 seems to be for Xilinx cocotb tests
RUN python3 -m pip install numpy flit prettytable wheel hypothesis pytest simplejson cocotb==1.6.2
# Need to pin the numpy version since there are TVM issues with versions 2 and above
RUN python3 -m pip install numpy==1.26.4 flit prettytable wheel hypothesis pytest simplejson cocotb==1.6.2
# Current cocotb-bus has a bug that is fixed in more up to date repo
RUN python3 -m pip install git+https://github.com/cocotb/cocotb-bus.git cocotbext-axi

Expand Down Expand Up @@ -80,7 +81,8 @@ ENV PYTHONPATH=/root/.local/lib/python3.9/site-packages:$PYTHONPATH
WORKDIR /home/calyx
run mkdir -p ~/.local/bin
RUN ln -s /home/calyx/target/debug/fud2 ~/.local/bin/
RUN printf "[calyx]\nbase = \"/home/calyx\"" >> ~/.config/fud2.toml
RUN printf "dahlia = \"/home/dahlia/fuse\"\n" >> ~/.config/fud2.toml
RUN printf "[calyx]\nbase = \"/home/calyx\"\n" >> ~/.config/fud2.toml

# Install calyx-py
WORKDIR /home/calyx/calyx-py
Expand Down
2 changes: 2 additions & 0 deletions interp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ calyx-frontend = { path = "../calyx-frontend" }

btor2i = { path = "../tools/btor2/btor2i" }

ciborium = "0.2.2"

[dev-dependencies]
proptest = "1.0.0"

Expand Down
Loading

0 comments on commit e942414

Please sign in to comment.