-
Notifications
You must be signed in to change notification settings - Fork 693
NXP backend: Improve view_copy
delegation
#15270
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
base: main
Are you sure you want to change the base?
NXP backend: Improve view_copy
delegation
#15270
Conversation
… node format. The pass `RemoveGetItemPass` replaces a `max_pool2d_with_indices` node with a `max_pool2d` node, that doesn't require a GetItem afterward. The new operator must, however, preserve the original node format. Therefore, a copy of the pass was created in `backends/nxp/_passes`, where it was modified. The new directory was created, because the pass doesn't follow the `NeutronEdgePass` interface.
Before, the format inference was done during conversion to NeutronIR (after partitioning), so the partitioner didn't yet know the formats. Now, the partitioner has the format data, which can be used to accurately select nodes for delegation.
…der`, to delegate format related transpositions of input/output tensors.
…utputs to Neutron when possible. Due to the different tensor formats used by Executorch and Neutron, the inputs/outputs often have to be transposed. This used to be done exclusively by the runtime. Now, the transpositions are done by Neutron when possible.
Before, this change was "hidden", and it was only done to some inputs/outputs.
…ducing unsupported permutations.
…upported permutations. The conversion of `aten.view_copy` to NeutronIR may sometimes require the insertion of extra `Transpose` operations, which aren't always supported. This change makes sure it doesn't happen.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/15270
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ✅ No FailuresAs of commit bb49f1a with merge base 57a7903 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
Summary
The conversion of
aten.view_copy
to NeutronIR may require the insertion of extraTranspose
operations, which may not be supported. This PR makes sure theview_copy
is only delegated if the extra operations are supported too.Test plan
Unit tests provided.