-
Notifications
You must be signed in to change notification settings - Fork 796
NXP backend: added aten.split support #16490
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
NXP backend: added aten.split support #16490
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/16490
Note: Links to docs will display an error until the docs builds have been completed. ❌ 5 New Failures, 1 Unrelated FailureAs of commit 3016a50 with merge base 0391fe7 ( NEW FAILURES - The following jobs have failed:
UNSTABLE - The following job is marked as unstable, possibly due to flakiness on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@pytorchbot label "release notes: nxp" |
|
@pytorchbot label "module: nxp" |
|
Fixed all issues mentioned in this PR (#16276), including the comment of @roman-janik-nxp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for the aten.split operator in the NXP backend by introducing a new pass that decomposes split operations into slice operations. The key addition is the DecomposeSplitToSlicesPass, which transforms aten.split.Tensor, aten.split.default, and aten.split_with_sizes.default operations into equivalent aten.slice.Tensor operations that the backend can handle.
Key changes:
- Added
DecomposeSplitToSlicesPassto decompose split operations into slices - Removed
ConvertUnsqueezeToViewPassfrom the default pass manager - Added test models (
SplitWithSize,SplitWithSections,GRUModel) to support split testing - Introduced comprehensive tests for the new decomposition pass
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| backends/nxp/aten_passes/decompose_split_to_slices_pass.py | New pass that decomposes split operations into multiple slice operations for backend compatibility |
| backends/nxp/aten_passes/neutron_aten_pass_manager.py | Added DecomposeSplitToSlicesPass to default passes and removed ConvertUnsqueezeToViewPass import |
| backends/nxp/tests/test_decompose_split_to_slices.py | Comprehensive test suite for the new split decomposition pass |
| backends/nxp/tests/models.py | Added test models (GRUModel, SplitWithSize, SplitWithSections) to support split operation testing |
| backends/nxp/tests/test_split_group_convolution.py | Added workaround to exclude DecomposeSplitToSlicesPass from affecting group convolution tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
abb63f7 to
72f82ff
Compare
72f82ff to
3016a50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
adds support for aten.split operator
Test plan
tests can be manually run using
pytest -c /dev/null backends/nxp/tests/cc @robert-kalmar @JakeStevens @digantdesai @MartinPavella