Skip to content

Avoid per-node GraphModule retracing in view/permute propagation - #22066

Open
apullin wants to merge 1 commit into
pytorch:mainfrom
apullin:export-D117110269
Open

Avoid per-node GraphModule retracing in view/permute propagation#22066
apullin wants to merge 1 commit into
pytorch:mainfrom
apullin:export-D117110269

Conversation

@apullin

@apullin apullin commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary:
Batch all currently eligible view/permute propagation moves in one fixed-point scan before retracing the graph. The prior loop retraced the complete graph after every individual move, which becomes quadratic on large repeated models.

The pass still retraces between fixed-point scans, before newly exposed propagation opportunities are reconsidered, and before horizontal/vertical cleanup.

Differential Revision: D117110269

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani

Summary:
Batch all currently eligible view/permute propagation moves in one fixed-point scan before retracing the graph. The prior loop retraced the complete graph after every individual move, which becomes quadratic on large repeated models.

The pass still retraces between fixed-point scans, before newly exposed propagation opportunities are reconsidered, and before horizontal/vertical cleanup.

Differential Revision: D117110269
@apullin
apullin requested a review from digantdesai as a code owner August 24, 2026 04:39
@pytorch-bot

pytorch-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22066

Note: Links to docs will display an error until the docs builds have been completed.

❌ 3 New Failures

As of commit 513d889 with merge base b8b5e0f (image):

NEW FAILURES - The following jobs have failed:

  • Cadence Build & Test / hifi-build / hifi4 (gh)
    ##[error]Refusing to check out fork pull request code from a 'pull_request_target' workflow. This workflow runs with the base repository's GITHUB_TOKEN, secrets, default-branch cache scope, and runner access. Fetching and executing a fork's code in that trusted context commonly leads to "pwn request" vulnerabilities. To opt in, review the risks at https://gh.io/securely-using-pull_request_target and set 'allow-unsafe-pr-checkout: true' on the actions/checkout step.
  • Cadence Build & Test / vision-build / vision (gh)
    ##[error]Refusing to check out fork pull request code from a 'pull_request_target' workflow. This workflow runs with the base repository's GITHUB_TOKEN, secrets, default-branch cache scope, and runner access. Fetching and executing a fork's code in that trusted context commonly leads to "pwn request" vulnerabilities. To opt in, review the risks at https://gh.io/securely-using-pull_request_target and set 'allow-unsafe-pr-checkout: true' on the actions/checkout step.
  • trunk / test-arm-backend-vkml (test_pytest_ops_vkml) / linux-job (gh)
    RuntimeError: Command docker exec -t dcb9bb16b2b78f58f45ea5699ecddcb10518c1ece63c6004e1cc0947b13bfd33 /exec failed with exit code 1

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 24, 2026
@meta-codesync

meta-codesync Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

@apullin has exported this pull request. If you are a Meta employee, you can view the originating Diff in D117110269.

@github-actions

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported module: arm Issues related to arm backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant