llama.cpp 项目发布了版本 b10216,为 Vulkan 后端引入了完整的 GGML_OP_POOL_1D 支持。此更新包括一个镜像现有 pool2d 实现的新计算着色器,并修复了当张量维度导致负结束边界时发生的崩溃。
- 添加了用于 1D 池化操作的 vk_op_pool1d_push_constants 结构和 pipeline_pool1d_f32 字段。
- 实现了 pool1d.compute 着色器以在 Vulkan 上处理 1D 池化逻辑。
- 通过注册 pool1d_f32 并修正张量维度索引和平均池化比例,修复了着色器逻辑。
- 解决了 k0 < p0 时的边界崩溃问题,并扩展了该修复的测试覆盖率。
此版本使用户能够在由 Vulkan 加速的模型中使用 1D 池化层,提供适用于 macOS、Linux、Windows、Android 和 openEuler 的二进制文件,支持 CPU、CUDA、ROCm 和其他后端。