llama.cpp 项目发布了版本 b10675,其中包含对其 Vulkan 后端的重大更新。此版本在着色器代码中增加了对行 ID 和专家计数的提升支持。
- 该实现在 coopmat2 中使用了提升的行 ID。
- 通过使用 vk_op_count_experts_push_constants 而非原始 uint 向量来解决关于 count_experts 的审查反馈。
- fastdiv 技巧被应用于 count_experts 中的 ne00 div/mod 操作。
- 每个专家的偏移量在支持时使用 subgroupExclusiveAdd 计算,并保留串行路径作为回退方案。
此更新为 macOS、Linux、Windows 和 Android 在各种硬件后端(包括 CUDA、ROCm 和 OpenCL)上提供了优化的 Vulkan 构建。