El lanzamiento b9828 de llama.cpp introduce mejoras significativas en OpenCL, específicamente reestructurando los kernels de Flash Attention para precisión f16 y f32. Esta actualización incluye nuevos kernels de prefill prepass y soporte para formatos de cuantización q4_0 y q8_0.

  • Kernel FA reestructurado para f16 y f32 con lógica optimizada de padding de tiles y enmascaramiento.
  • Se añadieron kernels FA para cuantización q4_0 y q8_0, incluyendo kernels de dequantización y soporte para tensores SOA.
  • Se introdujo una tabla de ajuste de tiles FA con capacidades de anulación y se corrigió el manejo de infinito para -cl-finite-math-only.
  • Se proporcionaron binarios precompilados para macOS (Apple Silicon/Intel), Linux (CPU/Vulkan/ROCm/OpenVINO/SYCL), Windows (CPU/CUDA/Vulkan/HIP/OpenVINO/SYCL), Android y openEuler.

Este lanzamiento permite una inferencia más eficiente en hardware compatible con OpenCL optimizando los patrones de acceso a memoria y soportando tipos adicionales de cuantización.