Files
Markus Fritsche 107ccddbb1 Clean up for public release: README rewrite, LICENSE (MIT), patches reorganized
Final deliverables (mesa-panvk-shared-tls-wls + llama.cpp-mali-mmq-warptile) at top of patches/;
iteration trail moved to patches/iterations/. Public-facing README with the 4.8x result and the
two-fix summary. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 20:35:44 +02:00

27 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Patches
## Apply these two (the deliverables)
| patch | target | what |
|-------|--------|------|
| `mesa-panvk-shared-tls-wls.patch` | Mesa 26.1.3, `src/panfrost/vulkan/` | Fix the panvk priv-VA-heap exhaustion (OOM at ub>64). Device-shared TLS scratch + WLS reuse. Also contains a small `PANVK_AS_LOG` priv-heap instrument (env-gated). |
| `llama.cpp-mali-mmq-warptile.patch` | llama.cpp `389ff61`, `ggml/src/ggml-vulkan/` | Mali/panvk `mul_mm`/`mul_mmq` warptile branch + `BK_STEP` spec constant (L-scoped). The 4.8× prefill. Also contains an env-gated `[panvk-tls]`/`PANVK_WLS_LOG` shader-spill trace. |
Env flags used at runtime (both patches): `PANVK_SHARED_TLS=1 PANVK_WLS_REUSE=1`. Trace flags
(optional): `PANVK_AS_LOG=1`, `PANVK_WLS_LOG=1`.
Build panvk minimally: `meson setup build -Dvulkan-drivers=panfrost -Dgallium-drivers= ...`
(mirrors a bifrost-style co-install). Point `VK_ICD_FILENAMES` at the built `libvulkan_panfrost.so`.
Run on a **panthor** kernel with the GPU bound to `panthor`, not the vendor `mali` blob.
## `iterations/` — the tuning trail (not for applying)
The single-variable shader experiments, in order. See `docs/shader-tuning.md` for the numbers.
- `llama.cpp-0001-vk-tunable-submit-thresholds.patch` — exploratory, no effect (kept for the record).
- `llama.cpp-0002-vk-cmd-cleanup-freq-env.patch` — falsified hypothesis (cmdbufs are in-flight).
- `llama.cpp-0003-mali-warptile-iter1.patch` — 16-acc tile, spill 5328→96 B, ub128 4×.
- `llama.cpp-0003-mali-warptile-iter3-champion.patch` — bigger workgroup, same registers, +10%.
- `llama.cpp-0004-mali-shader-iter5-champion.patch` — scoped BK_STEP=2 (superseded by the final
patch, which is iter5's content).