feat: use fft without precomputing twiddles in plonk prove#969
Merged
gbotrel merged 8 commits intofeat/smallerpkfrom Dec 21, 2023
Merged
feat: use fft without precomputing twiddles in plonk prove#969gbotrel merged 8 commits intofeat/smallerpkfrom
gbotrel merged 8 commits intofeat/smallerpkfrom
Conversation
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.12.0 to 0.17.0. - [Commits](golang/crypto@v0.12.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
perf(ecdsa): use GLV in JointScalarMulBase
* chore: update go.mod * chore: follow native transcript * chore: follow native transcript * chore: go generate * fix: do not pad challenge in fri * chore: gnark-crypto update * feat: pad challenge always to full field element * fix: remove domain separation in test * fix: report actual block size for compatibility * chore: go mod update * revert: remove domain separation * chore: follow gnark-crypto options * chore: go generate * chore: remove constant package * chore: go mod update * refactor: remove constant/ generation
ivokub
approved these changes
Dec 21, 2023
Collaborator
ivokub
left a comment
There was a problem hiding this comment.
All good. I would just update gnark-crypto dependency after merging Consensys/gnark-crypto#472 to point to master. Otherwise if we delete the corresponding branch on gnark-crypto side and go proxy cache is flushed we have tangling reference.
|
|
gbotrel
added a commit
that referenced
this pull request
Dec 21, 2023
* refactor: step 1 make pk lighter * perf: setup can use kzg lagrange too * perf: less Clone in plonk Prove * style: code cleaning * style: clean deadcode * fix: remove fft import from test * feat: use fft without precomputing twiddles in plonk prove (#969) * feat: update to latest gnark crypto fft stuff * test: all test OK * chore(deps): bump golang.org/x/crypto from 0.12.0 to 0.17.0 (#973) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.12.0 to 0.17.0. - [Commits](golang/crypto@v0.12.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * perf(ecdsa): use GLV in JointScalarMulBase * fix: swith points order in JointScalarMulBase * chore: adapt changes from native Fiat-Shamir transcript (#974) * chore: update go.mod * chore: follow native transcript * chore: follow native transcript * chore: go generate * fix: do not pad challenge in fri * chore: gnark-crypto update * feat: pad challenge always to full field element * fix: remove domain separation in test * fix: report actual block size for compatibility * chore: go mod update * revert: remove domain separation * chore: follow gnark-crypto options * chore: go generate * chore: remove constant package * chore: go mod update * refactor: remove constant/ generation --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Youssef El Housni <youssef.housni21@gmail.com> Co-authored-by: Youssef El Housni <youssef.elhousni@consensys.net> Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Youssef El Housni <youssef.housni21@gmail.com> Co-authored-by: Youssef El Housni <youssef.elhousni@consensys.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation of the PR: running
plonk.Provew/ BW6 on 130M constraint was too memory greedy for most hardware.This PR slows down the Prover by 10-15% but the Prover uses much (much) less memory.
Perf impact on prove before this PR:
After:
For this example, PlonK prove is 16% slower.