llama.cpp b11449:修复 ggml CLAMP 非连续视图问题
原标题:b11449
AI 摘要
llama.cpp 发布 b11449 版本,主要修复了 ggml 中 CLAMP 操作在非连续视图(non-contiguous views)上的处理问题,涉及 CPU 和 CUDA 后端。此前 CUDA 将 ggml_nelements 值按扁平方式处理而忽略视图步长,CPU 则按 j*nb01 寻址行而忽略 nb02/nb03,现在两者都遵循维度 1..3 的步长,CUDA 的 supports_op 要求行连续(与 Metal 一致),CUDA clamp 内核使用 fastdiv 处理视图步长,并为 test_clamp 增加了非连续视图测试用例。该版本同时提供 macOS、Linux、Windows、Android 等多平台预编译包。
正文节选
<details open> ggml: fix CLAMP on non-contiguous views (CPU, CUDA) (#29517) * ggml: fix CLAMP on non-contiguous views (CPU, CUDA) CUDA clamped ggml_nelements values flat and ignored the view strides. CPU addressed row j as j*nb01 and ignored nb02/nb03. Both now follow the strides of dims 1..3; CUDA supports_op requires contiguous rows, like Metal. test_clamp gains a non-contiguous view case. * cuda: clamp kernel uses fastdiv for the view strides </details> **Website:** - <https://llama.app