Description
This issue was initiative along with reviewing PR #864 , the first scenario we kick of the batched of sumcheck in different number of variables.
Basically due to the invesigation for why num_thread > 1 not work in this test case https://github.com/scroll-tech/ceno/blob/master/sumcheck/src/test.rs#L29-L30
In current design, batched sumcheck with different num_vars are implemented by times a scalar, see docs in code comment
Lines 414 to 425 in a0b719d
The methodology works by starting binding variable on all polys, so some poly with smaller num_var will be ended earlier.
In another word, giving the final opening point
However, batch different num of variable in prefix alignment, doesn't fit in devirgo style sumcheck, due to we break down sumcheck into 2 phase. In first phase, we break down evaluation into #threads section, and all polynomial bind as "constant" right at the last round of phase 1. This prefix-alignment works well when all poly are in same num_var. However, when poly are in different number of variable, some poly with less num_var in prefix alignment will be end much earlier, which break the rule for all polynomial should be end together in phase 1.
To address the issue, we need to modify the sumcheck design to be right alignment. Thus, giving same opening point
cc @Jiangkm3
Metadata
Metadata
Assignees
Labels
Type
Projects
Status