NXP backend: added support for aten.conv_transpose2d using new MLIR flow#20807
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20807
Note: Links to docs will display an error until the docs builds have been completed. ⏳ No Failures, 1 PendingAs of commit 857cb68 with merge base 43bdb7b ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
There was a problem hiding this comment.
Pull request overview
This PR extends the NXP backend’s new Neutron MLIR flow to support aten.conv_transpose2d (via aten.convolution with transposed=True), and updates the NXP test suite to validate delegation + numerical correctness across a broader set of transpose-conv shapes/parameters.
Changes:
- Added a reusable
Conv2dTransposedModuletest model and expanded transpose-conv test coverage (delegated and non-delegated cases). - Refactored convolution delegation checks in
ConvolutionConverter(regular + transposed) to use shared parameter extraction and updated Neutron constraints. - Adjusted
ConvParametersto carry FX nodes for input/weight/bias and clarified handling ofoutput_padding.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| backends/nxp/tests/models.py | Adds a ConvTranspose2d-based module used by backend tests. |
| backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py | Reworks and significantly expands transpose-conv delegation/correctness tests. |
| backends/nxp/backend/ir/converter/node_converters/shared/conv_utils.py | Extends ConvParameters to include input/weight/bias FX nodes and updates out_padding typing/comment. |
| backends/nxp/backend/ir/converter/node_converters/ops_converters/convolution_converter.py | Updates delegation support checks and conversion flow to use the new ConvParameters structure and Neutron constraints. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d0fd211 to
83446f8
Compare
|
Fixed issues found by Copilot |
83446f8 to
b6f0fff
Compare
b6f0fff to
95f5378
Compare
roman-janik-nxp
left a comment
There was a problem hiding this comment.
Conv converter support checks are now more readable. Kudos for extensive tests. Please rabase and fix the found issues. Also 2 tests still fail on filename too long error.
95f5378 to
509b206
Compare
509b206 to
d0197a9
Compare
d0197a9 to
360a4e7
Compare
360a4e7 to
6423ced
Compare
|
|
And shortened the names of the tests so pytest does not fail. |
6423ced to
857cb68
Compare
|
Thank you for the approval. |
|
Internal tests are passing, Github CI failures do not seem to be related to this code. |
Summary
Added support for
aten.conv_transpose2dusing new Neutron flow.Test plan
tests can be manually run using
pytest -c /dev/null backends/nxp/tests/cc @robert-kalmar @JakeStevens @digantdesai @rascani @MartinPavella