Channels last: teach the data-movement passes both permute dialects - #22003
Channels last: teach the data-movement passes both permute dialects#22003rascani wants to merge 2 commits into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22003
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 Cancelled Job, 6 Unrelated FailuresAs of commit 7785cf3 with merge base 8b93850 ( CANCELLED JOB - The following job was cancelled. Please retry:
BROKEN TRUNK - The following jobs 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. |
This PR needs a
|
Collect the aten and channels_last permute targets into one shared set and
thread it through the transforms that match, fuse, or assert on a permute.
Before this the passes matched aten.permute_copy by identity, so a
channels_last.permute_copy pair inserted by the layout replacement was
invisible to every canceller in the tree and survived untouched.
No pass gains a new capability; each simply stops ignoring half of the
operators it was written to handle. Inert for callers that never produce the
dialect, which today is all of them.
91 pre-existing permute and channels-last tests, plus a case pinning that an
inverse layout-copy pair around an elementwise operator now cancels.
Authored with Codex.