[QNN] 16a4w_block stride-2 conv + ReLU fails HTP graph prepare on SM8850 (Relu16bParamsPlaceholder)
Maintainer thường phản hồi trong vòng 1 ngày
@psiddh đang làm issue này rồi.
Từ ngày 16/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
🐛 Describe the bug
A 16a4w_block (LPBQ) conv with stride 2 followed by ReLU fails HTP graph prepare on SM8850, for every block size tried (16/32/64):
[ERROR] [Qnn ExecuTorch]: tcm_migration.cc:2163::ERROR:no properties registered for q::Relu16bParamsPlaceholder
[ERROR] [Qnn ExecuTorch]: graph_prepare.cc:208::ERROR:could not create op: q::Relu16bParamsPlaceholder
AssertionError: Failed to generate Qnn context binary.
Stride 1, stride 2 without the ReLU, and plain per-channel 16a4w with stride 2 + ReLU all lower fine. Hit on DeepLabV3-ResNet50 (torchvision), where it blocks LPBQ for most ResNet-style CNNs.
import torch
from executorch.backends.qualcomm.quantizer.quantizer import QnnQuantizer, QuantDtype
from executorch.backends.qualcomm.serialization.qc_schema import QcomChipset
from executorch.backends.qualcomm.utils.utils import (
generate_htp_compiler_spec, generate_qnn_executorch_compiler_spec, to_edge_transform_and_lower_to_qnn)
from torchao.quantization.pt2e.quantize_pt2e import convert_pt2e, prepare_pt2e
class M(torch.nn.Module):
def __init__(self):
super().__init__()
self.conv = torch.nn.Conv2d(256, 128, 3, stride=2, padding=1)
def forward(self, x):
return torch.relu(self.conv(x))
x = (torch.randn(1, 256, 64, 64),)
gm = torch.export.export(M().eval(), x).module()
conv = next(n.name for n in gm.graph.nodes if n.target == torch.ops.aten.conv2d.default)
q = QnnQuantizer(soc_model=QcomChipset.SM8850)
q.set_default_quant_config(quant_dtype=QuantDtype.use_16a4w_block, is_conv_per_channel=True)
q.set_block_size_map({conv: (1, 16, 1, 1)})
p = prepare_pt2e(gm, q)
p(*x)
specs = generate_qnn_executorch_compiler_spec(
soc_model=QcomChipset.SM8850, backend_options=generate_htp_compiler_spec(use_fp16=False))
to_edge_transform_and_lower_to_qnn(convert_pt2e(p), x, specs).to_executorch()
Versions
ExecuTorch main e6cfbf87c3, QAIRT 2.47.0.260601, x86_64 Linux host, target SM8850 (V81).
cc @cccclai @winskuo-quic @shewu-quic @haowhsu-quic @DannyYuyang-quic @cbilgin @abhinaykukkadapu @psiddh
- Ngôn ngữ chính
- Python
- Star
- 5.1k
- Fork
- 1.2k
- Merge trung bình
- 2 ngày 14 phút
- Pull request đã merge (30 ngày)
- 704
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pytorch/executorch
-
Portable remainder kernel: wrong sign for integers and float64 rounded to floatCó thể đã có người làm @JakeStevens đã nhận 5 ngày trước. Đang mởbug module: kernels triaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
pytorch/executorch#23682 · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement triaged
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 68/100
pytorch/executorch#21640 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 40/100
pytorch/executorch#23913 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Cortex-M backend replaces channels-first dw conv with channels-last dw conv without handling the changed layout, fails at runtimeCó thể đã có người làm @rahimuddin140 đã nhận 1 ngày trước. Đang mởbug module: microcontrollers partner: arm
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
pytorch/executorch#23812 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[muse-glimmer] interpolate_pos_emb returns corrupted bf16 values on CPU and can segfaultCó thể đã có người làm @JakeStevens đã nhận 3 ngày trước. Đang mởbug module: examples triaged
pytorch/executorch#23797 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của pytorch/executorch
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
infrastructure qa
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
khuisman/mcp-gee-sweet#1068 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
The book has a Nix install section that chelis.ch lacks, and it names two of the three systemsĐang mởarea:ecosystem documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Chelis-Lang/chelis#3866 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`lvm_compact` has no self-hosted twin, and `docs/158` §5 says every language-face component mustĐang mởbug sev-3 vm
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
issue: Picking a prompt from the / menu in a channel inserts a command chip instead of the promptĐang mởbug confirmed issue
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 78/100
open-webui/open-webui#32712 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày