From a6467cc359cd7709994196c736304cca418e2f1e Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Sun, 12 Jul 2026 06:28:14 +0200 Subject: [PATCH] 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. --- docs/gemma-gpu-kernel-bringup-2026-07-12.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/gemma-gpu-kernel-bringup-2026-07-12.md b/docs/gemma-gpu-kernel-bringup-2026-07-12.md index 17835bb..435c7bc 100644 --- a/docs/gemma-gpu-kernel-bringup-2026-07-12.md +++ b/docs/gemma-gpu-kernel-bringup-2026-07-12.md @@ -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).