Проект llama.cpp выпустил версию b10216, которая вводит полную поддержку GGML_OP_POOL_1D для бэкенда Vulkan. Это обновление включает новый вычислительный шейдер, дублирующий существующую реализацию pool2d, и исправляет сбой, возникавший при отрицательных конечных границах размерностей тензора.

  • Добавлена структура vk_op_pool1d_push_constants и поле pipeline_pool1d_f32 для операций 1D-пулинга.
  • Реализован шейдер pool1d.compute для обработки логики 1D-пулинга на Vulkan.
  • Исправлена логика шейдера путем регистрации pool1d_f32 и коррекции индексов размерностей тензора и масштаба усредненного пулинга.
  • Устранена проблема сбоя границы при k0 < p0 и расширено покрытие тестами для исправления.

Это обновление позволяет пользователям использовать слои 1D-пулинга в моделях, ускоренных с помощью Vulkan, с бинарными файлами, доступными для macOS, Linux, Windows, Android и openEuler на CPU, CUDA, ROCm и других бэкендах.