[Vulkan] LLM decode ~12% slower than XNNPACK on Adreno
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Vulkan LLM decode is ~11-13% slower than XNNPACK on Adreno 840 (Galaxy S26 Ultra), while prefill is ~2x faster. Qwen3, llama_main, cold-device medians, arms interleaved.
| Vulkan (4w) | XNNPACK (8da4w) | |
|---|---|---|
| 0.6B decode | 98.0 tok/s | 109.0 tok/s |
| 1.7B decode | 41.3 tok/s | 47.6 tok/s |
| 0.6B prefill, 41-token prompt | 1568 tok/s | 818 tok/s |
At 0.6B, decode reads 335 MB of weights per token. The q4gsw GEMV is ~74% of GPU time at ~44.5 GB/s, and the GPU is ~100% busy.
#22941 (fused QK+softmax on the SDPA decode path) is the one change that helped: +2.5-3.9% decode.
Tried, no gain:
- 8da4w (
linear_dq8ca_q4gsw): 22% slower than 4w - one command buffer per token: no change
- fusing SwiGLU (sigmoid + 2 muls): 0.998x
- tin GEMM at M=1 instead of the coop GEMV: 5.3x slower
- int3 weights: would beat XNNPACK, but +40% perplexity even with HQQ+AWQ
Possible directions: cut the non-GEMV work (SDPA ~12%, rms_norm ~5%, no-op view copies ~5%), or a sub-4-bit linear kernel paired with a quantizer that holds accuracy.
cc @SS-JIA @manuelcandales @digantdesai @cbilgin
- Vorherrschende Sprache
- Python
- Sterne
- 5.2k
- Forks
- 1.2k
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 696
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus pytorch/executorch
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
pytorch/executorch#24434 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
pytorch/executorch#24410 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement triaged
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 68/100
pytorch/executorch#21640 ·
Maintainer antworten meist innerhalb von 1 Tag
-
module: qnn partner: qualcomm
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
pytorch/executorch#24750 ·
Maintainer antworten meist innerhalb von 1 Tag
-
module: qnn partner: qualcomm
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
pytorch/executorch#24749 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in pytorch/executorch
Ähnliche Issues
-
[BUG]: Compliance rules never see Unity Catalog views as viewsEvtl. vergeben @wagnercsantos hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
databrickslabs/ontos#1348 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
`forum_pr_poster` action will always return `none` when checking for pre-existing feedback threads, even if a feedback thread already exists.Evtl. vergeben @pgmzeta hat das heute übernommen. OffenE-Verified P-Major
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
goonstation/goonstation#28259 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
woonstadrotterdam/monumenten#70 ·
Maintainer antworten meist innerhalb von 15 Tagen
-
binding:python bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
The Browser tab fails with a Wayland error when Open Terminal runs from a Wayland desktop sessionOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
open-webui/open-terminal#210 ·