Выпуск llama.cpp b9828 вносит значительные улучшения в OpenCL, конкретно перерабатывая ядра Flash Attention для точности f16 и f32. Это обновление включает новые ядра предварительного прохода префилла и поддержку форматов квантования q4_0 и q8_0.

  • Переработано ядро FA для f16 и f32 с оптимизированной логикой заполнения тайлов и маскирования.
  • Добавлены ядра FA для квантования q4_0 и q8_0, включая ядра деквантования и поддержку тензоров SOA.
  • Введена таблица настройки тайлов FA с возможностью переопределения и исправлена обработка бесконечности для -cl-finite-math-only.
  • Предоставлены готовые бинарные файлы для macOS (Apple Silicon/Intel), Linux (CPU/Vulkan/ROCm/OpenVINO/SYCL), Windows (CPU/CUDA/Vulkan/HIP/OpenVINO/SYCL), Android и openEuler.

Этот выпуск обеспечивает более эффективный вывод на оборудовании, совместимом с OpenCL, за счёт оптимизации шаблонов доступа к памяти и поддержки дополнительных типов квантования.