-
Notifications
You must be signed in to change notification settings - Fork 336
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
Use generated layout to determine location of registers in rv32im circuit #476
Conversation
shkoo
commented
Mar 28, 2023
- Refactor layout to minimize duplicate code between risczero/rv32im
- Add a buffer pretty-printer to dump a buffer based on a layout
- rv32im-verify no longer has a brittle dependency on the specific layout of the "out" buffer
2faa9bb
to
ed12a7d
Compare
…cuit * Refactor layout to minimize duplicate code between risczero/rv32im * Add a buffer pretty-printer to dump a buffer based on a layout * rv32im-verify no longer has a brittle dependency on the specific layout of the "out" buffer
ed12a7d
to
5d18aa7
Compare
Benchmark for Linux-cuda b54243fClick to hide benchmark
Benchmark for Linux-default b54243fClick to hide benchmark
Benchmark for macOS-default b54243fClick to hide benchmark
Benchmark for macOS-metal b54243fClick to hide benchmark
|
I was planning to go in the direction of a serde codec that knows how to encode/decode the global structure. At that point, I think zirgen would generate a struct with serde attributes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might try the serde approach in the future, but I guess this is OK for now.
11254c2
to
780b0c6
Compare
Benchmark for Linux-cuda 41ad48fClick to hide benchmark
Benchmark for Linux-default 41ad48fClick to hide benchmark
Benchmark for macOS-default 41ad48fClick to hide benchmark
Benchmark for macOS-metal 41ad48fClick to hide benchmark
|
780b0c6
to
f6136d4
Compare
Benchmark for Linux-cuda 19784deClick to hide benchmark
Benchmark for Linux-default 19784deClick to hide benchmark
Benchmark for macOS-default 19784deClick to hide benchmark
Benchmark for macOS-metal 19784deClick to hide benchmark
|
f6136d4
to
59a4495
Compare
Benchmark for Linux-cuda ded4ab6Click to hide benchmark
Benchmark for Linux-default ded4ab6Click to hide benchmark
Benchmark for macOS-default ded4ab6Click to hide benchmark
Benchmark for macOS-metal ded4ab6Click to hide benchmark
|
@@ -695,7 +695,7 @@ fn pause_continue() { | |||
#[cfg_attr(feature = "insecure_skip_seal", ignore)] | |||
#[cfg_attr(feature = "cuda", serial)] | |||
fn continuation() { | |||
let segment_limit_po2 = 16; // 64k cycles | |||
let segment_limit_po2 = 17; // 128k cycles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why would layout changes require us to bump this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect it was related to changes in risczero-wip that hadn't been propagated to risc0 (or vice versa), since it tested fine until I merged in main.
risczero-wip also needed some work to work with the new hash api. :(
I wonder if there's a way to keep risc0 and risczero-wip in sync automatically