Make layout propagation fixed-point and broadcast-safe - #21956
Make layout propagation fixed-point and broadcast-safe#21956mcremon-meta wants to merge 1 commit into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21956
Note: Links to docs will display an error until the docs builds have been completed. ❌ 3 New Failures, 1 Unrelated FailureAs of commit 26a6b8e with merge base 3caaaca ( NEW FAILURES - The following jobs have failed:
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 D116683130. |
This PR needs a
|
|
@zingo can we get the right eyes on this please? |
Summary: Run view/permute propagation to a fixed point for every supported TOSA specification instead of conditionally disabling iterative propagation for one specification family. A layout transform may be element-order invariant at a reshape while the reshape output shape remains semantically significant to downstream broadcasting. Make permutation-sink termination conditional on downstream layout invariance, preserving the transform when another consumer depends on its logical axis placement. This allows all targets to use the same propagation algorithm while retaining conservative correctness checks around elementwise inputs, reshape sinks, and keep-dimension reductions. Differential Revision: D116683130
af88110 to
26a6b8e
Compare
Summary:
Run view/permute propagation to a fixed point for every supported TOSA specification instead of conditionally disabling iterative propagation for one specification family.
A layout transform may be element-order invariant at a reshape while the reshape output shape remains semantically significant to downstream broadcasting. Make permutation-sink termination conditional on downstream layout invariance, preserving the transform when another consumer depends on its logical axis placement.
This allows all targets to use the same propagation algorithm while retaining conservative correctness checks around elementwise inputs, reshape sinks, and keep-dimension reductions.
Differential Revision: D116683130
cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani