Qualcomm: HTP hangs in fp16 on a dilated conv when the dilated extent exceeds the input and cin is large
Los mantenedores suelen responder en 1 día
@psiddh ya está trabajando en esto.
Desde el 23/9/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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
- Lenguaje dominante
- Python
- Estrellas
- 5.1k
- Forks
- 1.2k
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 632
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pytorch/executorch
-
Portable remainder kernel: wrong sign for integers and float64 rounded to floatPosiblemente ocupada @usmanmateen la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
pytorch/executorch#23682 ·
Los mantenedores suelen responder en 1 día
-
enhancement triaged
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
pytorch/executorch#21640 ·
Los mantenedores suelen responder en 1 día
-
Portable floor_divide returns non-whole numbers for floats and wrong values for a zero divisorPosiblemente ocupada @usmanmateen la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
pytorch/executorch#23684 ·
Los mantenedores suelen responder en 1 día
-
torch.var_mean and torch.std_mean fail in to_edge: aten.var_mean.correction is not core ATen and has no core decompositionPosiblemente ocupada @usmanmateen la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
pytorch/executorch#23680 ·
Los mantenedores suelen responder en 1 día
-
Prompts of max_seq_len tokens fail to prefill: export_llm bounds the KV-cache token input at max_seq_len - 1 but publishes get_max_seq_len = max_seq_lenPosiblemente ocupada @alpharomercoma la tomó hace 2 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 20/100
pytorch/executorch#23678 ·
Los mantenedores suelen responder en 1 día
Todos los issues de pytorch/executorch
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
esphome/esphome.io#7657 ·
Los mantenedores suelen responder en 1 día
-
comp/gateway comp/plugins duplicate P3 type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NousResearch/hermes-agent#137019 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Kumo-Tabular weights unreachable behind restrictive egress proxies (Xet + plain HTTP both fail)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
NVIDIA/structured-data-models#1091 ·
Los mantenedores suelen responder en 1 día
-
[work-item] adam-adae-worsening-emergence: conform spec.yaml to the specification style contract (REQ-1280)Posiblemente ocupada @muse-yamaa-bot la tomó hoy. Abiertowork-item
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día