Skip to content

Conversation

@nalinbhardwaj
Copy link
Contributor

Adds fast, parallelisable MSM for compile targets that aren't supported by pasta_msm/semolina. Also uses fast MSM on small MSMs (smaller than 128 size) for all architecture since I'm on my laptop a size 128 MSM is ~3x faster with this code vs. the old non Pippengers code.

The multiexp code is taken from https://github.com/zcash/halo2/blob/main/halo2_proofs/src/arithmetic.rs, all credits to authors there!

Tested end to end with this branch of Nova Scotia: https://github.com/nalinbhardwaj/Nova-Scotia/tree/browser

Follow up from discussion here: #125 (comment)

@nalinbhardwaj nalinbhardwaj mentioned this pull request Jan 25, 2023
@nalinbhardwaj
Copy link
Contributor Author

@microsoft-github-policy-service agree

@srinathsetty srinathsetty merged commit 6c6a874 into microsoft:main Jan 27, 2023
@nalinbhardwaj nalinbhardwaj deleted the wasm-upstream branch January 27, 2023 18:26
huitseeker added a commit to huitseeker/Nova that referenced this pull request Nov 22, 2023
* Simplify Group trait (microsoft#259)

* simplify Group trait

* fix clippy

* further simplifications

* fix Copy

* Cut duplicate code (microsoft#261)

* cut duplicate code

* bound --> bind for clarity

* expose asm feature

* test: check test_pp_digest with asm feature in CI

* expose size of the base field (microsoft#262)

* fix: add mention of halo2curves issue explaining the problem

---------

Co-authored-by: Srinath Setty <srinath@microsoft.com>
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