RESULTS: gemma4 renders CORRECTLY on Mali GPU (panvk, plain 7.0.0-rc3) -> ' Paris.'; stock ~1 t/s prefill (needs champion shader). Correctness gate PASSED.

This commit is contained in:
Markus Fritsche
2026-07-12 06:28:14 +02:00
parent d32c653c9a
commit a6467cc359
@@ -97,3 +97,24 @@ gate, speed second.
(shared-TLS/WLS OOM fix). Env: `PANVK_SHARED_TLS=1 PANVK_WLS_REUSE=1`.
- Models: `~/models/gemma4-a4b/` (Q4 QAT 13GB, UD-Q2 9.8GB, MTP draft), `~/models/gemma-4-E2B-it-Q4_K_M.gguf`,
`~/models/qwen2.5-3b-instruct-q4_k_m.gguf`.
## RESULTS (2026-07-12, plain 7.0.0-rc3, clean boot, gemma-4-E2B fully offloaded)
**CORRECTNESS GATE: PASSED.** On plain `7.0.0-rc3` + fresh GPU state, a single uninterrupted
`llama-server` (stock July mainline `build-vulkan`, `-ngl 99`, panvk) loaded `gemma-4-E2B` and
`/completion "The capital of France is"` returned **`" Paris."`** — coherent, not garbage. So the
"gemma/Qwen3 garbage on Vulkan" does NOT reproduce in this stock build on Mali. gemma4 arch renders
correctly on the GPU. The 26B's only blocker is size (Mali VA), not correctness.
**SPEED: stock panvk on Mali is ~1 t/s prefill — unusably slow WITHOUT the champion shader.**
First request (6-tok prompt): prefill **0.91 t/s**, decode **2.63 t/s**. This is exactly the hole
the champion `mul_mmq` warptile shader fills (5.8 -> 28 t/s on qwen2.5-3b). The stock build has no
Mali tuning. So: correctness is free on stock; speed requires porting `patches/llama.cpp-mali-mmq-warptile.patch`
onto the July build.
**Resolved:** A1 (7.0.0-rc3-ARCH+) hangs panvk compute; plain 7.0.0-rc3 runs it. Same panthor 1.7.0
on both, so the differentiator is the kernel BUILD, not the driver version (root cause of A1's hang
still unknown but moot — use plain mainline). GPU wedges if you pkill a job mid-compute; reboot clears.
**Next:** port the champion shader onto `build-vulkan` and re-measure gemma-4-E2B prefill on GPU;
the correctness question is now closed (works).