Skip to content

Feat: improve tower verifier #12

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

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open

Conversation

kunxian-xia
Copy link

@kunxian-xia kunxian-xia commented Jun 11, 2025

Tower Verifier

Cycle Distribution

The cmd to get the following cycle distribution for a tower verifier with 2 product specs and 5 variables (which has 5 layers, 4 sumcheck proofs to verify) is

RUST_LOG=info cargo test --features "bench-metrics" --release --lib test_prod_tower -- --nocapture

Cycle count

INFO     ┝━ i [info]: ┌╴initial sum
INFO     ┝━ i [info]: └╴183 cycles
INFO     ┝━ i [info]: ┌╴sumcheck verify
INFO     ┝━ i [info]: └╴244 cycles
INFO     ┝━ i [info]: ┌╴check expected evaluation
INFO     ┝━ i [info]: └╴216 cycles
INFO     ┝━ i [info]: ┌╴derive next layer's expected sum
INFO     ┝━ i [info]: └╴432 cycles
INFO     ┝━ i [info]: ┌╴sumcheck verify
INFO     ┝━ i [info]: └╴424 cycles
INFO     ┝━ i [info]: ┌╴check expected evaluation
INFO     ┝━ i [info]: └╴254 cycles
INFO     ┝━ i [info]: ┌╴derive next layer's expected sum
INFO     ┝━ i [info]: └╴444 cycles
INFO     ┝━ i [info]: ┌╴sumcheck verify
INFO     ┝━ i [info]: └╴604 cycles
INFO     ┝━ i [info]: ┌╴check expected evaluation
INFO     ┝━ i [info]: └╴292 cycles
INFO     ┝━ i [info]: ┌╴derive next layer's expected sum
INFO     ┝━ i [info]: └╴456 cycles
INFO     ┝━ i [info]: ┌╴sumcheck verify
INFO     ┝━ i [info]: └╴784 cycles
INFO     ┝━ i [info]: ┌╴check expected evaluation
INFO     ┝━ i [info]: └╴330 cycles
INFO     ┝━ i [info]: ┌╴derive next layer's expected sum
INFO     ┕━ i [info]: └╴462 cycles

Sumcheck

Before this pr, the cycle count is

INFO     ┝━ i [info]: ┌╴IOPVerifierState::verify_round_and_update_state
INFO     ┝━ i [info]: │ ┌╴multi_observe
INFO     ┝━ i [info]: │ └╴11 cycles x4
INFO     ┝━ i [info]: │ ┌╴observe round
INFO     ┝━ i [info]: │ └╴13 cycles x4
INFO     ┝━ i [info]: │ ┌╴sample_ext
INFO     ┝━ i [info]: │ └╴24 cycles x4
INFO     ┝━ i [info]: └╴253 cycles
INFO     ┝━ i [info]: ┌╴IOPVerifierState::check_and_generate_subclaim
INFO     ┝━ i [info]: │ ┌╴extrapolate_uni_poly
INFO     ┝━ i [info]: │ └╴92 cycles x4
INFO     ┕━ i [info]: └╴503 cycles

@kunxian-xia kunxian-xia changed the base branch from main to feat/native_multi_observe June 11, 2025 13:43
@kunxian-xia kunxian-xia changed the title Feat: improve sumcheck verifier Feat: improve tower verifier Jun 13, 2025
Base automatically changed from feat/native_multi_observe to main June 17, 2025 02:35
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