Skip to content

fix transpose / permutations fusion pass #10780

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 9, 2025

Conversation

ThomasJannaud
Copy link
Contributor

Summary:
Follow up on D73619452

We noticed that this pattern used to be fused, but stopped being fused after D73619452.

What happens is that we were checking for unitary dimensions. So a tensor of shape [1, 5, 30] is equivalent (in memory) to [5, 1, 30]. So, transposing on [0, 2] then on [0, 1] is (almost) equivalent to an identity and can be fused

This diff re-establishes this behavior.

Differential Revision: D74447383

@ThomasJannaud ThomasJannaud requested a review from tarun292 as a code owner May 9, 2025 03:45
Copy link

pytorch-bot bot commented May 9, 2025

🔗 Helpful Links

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

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

✅ No Failures

As of commit 684edfc with merge base b1b46ee (image):
💚 Looks good so far! There are no failures yet. 💚

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

@facebook-github-bot facebook-github-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 May 9, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D74447383

Summary:

Follow up on D73619452

We noticed that this pattern used to be fused, but stopped being fused after D73619452.

What happens is that we were checking for unitary dimensions. So a tensor of shape [1, 5, 30] is equivalent (in memory) to [5, 1, 30]. So, transposing on [0, 2] then on [0, 1] is (almost) equivalent to an identity and can be fused

This diff re-establishes this behavior.

Reviewed By: mcremon-meta

Differential Revision: D74447383
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D74447383

@facebook-github-bot facebook-github-bot merged commit 6759d35 into pytorch:main May 9, 2025
160 of 162 checks passed
jhelsby pushed a commit to jhelsby/executorch that referenced this pull request May 9, 2025
Differential Revision: D74447383

Pull Request resolved: pytorch#10780
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported topic: not user facing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants