Files
intel-gpu-llm-diagnosis/repos/patch/phase3-vulkan-intel/README.md
T
sleepy 6ad84d543c feat: phased patch system for Intel Arc GPU performance fixes
3-model council (GLM-5.1, Minimax-M2.7, Kimi k2p5) analyzed Intel Arc GPU
performance issues and produced patches for llama.cpp:

Phase 1 - SYCL Sync: Enable graph execution by default (GGML_SYCL_DISABLE_GRAPH)
Phase 2 - SYCL Kernel: Fix VER_GEN12/13 thresholds, tune DMMV_X/MMV_Y
Phase 3 - Vulkan Intel: Arc 140T device-ID Xe2 override

Includes:
- Phased apply script (apply-phase.sh [1|2|3|all])
- Master apply script with --status/--reverse/--dry-run
- Per-phase READMEs with testing checklists
- Council deliberation logs (gitignored in logs/)

Verified: all patches apply/reverse cleanly via git apply.
Static verification: VER_GEN arithmetic and DMMV_X divisibility pass.
2026-04-15 14:53:40 +02:00

31 lines
1.0 KiB
Markdown

# Phase 3 — Vulkan Intel Fixes
**Depends on:** Phase 1 and 2 (should be applied and tested first)
## 0001-arc-140t-xe2-override.patch
Adds device-ID override for Intel Arc 140T (Arrow Lake H) to force INTEL_XE2
classification in the Vulkan backend.
### Problem
Arc 140T reports minSubgroupSize=8 instead of 16. The Vulkan backend uses
minSubgroupSize to detect Xe2. When misreported, the 140T is classified as
OTHER, disabling cooperative matrix and all dependent optimizations.
### Fix
Checks for Arrow Lake H device IDs (0x7D51, 0x7D45) before the minSubgroupSize
check and returns INTEL_XE2 directly.
### Applies to
Both the EXT and KHR code paths in ggml-vulkan.cpp.
### Impact
Only affects Arrow Lake H (Arc 140T) systems. No effect on other hardware.
### Testing checklist
- [ ] Build succeeds with Vulkan support
- [ ] Arc 140T: device classified as INTEL_XE2
- [ ] Arc 140T: cooperative matrix shaders used for matmul
- [ ] Other Intel GPUs: no change in behavior
- [ ] Non-Intel GPUs: no change in behavior