开源llama.cpp Releases·原文 2026年11月13日

llama.cpp发布b12342:CUDA新增 2–24 行MMQ int8内核

该版本为 2 至 24 个src1列的量化矩阵乘法加入新int8 MMA内核,用于投机解码验证等场景,支持Q8_0、Q3_K等 8 种量化格式,运行于Ampere及之后的NVIDIA GPU。

AI解读:llama.cpp发布b12342,主要变更是CUDA后端新增“few-row MMQ”内核,针对 2 至 24 个src1列的量化矩阵乘法。

该内核使用int8 MMA,提交说明给出的适用场景是投机解码的验证步骤(verify passes)。

支持的量化格式包括Q8_0、Q3_K、Q4_K、Q5_K、Q6_K、IQ3_S、IQ4_NL、IQ4_XS,硬件限Ampere及之后的NVIDIA GPU。

提交记录还包含CUDA-only保护、测试中传入weights标志、two-context构建、HIP/MUSA更明确的中止处理,以及调度顺序为MMVQ、few-row、MMQ。

版本同时提供macOS、Linux、Windows、Android等平台的预编译包与CUDA 12/13运行库,部分构建项标注为DISABLED。

来源只给出实现与支持范围,未提供速度提升幅度或基准数据,因此无法据此判断实际加速效果。

llama.cpp发布b12342版本。据版本说明,CUDA后端新增一个用于 2 至 24 个src1列的int8 MMA内核,即“few-row MMQ”,提交说明举例的用途是投机解码的验证步骤。

新内核覆盖的量化格式与硬件

版本说明称,该内核支持Q8_0、Q3_K、Q4_K、Q5_K、Q6_K、IQ3_S、IQ4_NL和IQ4_XS量化格式,运行于Ampere及之后的NVIDIA GPU。

说明将该优化限定在 2 至 24 个src1列这一范围内,属于此前MMQ路径覆盖不到的窄行场景。

  • 支持量化类型:Q8_0、Q3_K、Q4_K、Q5_K、Q6_K、IQ3_S、IQ4_NL、IQ4_XS
  • 硬件范围:Ampere及之后的NVIDIA GPU
  • 列数范围:2–24 个src1列

提交中的其他改动

提交记录列出的附带修改包括:为few-row MMQ增加仅限CUDA的保护、在test_mul_mat中加入weights标志、量化时DS4求和改为使用量化后的值(与 #31247 一致)。

记录还提到HIP/MUSA路径给出更清晰的中止信息、test_mul_mat采用two-context构建,以及调度顺序为MMVQ、few-row、MMQ。

  • few-row量化:DS4求和取自量化后的值,与 #31247 一致
  • test_mul_mat:增加weights标志,改为two-context构建
  • 调度顺序:MMVQ → few-row → MMQ
  • HIP/MUSA:中止信息更明确

发布产物说明

该版本按平台发布预编译包,涵盖macOS Apple Silicon与Intel、iOS XCFramework、Ubuntu(CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL)、Windows(CPU、CUDA、Vulkan、OpenVINO、SYCL、ROCm)、Android arm64以及Snapdragon的CPU/Adreno GPU/Hexagon NPU构建。

页面中macOS arm64的KleidiAI版本和openEuler构建标注为DISABLED。

  • CUDA构建提供 12.8 与 13.5 两套x64包及对应运行库
  • Windows侧CUDA为 12.4 与 13.5
  • ROCm包标注版本为 10.0

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观