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

perf: improve plonk prover memory footprint #806

Closed
wants to merge 12 commits into from

Conversation

gbotrel
Copy link
Collaborator

@gbotrel gbotrel commented Aug 8, 2023

This PR start to target the issue of high memory usage by the PlonK prover.

Current status: memory usage in the Prover down by 35% (low hanging fruits)

It removes some unnecessary allocations, conversions. Also prepare the polynomials in LagrangeCoset form in a memory layout that performs better for iop.Evaluate....

Post Consensys/gnark-crypto#437, (reduces memory usage of FFT domains), here is roughly what the ProvingKey consumes in RAM (x axis: size of circuit (pow), y: Mb.). The ExpandedTrace correspond to the Trace polynomials in LagrangeCoset basis.

image

@gbotrel gbotrel marked this pull request as draft August 8, 2023 21:41
@gbotrel gbotrel closed this Aug 8, 2023
@gbotrel gbotrel reopened this Aug 8, 2023
@gbotrel gbotrel changed the base branch from develop to problem/plonk_mem August 8, 2023 21:45
@gbotrel gbotrel marked this pull request as ready for review August 16, 2023 03:55
@gbotrel gbotrel closed this Aug 16, 2023
@gbotrel gbotrel deleted the perf/plonkmem branch August 21, 2023 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant