-
Notifications
You must be signed in to change notification settings - Fork 34
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
GPU accelerated Grumpkin MSM #187
Conversation
77f5c5d
to
cdd223f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is good overall, but we would really benefit from a test that, on the right platforms (x86/aarch64) and under the right feature (cuda), compares the results of cpu_best_msm
and grumpkin::{bn256, grumpkin}
for a deterministically-seeded random point/scalar vector.
This test should probably have existed in the pasta variant in the first place, and will give us a lot more confidence both in the sppark GPU implementation and in CPU changes required by #193
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Back to your queue for the missing test.
80d225a
to
36f0d25
Compare
@@ -47,7 +47,8 @@ rand = "0.8.5" | |||
ref-cast = "1.0.20" | |||
|
|||
[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies] | |||
pasta-msm = { git="https://github.com/lurk-lab/pasta-msm", branch="dev", version = "0.1.4" } | |||
pasta-msm = { git = "https://github.com/lurk-lab/pasta-msm", branch = "dev", version = "0.1.4" } | |||
grumpkin-msm = { git = "https://github.com/lurk-lab/grumpkin-msm", branch = "dev", features = ["dont-implement-sort"] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The following comment would elucidate the feature:
grumpkin-msm = { git = "https://github.com/lurk-lab/grumpkin-msm", branch = "dev", features = ["dont-implement-sort"] } | |
# pasta-msm also calls into sppark, which defines the same common sorting code this crate would: the `dont-implement-sort` feature avoid creating conflicting symbols. | |
grumpkin-msm = { git = "https://github.com/lurk-lab/grumpkin-msm", branch = "dev", features = ["dont-implement-sort"] } |
36f0d25
to
b30f939
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much!
Resolves #186.
Note:
force-no-sort
does not disable sorting. It removes redundant sort-related symbols betweenpasta-msm
andgrumpkin-msm
so the linker is happy.