Repository navigation
IterativePassGroup: warn when the step cap is hit (#24759) - #24759
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/24759
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (1 Unrelated Failure)As of commit 85d0c52 with merge base e0015e1 ( BROKEN TRUNK - The following job failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@mcremon-meta has exported this pull request. If you are a Meta employee, you can view the originating Diff in D129194624. |
This PR needs a
|
49fa61e to
53bd553
Compare
Summary: `IterativePassGroup` re-runs its passes until they stop changing the graph, up to `steps` rounds. Until now it handed `steps` to `ExportedProgramPassManager`, which stops quietly at the cap, so a group that never converged looked the same as one that did. The group now loops itself, one manager step per round, and returns as soon as a round leaves the graph unchanged. If a multi-step group is still changing the graph after its last allowed round, it logs a warning naming the group and the cap. Single-step groups run once by design and never warn. `AdvanceQuantizeOpAboveDefInBranchPass` now reports whether it changed the graph. It returned `ExportPass.call`'s result, which always says modified, so a group containing it could never converge: it ran all of its rounds and hit this warning. Like `AdvanceQuantizeOpAboveDefChainPass`, it now re-traces and reports a change only when it advanced a quantize. The rewrite itself is unchanged. Differential Revision: D129194624
53bd553 to
85d0c52
Compare
rascani
left a comment
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
Summary:
IterativePassGroupre-runs its passes until they stop changing thegraph, up to
stepsrounds. Until now it handedstepstoExportedProgramPassManager, which stops quietly at the cap, so a group thatnever converged looked the same as one that did.
The group now loops itself, one manager step per round, and returns as soon as
a round leaves the graph unchanged. If a multi-step group is still changing the
graph after its last allowed round, it logs a warning naming the group and the
cap. Single-step groups run once by design and never warn.
AdvanceQuantizeOpAboveDefInBranchPassnow reports whether it changed thegraph. It returned
ExportPass.call's result, which always says modified, soa group containing it could never converge: it ran all of its rounds and hit
this warning. Like
AdvanceQuantizeOpAboveDefChainPass, it now re-traces andreports a change only when it advanced a quantize. The rewrite itself is
unchanged.
Differential Revision: D129194624