Skip to content

llama.cpp b9969: Vulkan fix stops llama-cli crashes on Adreno GPUs

llama.cpp release b9969 routes large matmuls to medium tile on Adreno, fixing llama-cli crashes on longer prompts with q4_0 quantized models.

llama.cpp b9969 fixes a Vulkan crash on Adreno GPUs that broke llama-cli on longer prompts with q4_0 quantized models — one of the most common formats for local LLM inference on Android.

What changed:

  • Vulkan matmul routing — large matmuls now route to medium tile on Adreno (#24877)
  • Prompt crash fix — llama-cli no longer breaks on longer prompts with q4_0 networks
  • Root cause — insufficient shared memory on Adreno for the previous tile size
  • Adreno cleanup — removed unused Adreno device from the pipeline
  • Small pipeline — matmul updated for the small pipeline path

The crash hit real workloads, not edge cases. q4_0 is a default quantization pick for on-device inference, and longer prompts are the norm for chat and agent loops — exactly where Adreno GPUs live (Qualcomm Snapdragon phones and tablets).

NOTE

The macOS Apple Silicon build with KleidiAI enabled is disabled in this release. The standard arm64 build is unaffected. Windows x64 now ships CUDA 13.3 DLLs alongside the existing CUDA 12.4 build.

Build coverage spans macOS (arm64, x64), Linux (CPU, Vulkan, ROCm 7.2, OpenVINO, SYCL FP32/FP16), Windows (CPU, CUDA 12/13, Vulkan, OpenVINO, SYCL, HIP, OpenCL Adreno), Android (arm64 CPU), and openEuler (310p, 910b ACL Graph). General openEuler is disabled.

Available now — prebuilt binaries for all active targets are on the b9969 release page.