llama.cpp发布b11044:Hexagon后端扩展IM2COL支持
该版本的核心改动集中在Hexagon后端,让IM2COL算子支持 1D和带填充的输入,并新增分块暂存的通用IM2COL DMA内核。
AI解读:llama.cpp的b11044版本主要改的是Hexagon后端里的IM2COL算子,这是一个偏底层、但会决定高通Hexagon加速能不能覆盖更多模型算子的改动。
IM2COL是把卷积类运算转成矩阵乘法的常见步骤。这次更新让相关内核能处理 1D和带填充的输入,并新增了一个分块暂存的通用DMA内核,覆盖范围比之前更广。
对普通用户来说,这次发布没有直接可见的功能变化。真正相关的是在Hexagon上跑推理的开发者,他们需要重新编译或下载对应平台的二进制来验证新内核的实际表现。
来源只给出了改动摘要和发布产物列表,没有附带性能数字,因此这些内核具体快多少、在哪些模型上生效,目前无法从该来源判断。
llama.cpp发布b11044版本,主要改动位于Hexagon后端。根据发布说明,这次更新围绕IM2COL算子展开。
发布说明列出的四项改动是:ggml-hexagon接受 1D和带填充的IM2COL算子;纯DDR的IM2COL内核变为is_2D感知;IM2COL DMA patch-embed快速路径扩展到 1D;新增分块暂存(blocked-staging)的通用IM2COL DMA内核。
发布说明同时给出了各平台构建产物,包括macOS/iOS、Linux、Android、Windows和UI等条目。其中macOS Apple Silicon的KleidiAI启用版本标注为DISABLED,openEuler条目也标注为DISABLED。
来源没有提供这些内核改动的性能数据、测试结果或适用模型范围。
Hexagon后端的IM2COL改动
该版本属于llama.cpp的常规发布,核心内容是Hexagon后端对IM2COL算子的支持扩展。发布说明把改动分为四条:接受 1D和带填充的IM2COL算子;让纯DDR的IM2COL内核具备is_2D感知;把IM2COL DMA的patch-embed快速路径扩展到 1D;增加分块暂存的通用IM2COL DMA内核。
IM2COL通常出现在卷积运算中,作用是把输入数据重排成适合矩阵乘法的形式。此次改动没有改变对外接口,而是扩大了Hexagon后端能直接处理的数据形状和输入类型。
- 接受 1D和带填充的IM2COL算子
- 纯DDR IM2COL内核变为is_2D感知
- IM2COL DMA patch-embed快速路径扩展到 1D
- 新增分块暂存的通用IM2COL DMA内核
发布产物与平台覆盖
发布页面列出了macOS/iOS、Linux、Android、Windows以及UI的构建产物,涵盖CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL等不同后端。
其中两条被标注为DISABLED:macOS Apple Silicon的KleidiAI启用版本,以及openEuler的全部条目。来源没有说明禁用原因。
- macOS Apple Silicon(arm64,KleidiAI启用)标注为DISABLED
- openEuler条目标注为DISABLED
来源没有提供的信息
这次的来源是llama.cpp的发布说明,内容以改动列表和下载链接为主。它没有给出性能对比、基准测试数据,也没有说明这些内核改动会影响哪些具体模型或工作负载。因此,Hexagon后端这次扩展的实际收益,无法从该来源直接判断。