В выпуске b11815 проекта llama.cpp исправлена работа бэкенда SYCL с двумерной свёрткой (Conv2D), когда порядок каналов во входных данных и ядрах отличается. Раньше операция могла неверно вычислять смещения элементов при чтении невыровненных входных данных и без предупреждения возвращать неправильные результаты.
Теперь операция принимает только непрерывные входные данные и ядра — как и бэкенд CUDA. Также добавлена проверка непрерывности входных данных. По данным проекта, число ошибок в тестах SYCL Conv2D сократилось с 16 до нуля; пройдены все 2 006 тестов из 2 006.
Почему это важно
Для разработчиков, использующих бэкенд SYCL в llama.cpp, это исправление проблемы, из-за которой Conv2D мог без предупреждения выдавать неверные результаты. Однако в примечаниях к выпуску не указано, в каких приложениях или на каком оборудовании может встречаться такой формат данных.