profile_step: --analytic_wigner + path-aware Wigner breakdown - #11
Merged
Merged
Conversation
--analytic_wigner toggles the matrix-free rotation (set_analytic_wigner; m_max <= 1, single-backward — forces are profiled, force-loss training is not; the model's own guards surface misuse, verified: the --edge_frame_fused combination raises the mutual-exclusion error). The Wigner stage breakdown had gone stale for truncated models: it always timed recursive build → full-block assembly → full bmm, while since the D-slice landed the model actually runs the kept-column slice whenever m_max < l_max (and the weight contraction under --analytic_wigner). The full-block lines stay as the reference decomposition; a "Wigner ACTIVE:" pair now times whichever path the model really uses when it differs. Co-Authored-By: Claude Fable 5 <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.
Adds
--analytic_wignertotools/profile_step.py(mirrors the other runtime toggles; the model's own guards handlem_max > 1and the--edge_frame_fusedmutual exclusion — verified to surface cleanly).Also fixes a stale breakdown: the Wigner stage always timed the full-block pipeline, but since #10 the model actually runs the kept-column slice whenever
m_max < l_max(or the matrix-free weights under the new flag). The full-block lines remain as the reference decomposition, and aWigner ACTIVE:pair now times whichever path the model really uses when it differs.Smoke-tested on an
m_max=1 < l_max=2fixture checkpoint in all three modes.🤖 Generated with Claude Code