Qualcomm AI Engine Direct - Adding QNN backend support for reflection_pad3d core ATen op - #21502
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21502
Note: Links to docs will display an error until the docs builds have been completed. ❌ 94 New Failures, 3 Pending, 5 Unclassified FailuresAs of commit 1738773 with merge base 454f979 ( NEW FAILURES - The following jobs have failed:
UNCLASSIFIED FAILURES - DrCI could not classify the following jobs because the workflow did not run on the merge base. The failures may be pre-existing on trunk or introduced by this PR:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@pytorchbot label "release notes: qualcomm" |
|
@claude pls review |
|
Claude finished @psiddh's task in 8m 56s —— View job Code Review:
|
…_pad3d core ATen op
10f8be4 to
1738773
Compare
|
@psiddh
|
Summary
Added support for
aten.reflection_pad3don the QNN HTP backend via a decomposition pass into theindex_select+catoperations.Note that QNN HTP's native Pad op with
MIRROR_REFLECTscheme only supports tensors up to rank 4. Sincereflection_pad3doperates on 5D tensors[N, C, D, H, W], it cannot be delegated directly. Using2dor1dvariants of this op in a decomposition is complicated, so this PR decomposesreflection_pad3dintoindex_selectandcat, which are both fully supported at 5D rank on HTP.This is done by:
index_selectto gather mirrored indices along the dimension.catto concatenate the reflected slices with the original tensor.Test plan