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

plonk::prover: Introduce counter feature for FFTs and MSMs #763

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

Conversation

therealyingtong
Copy link
Collaborator

@therealyingtong therealyingtong commented Apr 3, 2023

Example output from cargo test --features=counter plonk_api:

DEBUG halo2_proofs::plonk::prover: MSM_COUNTER: {33: 34}           // {msm_size: count}
DEBUG halo2_proofs::plonk::prover: FFT_COUNTER: {32: 30, 128: 31}  // {fft_size: count}

@therealyingtong therealyingtong added the A-dev-tooling Area: Developer tooling label Apr 3, 2023
@therealyingtong
Copy link
Collaborator Author

therealyingtong commented Apr 4, 2023

I realise that this may not be useful for people who want a proving time estimate, but DON'T want to run create_proof.

Edit: We have now updated this PR to skip synthesis and do no-ops in best_multiexp and best_fft when #[cfg(feature) = counter]. This should significantly reduce the counting time.

Questions to explore:

  • do we want to bench synthesis?
  • do we want to bench multiopen and IPA?
  • do we want to bench hashing into transcript?

An alternative solution would be to use std::backtrace in a no-parallel version of halo2_proofs.

@therealyingtong therealyingtong changed the title plonk::prover: Introduce counter feature for FFTs and MSMs plonk::prover: Introduce counter feature for FFTs and MSMs Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-dev-tooling Area: Developer tooling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant