返回全部动态

llama.cpp b11365 修复 soft_max_back 别名输出错误

原标题:b11365

llama.cpp Releases一手来源开源质量 68

AI 摘要

llama.cpp 发布 b11365 版本,修复了 ggml-cpu 后端中 GGML_OP_SOFT_MAX_BACK 算子在 dst 与 src1 别名(aliasing)时输出错误的问题。原实现分多步计算,当 dst 覆盖 y 后第三步会读取被覆盖的值导致静默错误;新实现改为单个融合循环,先读取两个源再写入,兼容两种别名情况,并新增回归测试强制触发别名。CUDA 内核因先完成归约再写入,本身不受影响。

以上摘要由 AI 生成,可能存在误差。事实请以原文为准。

正文节选

<details open> ggml-cpu : fix soft_max_back wrong output when dst aliases src1 (#27096) * ggml-cpu : fix soft_max_back wrong output when dst aliases src1 GGML_OP_SOFT_MAX_BACK is listed in ggml_op_can_inplace, so the graph allocator may assign dst to alias either src0 (dy) or src1 (y). The result was built in several steps: ggml_vec_cpy_f32 (nc, dx, dy); ggml_vec_acc1_f32 (nc, dx, -dot_y_dy); ggml_vec_mul_f32 (nc, dx, dx, y); ggml_vec_scale_f32(nc, dx, scale); When dst al


发布时间:2026-10-03 09:29
抓取时间:2026-10-03 10:22
来源机构:ggml-org
阅读原文github.com