Add coeff_ops + presolve_ops instrumentation (PRIME mode)#3
Open
thibautbar wants to merge 2 commits into
Open
Conversation
Counts modular coefficient operations so feynman-bench can report a num_ops metric per reduction: - coeff_ops: monomial-level ops in the Laporta substitution kernel (add_to) - presolve_ops: ops in the presolve (add_ibps) Both are per-sector atomics persisted to the kyotocabinet DB and summed in the master, printed as "Coeff ops:", "Presolve ops:", "Total ops:" in the STATISTICS block. The presolve aggregation is gated on Common::one_pass in the second scan_snapshot lambda to avoid double-counting in non-one_pass mode. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two fixes to make Total ops an honest count of modular multiplicative ops: - presolve_ops: each add_ibps outer iteration does (dim+1) coefficient multiplications per single-equation branch and 2*(dim+1) for the both-equations branch, not 1. Bump accordingly instead of once per iter. - div_ops (new): count modular inversions (nmod_div / nmod_inv via operator/), one per pivot coefficient computation. The trailing multiply of a division is left uncounted, symmetric with FIRE 6's mul_inv. Total ops = coeff_ops + presolve_ops + div_ops, printed in STATISTICS and persisted per-sector (keys ops_prs / ops_div) for master aggregation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Counts modular coefficient operations so feynman-bench can report a num_ops metric per reduction: