Проект 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 во время фаз префиллинга модели.