llama.cpp发布b11494:CUDA后端GDN状态列改为每warp四列
该版本将ggml-cuda中GDN状态列的分配从每warp两列改为四列,并在S_v=128 时采用,默认cols_per_warp=4。
AI解读:llama.cpp发布b11494,提交信息显示改动集中在ggml-cuda后端。
改动内容为GDN状态列分配:先新增每warp两列,再改为S_v=128 时每warp四列。
该提交将默认cols_per_warp设为 4,并处理了GDN评审意见。
发布页同时提供macOS/iOS、Linux、Android、Windows等平台的构建产物下载链接。
来源未给出该改动的性能测试数据或适用范围说明。
llama.cpp发布b11494。该版本包含一项CUDA后端改动:在ggml-cuda中为GDN状态列分配warp资源,提交记录显示其从每warp两列改为每warp四列。
提交信息还注明:在S_v=128 时使用每warp四列GDN状态列,并将cols_per_warp默认值设为 4。
CUDA后端改动内容
根据该版本的提交记录(PR #30087),改动按以下步骤推进:先实现ggml-cuda每warp分配两列GDN状态,随后在S_v=128 时改为每warp四列,再把cols_per_warp默认设为 4,最后处理GDN相关评审意见。
- 每warp两列GDN状态(初始改动)
- S_v=128 时每warp四列
- 默认cols_per_warp=4
- 处理GDN评审意见
发布产物覆盖范围
该发布页列出多个平台的预编译产物,涉及macOS/iOS、Linux、Android、Windows等,包括CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL等不同后端;其中macOS Apple Silicon的KleidiAI启用版本标注为DISABLED,并链接至PR #23780。
- macOS:Apple Silicon(arm64)、Intel(x64)、iOS XCFramework
- Linux:Ubuntu x64/arm64/s390x,含Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL等
- Android:arm64,以及骁龙CPU/Adreno GPU/Hexagon NPU版本
- Windows:x64/arm64,含CPU、OpenCL Adreno、CUDA 12/13、Vulkan、OpenVINO、SYCL、ROCm 10.0等
- openEuler相关产物标注为DISABLED,并链接至PR #23705
尚未说明的部分
该发布页没有提供此次CUDA改动的性能数据、与哪些模型或硬件搭配使用,也没有说明该改动对推理速度或显存占用的影响。来源未给出这些维度的信息,因此无法据此判断实际收益。