-
Notifications
You must be signed in to change notification settings - Fork 269
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
Add ChunkedPippenger
to variable-base MSM
#364
Conversation
Interesting: internal compiler error: unexpected panic The other bug: https://github.com/arkworks-rs/algebra/runs/4478158408?check_suite_focus=true |
ec/src/msm/mod.rs
Outdated
@@ -3,6 +3,8 @@ mod variable_base; | |||
pub use fixed_base::*; | |||
pub use variable_base::*; | |||
|
|||
pub mod stream_pippenger; |
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.
I would move this into variable_base
, since it's a variable-base MSM
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 the core internal algorithm of streaming MSM. But we do have another streaming MSM function for public use that has not been imported yet because it relies on streaming utilities. The plan is to first decide which repo to put streaming utilities and then import streaming MSM into variable-base MSM.
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.
Pratyush, I think here involves a decision, that is where to put this newer stream variable-base MSM---it clearly belongs to variable base. Does it replace the original variable base algorithm? If not, how should we name then?
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.
I mean that we add this algorithm as another file in the variable_base
module, instead of making it a top-level member of the msm
module.
A micro-optimization that you might want to consider is to build up a buffer of results, and then sum that buffer up in parallel. |
It seems the compiler error is not caused by the imported code. Any idea on fixing that? |
We can either wait for one more day or ignore that. Sometimes, nightly is just unstable. |
We can't. The chunk size As another note: when/if you merge, can you please credit me as co-author of the commitment? This code comes from mmaker/gemini. I can push an empty commitment here if this makes it easier for you. |
You can build up a Re: the authorship, we'll merge it via |
Yah, that's what I meant; I'd stick with this "naïve" version for now. |
It seems that |
ChunkedPippenger
to variable-base MSM
I will wait for Pratyush to do a final pass. |
Description
ChunkedPippenger is a core algorithm for streaming MSM.
We could add streaming MSM on top of it after the stream utils are imported.
The test of this algorithm is added into tests macros in test-templates.
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
Pending
section inCHANGELOG.md
Files changed
in the GitHub PR explorer