b10920: hexagon: support for multi-device model split (aka row-split) (#28589)
llama.cpp 发布 b10920 版本,标题为 hexagon: support for multi-device model split (aka row-split) (#28589)。提交说明显示该改动为 Hexagon 后端增加多设备行切分(row-split)支持,并包含一系列 hex-mdev 前缀的修复与重构:为融合内核增加工作切分、用 mdev_ 前缀统一多设备状态、使设备配置支持设备组、修复 MUL_MAT 工作划分、fused nx matmul 行数更新、CPY/argsort/fa 等算子测试、将切分逻辑收敛到 if (mdev_count > 1) 分支、简化 session flush 逻辑等。
发展脉络
- 首次出现b10920: hexagon: support for multi-device model split (aka row-split) (#28589)llama.cpp
- 当前判断Hexagon 是移动与边缘 SoC 中的 DSP 单元,llama.cpp 为其加入多设备切分,指向端侧推理从单加速器向多加速器协同扩展的方向。这属于开源推理栈对异构边缘硬件的适配深化,但证据未涉及任何厂商合作、出货或商业条款,因此不宜推断产业格局变化。Agent Pulse · 分析
llama.cpp 的 b10920 版本合并了 PR #28589,为 Hexagon 后端引入多设备模型切分(row-split)能力。证据中的提交列表显示,改动覆盖融合内核的工作切分、多设备状态命名统一(mdev_ 前缀)、设备配置对设备组的表达、以及 MUL_MAT、fused nx matmul、CPY、argsort、flash attention 等算子的多设备工作划分修复,并把切分逻辑收敛到 mdev_count > 1 的条件分支内。该证据仅来自发布说明与提交标题,未提供性能数字或支持设备数量。
从提交标题看,多设备切分被实现为按行(row-split)划分工作,并下沉到融合内核与各算子层面,说明其目标是在多颗 Hexagon 设备间分摊计算而非仅做数据并行。将逻辑收敛到 mdev_count > 1 分支、统一 mdev_ 前缀,暗示单设备路径应保持原有行为,降低回归风险。可验证的下一信号是:后续版本是否出现多设备相关的基准数据或设备组配置文档。
Hexagon 是移动与边缘 SoC 中的 DSP 单元,llama.cpp 为其加入多设备切分,指向端侧推理从单加速器向多加速器协同扩展的方向。这属于开源推理栈对异构边缘硬件的适配深化,但证据未涉及任何厂商合作、出货或商业条款,因此不宜推断产业格局变化。
对在边缘设备部署模型的团队,多设备切分意味着可把单模型分摊到多个加速单元,潜在缓解单设备内存与算力上限;但当前证据未给出吞吐、延迟或内存收益数据,实际价值需等待基准验证。
若该能力稳定,端侧推理可能更多利用同一 SoC 内多个 DSP 或 DSP 与 CPU/GPU 的组合。可验证的下一信号是上游是否补充多设备配置说明、基准测试或将其扩展到其他后端。