# llama.cpp b11408: ускорение Q8_0 на SpacemiT X60

Источник: https://modelium.tech/zhurnal/llama-cpp-b11408-spacemit-x60-q8-ime1-prefill/

В prerelease-сборке llama.cpp b11408 появился IME1-ядро для матричных операций с GGUF-квантизацией Q8_0 на RISC-V чипе SpacemiT X60. Автор изменения измерил рост скорости обработки 128 входных токенов Qwen2.5-0.5B-Instruct с 10,70 до 93,87 токена/с на Milk-V Jupiter. Это результат автора для конкретной платы и режима prefill, а не универсальное ускорение генерации или других устройств.

## Что произошло

5 октября 2026 года в основную ветку llama.cpp вошёл PR #28479 с новым матричным IME1-ядром для Q8_0 на SpacemiT X60. В тот же день изменение попало в тег b11408, который GitHub помечает как **prerelease**. Это обновление движка инференса, **не новая модель и не стабильная версия**. [s1](#src-s1) [s2](#src-s2)

На X60 прежде имелось ускорение IME для Q4_0, Q4_1 и Q4_K, но не для Q8_0. При настройке сборки `GGML_CPU_REPACK=OFF` отсутствовал и запасной путь repack. Изменение добавляет упаковку Q8_0 в 16-колоночный формат, INT8×INT8 IME1-ядро и пути для одной и четырёх строк активаций. В документации платформы Q8_0 теперь отмечен как поддерживаемый на X60. [s2](#src-s2) [s3](#src-s3)

## Что показывают измерения — и чего они не показывают

В тексте релиза автор сообщает для Qwen2.5-0.5B-Instruct Q8_0 рост **pp128 (prefill)** с 10,70 до 93,87 токена/с. Замер сделан на Milk-V Jupiter со SpacemiT X60, Bianbu 2.1.1 и GCC 14.2: `llama-bench -t 4`, процесс закреплён за ядрами 0–3, пять повторов на простаивавшей плате. В описании PR приведён другой прогон после изменения — 95,27 токена/с; автор объясняет разницу вариацией между запусками. Это **авторские**, не независимые измерения; Modelium их не повторял. [s1](#src-s1) [s2](#src-s2)

Вывод ограничен стадией обработки промпта, конкретной Q8_0-моделью и X60. Автор PR отдельно отказался заявлять выигрыш скорости генерации токенов: контрольный Q4_0 также изменился между сборками без изменений его кода. Не переносите цифру на Q4_K, другой RISC-V чип или серверный CPU. [s2](#src-s2)

## Практический выбор и следующий шаг

Если вы запускаете Q8_0 GGUF на плате со SpacemiT X60 и упираетесь во время обработки входного текста, имеет смысл сравнить b11408 с предыдущей сборкой на **одном и том же** файле модели, prompt length и числе потоков. Для Q4_0 это изменение не обещает аналогичного прироста. В release assets нет готового пакета, названного SpacemiT/RISC-V: платформа собирается из исходников. Официальная инструкция требует соответствующий RISC-V toolchain, `GGML_CPU_RISCV64_SPACEMIT=ON`, `GGML_CPU_RISCV64_SPACEMIT_IME_SPEC` для IME1/IME2 и конфигурацию toolchain из репозитория. Следуйте закреплённой инструкции сборки, а не скачивайте бинарник для Ubuntu arm64/x64 как пакет для X60. [s1](#src-s1) [s3](#src-s3)

Код llama.cpp в закреплённом теге распространяется по MIT; условия использования **весов конкретной модели** проверяются отдельно. В авторском тесте использована Qwen2.5-0.5B-Instruct; её карточка указывает Apache-2.0, но собственный GGUF-файл для сравнения нужно выбирать и проверять отдельно. Проверка корректности нового ядра в PR — авторское сравнение с целочисленным эталоном и короткие генерации; сам автор предупреждает, что `test-backend-ops` на CPU-only сборке пропускает CPU backend и не является доказательством этого изменения. [s2](#src-s2) [s4](#src-s4) [s5](#src-s5)

## Источники

1. [llama.cpp b11408 release (GitHub)](https://github.com/ggml-org/llama.cpp/releases/tag/b11408) — получено 2026-10-05
2. [ggml-cpu: Q8_0 IME1 matrix kernel for SpacemiT X60, PR #28479](https://github.com/ggml-org/llama.cpp/pull/28479) — получено 2026-10-05
3. [llama.cpp: Build for RISC-V SpacemiT at b11408](https://github.com/ggml-org/llama.cpp/blob/b11408/docs/build-riscv64-spacemit.md) — получено 2026-10-05
4. [llama.cpp MIT LICENSE at b11408](https://github.com/ggml-org/llama.cpp/blob/b11408/LICENSE) — получено 2026-10-05
5. [Qwen2.5-0.5B-Instruct model card](https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct) — получено 2026-10-05
