Skip to content

Qualcomm: backport remaining YOLO26 QNN fixes - #21

Merged
msluszniak merged 3 commits into
@ms/separate-backends-1.4.1from
@ms/qnn-fixes-1.4.1
Oct 22, 2026
Merged

msluszniak merged 3 commits into
@ms/separate-backends-1.4.1from
@ms/qnn-fixes-1.4.1

Conversation

@msluszniak

Copy link
Copy Markdown

Backports of pytorch/executorch#24078, #24079, #24080. Follow-up to #14.

New tests fail on the base and pass here; test_passes.py and the x86-simulator FP/quantized operator and FP model suites pass.

… 0D select

Remove0DTensor replaced a 0D select with its whole source, which is only right for a
1-element source: y + x[1] became y + x, and torch.full(shape, t[i]) became a copy of
all of t (lowering then failed with "expand: ... length 3 -> 1"). A 1-element slice of
the selected element replaces it instead.

Backport of pytorch/executorch#24078. 1.4.1 has no rework pass tests.
…loat

An integer cast to a quantized float tensor lowered to QNN Cast, which copies the
integer's raw value into the fixed-point tensor (56 became 56 * scale), and the HTP
rejects Convert there. Cast to fp32, then Quantize.

Backport of pytorch/executorch#24079.
AnnotateUnbind read the quant attrs from the quantize node feeding unbind's dequantize,
but a folded quantized constant feeds the dequantize directly, and the pass crashed
with "'str' object has no attribute '_schema'". Take them from the dequantize then.

Backport of pytorch/executorch#24080. 1.4.1 has no rework pass tests, so the test is an end-to-end lowering test in test_passes.py here.
@msluszniak
msluszniak merged commit 8b51f83 into @ms/separate-backends-1.4.1 Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant