llama.cpp b9580 adds Vulkan dot2 support for faster LLM inference
New Vulkan dot product ops boost matrix multiplication and Flash Attention performance
The latest release of llama.cpp, version b9580, brings significant performance enhancements for users running large language models locally via Vulkan compute. The key change is the addition of v_dot2_f32_f16 support in matrix-matrix multiplication and Flash Attention operations. This leverages the Vulkan dot product acceleration, particularly beneficial on GPUs supporting the Valve fp16 dot2 extension. The implementation includes a macro-based dot product abstraction to reduce preprocessor branching, making the code cleaner and more maintainable.
The release also includes extensive platform support: macOS Apple Silicon (arm64) with optional KleidiAI, Linux (x86, ARM, s390x, with Vulkan, ROCm, OpenVINO, SYCL), Windows (x86, ARM64, with CUDA 12 and 13, Vulkan, HIP), Android arm64, and iOS XCFramework. Some builds like macOS Intel and openEuler are disabled. This update is part of the ongoing efforts to optimize local LLM inference, making it faster and more accessible on consumer hardware with Vulkan-capable GPUs.
- Adds v_dot2_f32_f16 support for Vulkan matrix-matrix multiplication and Flash Attention
- Includes support for Valve fp16 dot2 extension and improved dot product abstraction
- Builds available for macOS, Windows, Linux, Android, and iOS across CPU, GPU, and specialized backends
Why It Matters
Faster local LLM inference on Vulkan GPUs means better real-time performance for AI chatbots and assistants.