ggml v0.25.2 Released with Hardware Backend Optimizations

At a Glance
| Item | Value |
|---|---|
| Repository | ggml-org/ggml |
| Version | v0.25.2 |
| Published | 2026-09-24 |
| License | MIT |
| Source type | Primary source (the publisher itself) |
Values determined by this site’s code at collection time. Dates are JST.
Overview
The latest version “v0.25.2" of ggml-org/ggml has been released. ggml is a C++ tensor library for machine learning widely used for local LLM inference and other tasks. It is developed as open source under the MIT license and has earned over 15,000 stars on GitHub.
This version is a minor point release focused on improvements to various hardware backends. As the changes with the most impact for users, optimizations, bug fixes, and the addition of new kernels have been implemented for major backends such as CUDA, Vulkan, OpenCL, and Hexagon. In particular, it includes speedups for 3D convolution (conv3d) in CUDA environments and optimizations for Vulkan cooperative matrix support on Adreno mobile GPUs, making it an update that can be expected to bring performance and stability improvements for users utilizing the target environments.
Key Changes
Addition of conv3d Kernel in CUDA
A new conv3d kernel has been added to the CUDA backend. This kernel is characterized by its ability to utilize a fast path called “implicit-GEMM" in processing using F16 weights. Additionally, a direct fallback processing is provided for F32 shapes.
This is expected to improve performance when performing 3D convolution processing in CUDA environments. This change affects users performing specific tensor operations using CUDA. No special configuration changes are required after the update, but processing efficiency for the relevant operations will be improved. (PR #29137)
Alignment Support and Adreno Optimizations in Vulkan
Two important improvements have been made in the Vulkan backend.
First, matrix multiplication shaders for conv_2d and conv_3d have been fixed to properly handle misalignment. (PR #29365)
Second, VK_KHR_cooperative_matrix support has been enabled and tuned for Adreno GPUs equipped with hardware matrix cores. (PR #29328)
This change directly impacts users who use the Vulkan backend on a daily basis and developers running local models in mobile environments such as Android devices.
DP4A Kernel Optimization for Q6_K in OpenCL
In the OpenCL backend, an optimized DP4A binary kernel has been added for GEMM (matrix multiplication) processing of non-MoE models using Q6_K quantization. (PR #29057)
This brings operation speedups to users running Q6_K quantized models using the OpenCL backend on hardware that supports DP4A instructions. If you are running inference with Q6_K quantized models in the applicable environment, you can expect an improvement in processing speed through the update.
Addition of Precision Guard in Hexagon Backend
A precision guard has been introduced in the Qualcomm Hexagon DSP backend to reject MUL_MAT_ID processing as unsupported when the precision of the input tensor src1 is F32. (PR #29348)
This change prevents processing with F32 precision—which was previously unsupported—from executing and causing unexpected behavior, enhancing system stability through stricter error handling. This affects users developing or running inference utilizing the Hexagon backend.
Supported Models and Hardware
In this version, support additions and optimizations have been made for specific hardware accelerators, GPUs, and specific quantization model formats. Specifically, feature enablement, processing efficiency improvements, and stability enhancements have been pursued in the following environments.
CUDA Environment and F16/F32 Operations
In the CUDA backend using NVIDIA GPUs, 3D convolution (conv3d) operations using F16 weights are newly supported. This makes it possible to utilize the fast “implicit-GEMM" path in 3D convolution processing for models using F16 weights. Furthermore, direct fallback processing is provided for F32 shapes, accommodating tensor operations across a wide range of shapes.
Adreno GPU and Vulkan Backend
Processing via the Vulkan backend has been optimized for Qualcomm Adreno GPUs built into mobile devices and similar hardware. Specifically, support for the cooperative matrix extension VK_KHR_cooperative_matrix has been enabled and tuned on Adreno GPUs equipped with hardware matrix cores. This is expected to improve the performance of model inference utilizing Vulkan in mobile environments. Additionally, for the Vulkan backend as a whole, handling for misalignment in conv_2d and conv_3d matrix multiplication shaders has also been implemented.
OpenCL Environment and Q6_K Quantization Format
In the OpenCL backend, matrix multiplication (GEMM) processing for non-MoE (standard non-Mixture of Experts) models using the Q6_K quantization format has been optimized. Processing efficiency when running Q6_K quantized models via OpenCL has been improved through the addition of dedicated optimized DP4A binary kernels in hardware environments supporting DP4A instructions.
Hexagon DSP
Processing restrictions have been introduced for cases where the precision of the input tensor src1 is F32 in the Qualcomm Hexagon DSP backend. Since F32 precision is not supported in the Hexagon backend, a precision guard now functions to explicitly reject F32 when it is specified in MUL_MAT_ID processing.
How to Get It
The procedure for building and updating ggml from source code is as follows. Clone the repository and perform a release build using CMake.
git clone https://github.com/ggml-org/ggml
cd ggml
mkdir build && cd build
cmake..
cmake --build. --config Release -j 8
To update an existing local environment, check out the latest tag (v0.25.2) within the repository directory or run git pull, then recompile inside the build directory in the same manner as above.
Releases Since Our Last Article
Compiled by Local Model Watch from the project’s GitHub releases: the versions between this release and the last one we covered, which did not get separate articles. Full history: release tracker.
| Version | Released | Release notes |
|---|---|---|
| v0.25.1 | 2026-09-24 | GitHub |
Related Articles
- ggml v0.25.0 Released: FlashAttention and MoE Optimizations
- ggml v0.24.0 Released with Backend Improvements and API Updates
- llama.cpp v0.5.0 Released with Backend and Server Upgrades
- MiMo-V2.6-Flash-RL-GGUF Multimodal MoE Model: ~140GB Memory
What to Read Next
- Follow this tool → ggml overview and release history (40 releases tracked)
- Other quantization, model formats and fine-tuning → Unsloth / ExLlamaV3 / ik_llama.cpp
Sources
- ggml-org/ggml v0.25.2 Release Notes
- PR #29137 (CUDA: add conv3d with implicit GEMM)
- PR #29365 (Vulkan: handle misalignment in conv_2d and conv_3d)
- PR #29328 (Vulkan: tune KHR cooperative matrix support for Adreno GPUs)
- PR #29057 (OpenCL: add A8 Q6_K non-MoE dp4a binary kernel)
- PR #29348 (Hexagon: reject MUL_MAT_ID when src1 precision is F32)

