Skip to content

Conversation

@kunxian-xia
Copy link
Collaborator

@kunxian-xia kunxian-xia commented Jan 21, 2026

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

@kunxian-xia kunxian-xia linked an issue Jan 22, 2026 that may be closed by this pull request
@kunxian-xia kunxian-xia enabled auto-merge January 22, 2026 08:32
Copy link
Collaborator

@hero78119 hero78119 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A quick pass and LGTM!

@kunxian-xia kunxian-xia added this pull request to the merge queue Jan 22, 2026
Merged via the queue into master with commit 2766ce1 Jan 22, 2026
4 checks passed
@kunxian-xia kunxian-xia deleted the feat/basefold_opt branch January 22, 2026 10:31
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.

recursion gpu oom

3 participants