Проект llama.cpp обновил свой бэкенд OpenCL для улучшения производительности умножения матриц на двух поколениях GPU Adreno. Изменения в первую очередь ориентированы на поколение X2E, по умолчанию активируя путь GEMM xmem F16xF32 и оптимизируя обработку для поколения A7X.

  • По умолчанию включён GEMM xmem F16xF32 Adreno для устройств X2E, которые ранее требовали установки переменной окружения opt-in.
  • Обход tiled f32 GEMM на компиляторе Adreno A7X путём маршрутизации пакетных операций к ядру на строку для избежания проблем с переполнением регистров.
  • Оптимизация xmem обеспечивает ускорение префиллинга примерно на 25% для gpt-oss-20b на устройствах Adreno X2-90, в то время как обход A7X даёт улучшение около 9% для gemma-3n-E4B.

Эти оптимизации устраняют специфические неэффективности компилятора в старом и новом кремнии Adreno, сокращая время GPU, затрачиваемое на медленные ядра matmul во время фаз префиллинга модели.