Квантование llama.cpp Q8_0 получает ускорение в 3.1 раза на видеокартах Intel Arc благодаря исправлению переупорядочивания в SYCL.

Исправление для оптимизации производительности SYCL-бэкенда llama.cpp обеспечивает значительное ускорение работы Q8_0-квантованных моделей на видеокартах Intel Arc. Исправление устраняет проблему с паттерном доступа к памяти, которая ограничивала производительность Q8_0 всего 21% от теоретической пропускной способности.
Проблема производительности и её причина
На видеокарте Intel Arc Pro B70 с 32 ГБ GDDR6 и пропускной способностью 608 ГБ/с модели Q8_0 работали со скоростью всего 4,88 токенов/сек, в то время как Q4_K_M достигала 20,56 токенов/сек. Этот 4-кратный разрыв в производительности был неожиданным, учитывая, что Q8_0 содержит всего в 1,7 раза больше данных, чем Q4_K_M.
После исключения проблем с давлением на видеопамять, драйверами и самим бэкендом, расследование выявило узкое место в пути диспетчеризации SYCL-ядра llama.cpp. SYCL-бэкенд включает оптимизацию "reorder", которая разделяет коэффициенты масштабирования квантования и данные весов для согласованного доступа к памяти GPU. Эта оптимизация была реализована для квантований Q4_0, Q4_K и Q6_K, но Q8_0 так и не был добавлен в фреймворк reorder.
Блоки Q8_0 размером 34 байта (не являющиеся степенью двойки) делали нереорганизованный макет особенно неэффективным для производительности кэша GPU.
Исправление и результаты
Решение потребовало около 200 строк кода для расширения существующего фреймворка reorder для поддержки Q8_0. Самая критическая ошибка заключалась в одной строке: тензорам Q8_0 не выделялась структура "extra" во время инициализации буфера, из-за чего флаг reorder никогда не устанавливался.
Результаты для Qwen3.5-27B (Intel Arc Pro B70):
- Q8_0 до исправления: 4,88 т/с (21% пропускной способности)
- Q8_0 после исправления: 15,24 т/с (66% пропускной способности) — в 3,1 раза быстрее
- Q4_K_M: 20,12 т/с (без изменений)
- Q6_K: 13,83 т/с (без reorder)
С этим исправлением Q8_0 теперь превосходит Q6_K (15,24 против 13,83 токенов/сек), обеспечивая при этом более высокое качество, чем низкобитные квантования.
Проверка и реализация
Перед внедрением исправления команда применила бинарный патч к закрытому исходному коду Intel IPEX-LLM для запуска на GPU B70 (который официально не поддерживается по его PCI device ID). Их оптимизированные ядра Q8_0 достигли 61% пропускной способности, подтвердив, что проблема решаема. Реализация с открытым исходным кодом в llama.cpp достигает 66% пропускной способности.
Исправление было отправлено в виде pull request в репозиторий llama.cpp.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

Обновление OpenClaw 2026.3.22: Полезные функции, но три критические проблемы требуют осторожности
Обновление OpenClaw 2026.3.22 добавляет полезные функции, такие как команда /btw, настраиваемость монитора здоровья, исправление ответов в Telegram и настройки логики по умолчанию для каждого агента, но три открытых проблемы (#53158, #53202, #53195) делают его рискованным для немедленного развертывания без мониторинга.

GitHub Copilot обновляет политику использования данных для обучения моделей.
GitHub начнет использовать данные взаимодействия пользователей Copilot Free, Pro и Pro+ для обучения моделей искусственного интеллекта с 24 апреля 2026 года, если пользователи не откажутся от этого. Пользователи Copilot Business и Enterprise не затронуты этим изменением.

Обновление OpenClaw .23 вызывает проблемы с агентом и потерю данных
Обновление OpenClaw .23 приводит к тому, что агенты перестают отвечать, не выполняют задачи и теряют соединение с расширениями браузера. Запуск команды восстановления может полностью удалить JSON-конфигурации, требуя восстановления из резервных копий системы.

Клод удваивает лимиты использования вне пиковых часов на две недели.
Anthropic временно удваивает лимиты использования Claude вне пиковых часов для всех тарифных планов. В будние дни вне периода 5–11 утра PT/12–6 вечера GMT доступно 2-кратное использование, а на выходных — 2-кратное использование в течение всего дня.