Выпуск llama.cpp b10814 расширяет поддержку бэкенда OpenCL за счёт добавления девяти новых унарных элементарных операций и улучшения ядер перемещения данных.
- Добавлены расширенные унарные элементарные операции, включая sgn, step, elu, hardswish, hardsigmoid, floor, ceil, round и trunc, для предотвращения возврата к CPU.
- Реализовано ядро копирования f32 в непрерывной области, которое обрабатывает всё устройство для линейных перемещений, оптимизируя производительность для тензоров с небольшим количеством длинных строк.
- Расширена поддержка CONCAT для всех типов, легко копируемых (f16, bf16, i8, i16, i32, i64), путём привязки ядер к размеру элемента, а не к конкретному типу.
Эти изменения улучшают покрытие и эффективность OpenCL для небезопасных CPU бэкендов на macOS, Linux, Windows и Android.