返回全部动态

llama.cpp b11516 修复 Hexagon IM2COL DMA 环形溢出

原标题:b11516

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

AI 摘要

llama.cpp 发布 b11516 版本,修复了 Hexagon 后端 IM2COL patch-embed DMA 环形缓冲区溢出问题。原实现按输出行推送 IC*KH 个 DMA 描述符但未检查 dma_queue_push() 返回值,当 IC*KH 超过 256 时环形队列满导致传输被丢弃,VTCM 暂存区残留陈旧数据(常为 NaN/inf)污染输出。修复方案是在队列满时淘汰最旧描述符并调用 dma_queue_flush() 等待,同时新增 IC*KH>256 的精确分块测试用例。

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

正文节选

<details open> hexagon: fix IM2COL patch-embed DMA ring overflow (#30189) * hexagon: fix IM2COL patch-embed DMA ring overflow The exact-tiling (stride == kernel, no pad/dilation) IM2COL DMA kernel issues IC*KH DDR->VTCM descriptors per output row without checking the return value of dma_queue_push(), and then pops IC*KH times. The per-thread DMA ring holds 256 entries and a push into a full ring returns false and drops the transfer, so for IC*KH > 255 the remaining rows of the VTCM staging bu


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