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

Improve sum check in general and preprocess for sum check in mlkzg multi_open #123

Merged
merged 3 commits into from
Feb 14, 2023

Conversation

han0110
Copy link
Contributor

@han0110 han0110 commented Feb 6, 2023

This PR does 2 changes:

  • Improve sum check prover in general
    • Adopt the algorithm for sum check prover specified in Batch all #89 (comment).
    • Evaluate individual products at products.len() +1 points instead of always max_degree + 1 points, and extrapolate it to max_degree + 1 points later.
  • Preprocess more on mlkzg multi_open to combine the polys opening at the same point, to reduce the workload of updating the table.

Comparison

Running cargo bench --bench hyperplonk-benches --features print-trace and extract the following trace components of bench_vanilla_plonk when num_vars = 20, the result is as follows:

Name Trace Components Before After Ratio (Before/After)
Gate ZeroCheck ZeroCheck on f 345.313ms 268.233ms 1.287
Permutation ZeroCheck zerocheck in product check 424.487ms 345.190ms 1.229
PCS SumCheck compute tilde g for 22 points
compute tilde eq for 22 points
sum check prove of 20 variables
414.559ms
100.478ms
991.671ms
110.617ms
69.953ms
235.245ms
3.623

@CLAassistant
Copy link

CLAassistant commented Feb 6, 2023

CLA assistant check
All committers have signed the CLA.

@chancharles92
Copy link
Collaborator

Thanks @han0110 ! I'll review it early next week.

chancharles92
chancharles92 previously approved these changes Feb 13, 2023
Copy link
Collaborator

@chancharles92 chancharles92 left a comment

Choose a reason for hiding this comment

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

LGTM, good job!

@chancharles92 chancharles92 merged commit f64bfe6 into EspressoSystems:main Feb 14, 2023
@han0110 han0110 deleted the feature/faster-sum-check branch February 19, 2023 14:33
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.

3 participants