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

Support accelerated MSM for halo2curves/grumpkin #216

Open
huitseeker opened this issue Aug 8, 2023 · 6 comments
Open

Support accelerated MSM for halo2curves/grumpkin #216

huitseeker opened this issue Aug 8, 2023 · 6 comments

Comments

@huitseeker
Copy link
Contributor

The pasta cycle imports a GPU-accelerated MSM through the pasta-msm crate.
This crate is backed by the Sppark library, which is generic in the curve parameters it operates with.

With another shim (similar to pasta-msm, but adapted to the parameters of the grumpkin cycle), we could have GPU acceleration of the MSM on the Grumpkin / BN254 cycle.

@huitseeker
Copy link
Contributor Author

/cc @CPerezz @leonardoalt

@srinathsetty
Copy link
Collaborator

Hi @huitseeker, is it feasible to make pasta-msm support a collection of curves (including BN254/Grumpkin)? It would be better than having two crates one for pasta curves and another for bn254/grumpkin.

@CPerezz
Copy link
Contributor

CPerezz commented Aug 11, 2023

We can explore trying integrating the GPU acceleration in halo2-curves if we can somehow make it use the generalizations of the pasta-msm crate. But not sure we have the bandwidth. So would be nice to know if it's even feasible (architecturally-wise) to end up with something that makes sense and is manteinable.

Happy to upstream any speedups under an experimental feature for sure!

@srinathsetty
Copy link
Collaborator

@huitseeker should this issue be filed in halo2curves repo rather than here? It seems there is not much to be done in the Nova repository to address this issue.

@CPerezz
Copy link
Contributor

CPerezz commented Feb 21, 2024

Ohh no @srinathsetty .

We are planning to integrate the ZAL API into halo2 and halo2curves. See: privacy-scaling-explorations/halo2#277

This means that you will have access to GPU-accelerated primitives here. Inherited from halo2curves.
Assuming this was what @huitseeker meant.

@srinathsetty
Copy link
Collaborator

Fantastic! Looking forward to it!

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

No branches or pull requests

3 participants