摘要
llama.cpp 在 GitHub Releases 发布 b10076。发布说明称,该版本优化了 CUDA 后端中同类型 get_rows 操作:将部分逐元素、每线程标量复制替换为按 int4(16 字节)进行的向量化复制,并仅在编译期类型匹配、运行时地址与行跨度满足 16 字节对齐及相关维度条件时启用。
发布说明还称,为避免小型单行 gather 因并行块数量不足而性能回退,版本保留了带有占用率判断的标量路径。项目报告称,在 Strix Halo(gfx1151)上的 DeltaNet recurrent-state gather 测试中,耗时由 18.6 微秒降至 13.0 微秒;test-backend-ops GET_ROWS 测试通过 47/47。
影响
这是一项面向特定 CUDA 内核和满足条件的数据布局的性能优化,可能改善相关 llama.cpp 推理工作负载中的行提取开销;其效果仍取决于硬件、模型与张量形状。