Skip to content

Channels last: optimize structural layout regions - #21962

Draft
rascani wants to merge 18 commits into
mainfrom
gh/rascani/8/head
Draft

Channels last: optimize structural layout regions#21962
rascani wants to merge 18 commits into
mainfrom
gh/rascani/8/head

Conversation

@rascani

@rascani rascani commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Introduce common structural layout-copy helpers and teach the shared transpose
and permute transforms to preserve layout provenance only when every
contributing copy is layout-owned.

Add opt-in layout-region boundary propagation with backend barriers, rank and
broadcast validation, constant remapping, alias handling, symbolic-shape
support, and copy-volume safety. Per-channel QDQ remains a barrier because its
axis is dimension-dependent.

Read the whole of remove_permutes_around_elementwise_ops.py rather than the
diff: the boundary machinery is easier to follow as a unit than as a patch
against the pre-existing subgraph walk.

Local Corstone-300 run of the full Cortex-M suite (670 passed, 4 skipped, 45
xfailed, 4 xpassed), the transforms suites, and lintrunner.

Authored with Codex.

[ghstack-poisoned]
[ghstack-poisoned]
@pytorch-bot

pytorch-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

🔗 Helpful Links

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

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

❌ 1 New Failure, 7 Cancelled Jobs, 1 Unrelated Failure, 1 Unclassified Failure

As of commit ca8d486 with merge base 469debd (image):

NEW FAILURE - The following job has failed:

UNCLASSIFIED FAILURE - DrCI could not classify the following job because the workflow did not run on the merge base. The failure may be pre-existing on trunk or introduced by this PR:

CANCELLED JOBS - The following jobs were cancelled. Please retry:

FLAKY - The following job failed but was likely due to flakiness present on trunk:

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

[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
@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.

[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
@rascani rascani changed the title Channels last: optimize structural layout regions Channels last: make region cancellation respect layout barriers Aug 25, 2026
@rascani
rascani marked this pull request as draft August 25, 2026 22:43
[ghstack-poisoned]
@rascani rascani changed the title Channels last: make region cancellation respect layout barriers Channels last: optimize structural layout regions Aug 25, 2026
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. module: arm Issues related to arm backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants