llama.cpp b11069发布:为Volta架构(SM70)调整MMVQ到MMQ的切换阈值
该版本唯一实质代码改动是CUDA后端在SM70(Volta)上调优MMVQ与MMQ之间的交叉点,由Yangyu Chen提交,Johannes Gäßler参与建议。
AI解读:llama.cpp发布了b11069版本。这一版对多数用户来说就是一次普通更新,因为唯一实质性的代码改动只涉及一个很窄的场景:NVIDIA Volta架构显卡(SM70)上的CUDA计算。
改动内容是调整MMVQ到MMQ的切换阈值(crossover)。llama.cpp在GPU上跑量化模型时,会按不同条件在两种矩阵运算实现之间选择,这次就是把Volta显卡上“该用哪个”的分界线重新调了调。
真正受影响的是还在用Volta一代(如V100、Titan V)跑本地推理的人。他们可能因此拿到更合适的性能表现,但发布说明没有给出任何速度数字,所以“快了多少”目前没有公开数据可查。用更新的显卡、或者在CPU、Metal、Vulkan上跑的人,这次改动与他们无关。
llama.cpp发布b11069版本,发布了各平台预编译产物。该版本唯一的实质代码改动是CUDA后端针对SM70(Volta)架构调整MMVQ到MMQ的切换阈值(crossover)。
根据发布说明,该改动由Yangyu Chen提交,Johannes Gäßler(@JohannesGaessler)参与评审并提出建议。提交信息为“cuda : tune MMVQ to MMQ crossover for SM70 (Volta) (#28912)”。
发布页面同时列出了macOS/iOS、Linux、Android、Windows等平台的构建产物,以及CUDA 12.8、CUDA 13.3等不同CUDA版本的库文件。发布说明中没有给出任何性能提升的具体数字。
改动只针对Volta显卡
这次b11069的实质改动集中在CUDA后端:为SM70(Volta)重新调优MMVQ与MMQ之间的切换阈值。MMVQ和MMQ是llama.cpp在GPU上执行量化矩阵运算的两种实现路径,切换阈值决定什么情况下走哪条路径。
改动由Yangyu Chen提交并签名,Johannes Gäßler提出修改建议。没有涉及其他架构或其他后端的同类调整。
发布说明没有说明调整前后的阈值具体是多少,也没有公布基准测试结果,因此无法判断实际速度变化。
- 提交标题:cuda : tune MMVQ to MMQ crossover for SM70 (Volta) (#28912)
- 作者:Yangyu Chen(Signed-off-by),合作者:Johannes Gäßler
- 受影响范围:SM70(Volta)架构的CUDA后端
- 发布说明未提供性能对比数据
各平台构建产物同步更新
与改动本身无关,b11069照例提供了一批预编译包,覆盖macOS Apple Silicon(arm64)、macOS Intel(x64)、iOS XCFramework、Ubuntu(x64/arm64/s390x,含CPU、Vulkan、CUDA 12.8/13.3、ROCm 10.0、OpenVINO、SYCL FP32/FP16等版本)、Android arm64,以及Windows(x64/arm64,含CPU、OpenCL Adreno、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0等版本)。
两个构建目标在本次发布中处于禁用状态:macOS Apple Silicon的KleidiAI启用版本(关联PR #23780),以及openEuler平台的全部产物(关联PR #23705)。
UI构建产物也照常提供。
- macOS Apple Silicon(arm64,KleidiAI enabled):DISABLED
- openEuler(x86 310p/910b、aarch64 310p/910b):DISABLED
- Windows提供CUDA 12.4和CUDA 13.4两个版本的x64包,以及arm64的CUDA 13.4包