llama.cpp 项目发布了版本 b9928,引入了针对 hexagon 后端的新型 VTCM 布局和改进了的流水线。这些更改专门针对 MUL_MAT、MUL_MAT_ID 和 FLASH_ATTN_EXT 操作的性能提升。
- 重构了内核参数计算以使用通用的布局构建器。
- 添加了显式的编译器屏障,使 hmx 函数更加健壮。
- 为矩阵乘法和 flash-attn 内核实现了更通用的 VTCM 布局构建器。
- 展开了内部内核,并将内置函数替换为内联汇编以避免编译器问题。
- 优化了 DMA 流水线、预取和同步回退路径。
- 向 workpool 添加了混合轮询并改进了队列唤醒机制。
该版本提供了适用于 macOS(Apple Silicon 和 Intel)、iOS、Linux(Ubuntu x64、arm64、s390x)、Android、Windows 和 openEuler 的二进制文件,涵盖各种硬件后端,包括 CPU、CUDA、ROCm、Vulkan、OpenVINO、SYCL 和 HIP。