You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Strikes me that the reuse of the z[col] variable means that the A, B, C matrices should be jointly iterated
I'm uncertain of the representation of the M elements in the A, B, C matrices. It's possible these are sparse or out of order making these iterators more complicated.
Finally I'd guess that the elements of A, B, C, z have high density of 0 / 1 / small field elements. Likely worth optimizing for these edge-cases.
I will push a span called construct_ml_polynomials which instruments this section.
I believe this one is best done experimentally.
The text was updated successfully, but these errors were encountered:
https://github.com/a16z/Spartan2/blob/uniform_r1cs_shape/src/spartan/snark.rs#L189-L201
Construction of Multilinear Polynomials is quite slow.
First the
poly_uCz_E
computation can be parallelized.Secondly the
R1CSShape::multiply_vec
function may be suboptimal. https://github.com/a16z/Spartan2/blob/uniform_r1cs_shape/src/r1cs.rs#L137z[col]
variable means that the A, B, C matrices should be jointly iteratedM
elements in the A, B, C matrices. It's possible these are sparse or out of order making these iterators more complicated.I will push a span called
construct_ml_polynomials
which instruments this section.I believe this one is best done experimentally.
The text was updated successfully, but these errors were encountered: