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

o1vm/riscv32i #2727

Draft
wants to merge 101 commits into
base: master
Choose a base branch
from
Draft

o1vm/riscv32i #2727

wants to merge 101 commits into from

Conversation

dannywillems
Copy link
Member

@dannywillems dannywillems commented Oct 21, 2024

Drafting a RISC-V (32i version) flavor of o1vm, as the community is asking for it. Following https://riscv.org/wp-content/uploads/2019/12/riscv-spec-20191213.pdf

Gonna be a fun project with @svv232 to learn more about arithmetisation and PlonK and proof-systems.

Copy link

codecov bot commented Oct 21, 2024

Codecov Report

Attention: Patch coverage is 2.27729% with 1459 lines in your changes missing coverage. Please review.

Project coverage is 70.74%. Comparing base (7592142) to head (e3c828f).
Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
o1vm/src/interpreters/riscv32i/witness.rs 0.00% 642 Missing ⚠️
o1vm/src/interpreters/riscv32i/constraints.rs 0.00% 329 Missing ⚠️
o1vm/src/interpreters/riscv32i/interpreter.rs 0.00% 329 Missing ⚠️
o1vm/src/pickles/main.rs 0.00% 67 Missing ⚠️
o1vm/src/interpreters/riscv32i/column.rs 0.00% 45 Missing ⚠️
o1vm/src/interpreters/riscv32i/registers.rs 0.00% 23 Missing ⚠️
o1vm/src/cannon.rs 0.00% 13 Missing ⚠️
o1vm/src/cannon_cli.rs 0.00% 11 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2727      +/-   ##
==========================================
- Coverage   72.52%   70.74%   -1.78%     
==========================================
  Files         247      253       +6     
  Lines       57706    59053    +1347     
==========================================
- Hits        41851    41778      -73     
- Misses      15855    17275    +1420     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dannywillems dannywillems marked this pull request as draft October 22, 2024 08:03
@dannywillems dannywillems self-assigned this Oct 22, 2024
@dannywillems
Copy link
Member Author

Note: we should get rid of meta.json. It is simply the list of symbols with their names in string. It is used for debugging while running the VM. We can use the ELF rust library to preprocess this.
See test_riscv_elf for examples

@dannywillems
Copy link
Member Author

We should think more about the memory layout. Leaving this comment for the future.

@dannywillems
Copy link
Member Author

TODO: add a long program (i.e. huge binary) to verify long traces, in particular when a lot of memory is used.
The memory layout used at the moment is the same as in Cannon. We should change that.
We can create long programs by using o1vm-test and adding dummy functions.

dannywillems added a commit that referenced this pull request Nov 1, 2024
This is only a first draft. In future PR, FIXME will be implemented.
It is mostly to start moving commits from the pull request
#2727
dannywillems added a commit that referenced this pull request Nov 1, 2024
This is only a first draft. In future PR, FIXME will be implemented.
It is mostly to start moving commits from the pull request
#2727
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.

2 participants