Skip to content

Commit 2766ce1

Browse files
authored
Feat: less mmcs_verify_batch (#1238)
## Summary This is a reflection of optimization scroll-tech/gkr-backend#24 in gkr-backend to the recursion crate. The key idea is to reduce the number of `mmcs_verify_batch` invocated for the integrity of input opened values. - The number of rows in the `FriReducedOpeningAir` is reduced by half. - The number of rows in the `NativePoseidon2Air` for `VERIFY_BATCH` is reduced by half. ### Performance The number of cells in the recursion prover before and after this PR is depicted here. The cmd to run the test is ``` RUST_BACKTRACE=1 RUST_LOG=info,openvm_cuda_common=warn \ cargo run --release --features "gpu,bench-metrics" --package ceno_recursion --bin e2e_aggregate \ -- --platform=ceno --max-cycle-per-shard=1600 \ examples/target/riscv32im-ceno-zkvm-elf/release/examples/keccak_syscall 2>&1 | tee keccak.log ``` | chip | before | after | | - | - | - | | total_trace_cells | 703_991_274 | 613_158_378 | | NativePoseidon2 | 123_469_824 | 61_734_912 | | FriReducedOpening | 58_195_968 | 29_097_984 |
1 parent 73f28ef commit 2766ce1

File tree

4 files changed

+107
-138
lines changed

4 files changed

+107
-138
lines changed

Cargo.lock

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ version = "0.1.0"
2727
ceno_crypto_primitives = { git = "https://github.com/scroll-tech/ceno-patch.git", package = "ceno_crypto_primitives", branch = "main" }
2828
ceno_syscall = { git = "https://github.com/scroll-tech/ceno-patch.git", package = "ceno_syscall", branch = "main" }
2929

30-
ff_ext = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "ff_ext", tag = "v1.0.0-alpha.19" }
31-
mpcs = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "mpcs", tag = "v1.0.0-alpha.19" }
32-
multilinear_extensions = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "multilinear_extensions", tag = "v1.0.0-alpha.19" }
33-
p3 = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "p3", tag = "v1.0.0-alpha.19" }
34-
poseidon = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "poseidon", tag = "v1.0.0-alpha.19" }
35-
sp1-curves = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "sp1-curves", tag = "v1.0.0-alpha.19" }
36-
sumcheck = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "sumcheck", tag = "v1.0.0-alpha.19" }
37-
transcript = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "transcript", tag = "v1.0.0-alpha.19" }
38-
whir = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "whir", tag = "v1.0.0-alpha.19" }
39-
witness = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "witness", tag = "v1.0.0-alpha.19" }
30+
ff_ext = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "ff_ext", tag = "v1.0.0-alpha.20" }
31+
mpcs = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "mpcs", tag = "v1.0.0-alpha.20" }
32+
multilinear_extensions = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "multilinear_extensions", tag = "v1.0.0-alpha.20" }
33+
p3 = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "p3", tag = "v1.0.0-alpha.20" }
34+
poseidon = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "poseidon", tag = "v1.0.0-alpha.20" }
35+
sp1-curves = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "sp1-curves", tag = "v1.0.0-alpha.20" }
36+
sumcheck = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "sumcheck", tag = "v1.0.0-alpha.20" }
37+
transcript = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "transcript", tag = "v1.0.0-alpha.20" }
38+
whir = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "whir", tag = "v1.0.0-alpha.20" }
39+
witness = { git = "https://github.com/scroll-tech/gkr-backend.git", package = "witness", tag = "v1.0.0-alpha.20" }
4040

4141
anyhow = { version = "1.0", default-features = false }
4242
bincode = "1"

0 commit comments

Comments
 (0)