Qualcomm: HTP hangs in fp16 on a dilated conv when the dilated extent exceeds the input and cin is large
@psiddh がすでに取り組んでいます。
2026年9月23日 から。
評価
この issue はまだ評価されていません。
説明
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
- 主要言語
- Python
- スター
- 5k
- フォーク
- 1.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 595
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pytorch/executorch のほかの issue
-
enhancement triaged
難易度 2/5 半日 初心者へのやさしさ 68/100
pytorch/executorch#21640 ·
-
good first issue module: examples module: webgpu
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
pytorch/executorch#23099 ·
-
good first issue module: examples module: vulkan
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
pytorch/executorch#23098 ·
-
good first issue module: cuda module: examples
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
pytorch/executorch#23097 ·
-
pytorch/executorch#23058 · リアクション 1 件 · 担当者 1 名 ·
pytorch/executorch の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stephrobert/dsoxlab#238 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
sublimehq/package_control#1780 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
nwg-piotr/nwg-displays#145 ·