llama.cpp 项目发布了版本 b11070,对 Hexagon 后端进行了重大重构,以支持 64 位内存映射和扩展的缓冲区处理。此更新为高通 Hexagon DSP 上的更大模型和复杂操作提供了正确的 DMA(直接内存访问)支持。

  • 通过 `hex-dma64` 模块启用了扩展的缓冲区映射和 64 位 DMA。
  • 扩展了二进制操作以支持更多 DMA 场景,并更新 SSM_CONV 以使用具有 64 位支持的 DMA。
  • 将内存映射(mmaps)的数量增加到 64,以防止在更大模型中被驱逐。
  • 重写了 softmax 和 GDN 循环以利用 DMA,改善了 HVX 寄存器使用情况。
  • 添加了备用环作为过大 DMA 事务的回退机制。

该版本提供了适用于 macOS、Linux、Windows、Android 和 openEuler 的二进制文件,涵盖 CPU、GPU(CUDA、Vulkan、ROCm)和 NPU 后端。