Skip to content

chore: compute beta products for max log dyadic size instead of 21#16772

Merged
ludamad merged 1 commit into
merge-train/barretenbergfrom
jh/beta-product
Sep 4, 2025
Merged

chore: compute beta products for max log dyadic size instead of 21#16772
ludamad merged 1 commit into
merge-train/barretenbergfrom
jh/beta-product

Conversation

@johnathan79717

Copy link
Copy Markdown
Contributor

From running BB_BENCH=1 ./build/bin/client_ivc_bench --benchmark_filter='.*Full/5.*', we can see that the compute_combiner only takes up 53.3% of the time of combiner_quotient_round.

  ├─ ProtogalaxyProver_::combiner_quotient_round                                       [1]  20.4 %   1.18s      (107.14 ms x 11)
    ├─ compute_combiner                                                                  [2]  53.3 %   628.5ms    (57.14 ms x 11)
    └─ (other)                                                                           [2]  46.7 %   550.1ms   

After some investigation, about 40% of the time was spent on compute_beta_products to construct gate separators. Its size was a constant 2**21 but we only use it up to the dyadic size of the circuit. This PR passes the max dyadic size instead.

This change saved about 500ms from combiner_quotient_round in the Full/5 benchmark.

  └─ ProtogalaxyProver_::combiner_quotient_round                                       [1]  12.7 %   693.0ms    (63.00 ms x 11)
    ├─ compute_combiner                                                                  [2]  90.2 %   625.1ms    (56.83 ms x 11)
    └─ (other)                                                                           [2]  9.8  %

@iakovenkos iakovenkos left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@ludamad ludamad merged commit 54f9437 into merge-train/barretenberg Sep 4, 2025
6 checks passed
@ludamad ludamad deleted the jh/beta-product branch September 4, 2025 14:33
github-merge-queue Bot pushed a commit that referenced this pull request Sep 4, 2025
BEGIN_COMMIT_OVERRIDE
chore: compute beta products for max log dyadic size instead of 21
(#16772)
chore: bool_t from witness index functionality  (#16688)
chore: audit the set relation of the ECCVM (#16706)
chore: update readme in the eccvm to include description of multiset and
lookups (#16765)
END_COMMIT_OVERRIDE
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

Successfully merging this pull request may close these issues.

3 participants