Qualcomm: HTP hangs in fp16 on a dilated conv when the dilated extent exceeds the input and cin is large
@psiddh ci sta già lavorando.
Dal 23/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Repro
torch.nn.Conv2d(960, 256, kernel_size=3, padding=36, dilation=36, bias=False) # input (1, 960, 65, 65)
Lowered with generate_htp_compiler_spec(use_fp16=True) for SM8850. Lowering succeeds; execution never returns and a watchdog kills it after a constant ~11.47 s:
[ERROR] [Qnn ExecuTorch]: QnnDsp <E> Graph failed in execution with err 1007
[ERROR] [Qnn ExecuTorch]: qnn_graph_execute failed. Error 1007 (1011 in some builds)
ExecuTorch 1.6.0, QAIRT 2.47.0.260601, Galaxy S26 Ultra (SM8850, Hexagon v81), qnn_executor_runner from the same tree.
Bracketing
Both conditions are required: the dilated extent (1 + 36*2 = 73) must exceed the 65px input, and the input-channel count must be large.
| fp16 conv at 65x65 | result |
|---|---|
| 960->256, d36, one op | hang |
| 960->256, d36, as 2x(480->256) summed | 6.83 ms |
| 960->256, d36, as 4x(240->256) summed | 13.38 ms |
| 512->256, d36 | 3.89 ms |
| 960->256, d24 | 15.06 ms |
| 960->256, 1x1 | 4.81 ms |
| same model in a16w8 | 3.25 ms |
The 2-way split is the same math (conv is linear in cin), which points at input-channel volume at that dilation rather than at the op itself.
Does not help
use_multi_contexts, use_slc_allocator, use_dlbc, kHtpSustainedHighPerformance. Input size is irrelevant: 520x520 and 256x256 hang identically.
Impact
DeepLabV3's ASPP uses dilations 12/24/36, so every DeepLabV3 is unusable in fp16 on HTP; the backbone alone runs at 3.77 ms and the full head hangs. a16w8 compiles the same convolution and runs fine, so it looks fp16-specific.
cc @cccclai @winskuo-quic @shewu-quic @haowhsu-quic @DannyYuyang-quic @cbilgin @abhinaykukkadapu @psiddh
- Lingua principale
- Python
- Stelle
- 5k
- Fork
- 1.2k
- Merge medio
- 2g 13h
- PR unite (30g)
- 595
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pytorch/executorch
-
enhancement triaged
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
pytorch/executorch#21640 ·
-
good first issue module: examples module: webgpu
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
pytorch/executorch#23099 ·
-
good first issue module: examples module: vulkan
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
pytorch/executorch#23098 ·
-
good first issue module: cuda module: examples
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
pytorch/executorch#23097 ·
-
pytorch/executorch#23058 · 1 reazione · 1 assegnatario ·
Tutte le issue di pytorch/executorch
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
learningequality/kolibri#15351 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·