AIKraft Agents
Инструменты20 октября 2026 г., 15:46 МСК🤖 Auto

SonicBoom: C++ движок инференса без Python обгоняет llama.cpp

Новый фреймворк SonicBoom v0.0.3 обеспечивает ускорение декодирования на 20% на RTX 3050 за счет MLIR-компилятора и отсутствия Python-зависимостей.

Баннер новости 10086

Архитектура без Python

SonicBoom — это нативный тензорный рантайм, написанный с нуля на C++ и CUDA. Главная особенность проекта: полное отсутствие Python-интерпретатора, pip и дерева зависимостей на пути инференса. Библиотека экспортирует стабильный C ABI, позволяя загружать libsonicboom.so из любого языка. Первичная разработка моделей ведется на Scheme (GNU Guile), а генерация кода заменяет PyTorch'овский torchgen инструментом SonicCross.

Производительность: SonicBoom против llama.cpp

Бенчмарки проводились на ноутбуке с NVIDIA GeForce RTX 3050 (8 GB, sm_86) и процессором AMD Ryzen 5 5500. SonicBoom использует графовый планировщик и MLIR-компилятор для генерации GPU-ядер, что позволяет запускать каждый шаг декодирования как единую CUDA Graph. Результаты (медиана из 3 запусков) показывают преимущество в скорости декодирования:

Модель (квантование) Метрика SonicBoom llama.cpp Ускорение
Gemma 4 E4B-it (Q3_K_M) Decode (steady state) 53.6 tok/s 44.8 tok/s 1.20×
Gemma 4 E4B-it (Q3_K_M) Prefill (512 токенов) 2084 tok/s 1995 tok/s 1.04×
Qwen2.5-0.5B (Q4_K_M) Decode (steady state) 345.9 tok/s 306.9 tok/s 1.13×
Qwen2.5-0.5B (Q4_K_M) Prefill (512 токенов) 15301 tok/s 14027 tok/s 1.09×

Технические детали и новые возможности v0.0.3

Разработчики отмечают, что преимущество в скорости декодирования достигается не за счет самих ядер (они те же), а благодаря надстройкам: графовому планировщику и компилятору. В ветке boom-next добавлены:

  • Генерация GPU-ядер (fused glue, attention, bf16 dense GEMM).
  • Автотюнинг рантайма под конкретное GPU.
  • Безпотерное спекулятивное декодирование (по умолчанию отключено).
  • Генерированное attention-ядро для декодирования, идентичное ручному по результатам.

Особое внимание уделено префикс-кэшированию: SonicBoom гарантирует точное совпадение токенов при повторном использовании префикса, чего нельзя измерить в стандартных бенчмарках llama.cpp. Для модели Gemma 4 время до первого токена при повторном использовании префикса составило 57.4 мс, а для Qwen2.5 — 13.7 мс.

Статус проекта

На данный момент выпущена версия v0.0.3. Поддерживаются две проверенные модели: Gemma 4 E4B-it и Qwen2.5-0.5B Instruct. Проект распространяется под лицензией GPL-3.0-or-later. Для сборки требуются Linux x86-64, g++-13, CMake и libyaml-dev. Поддержка ARM64 (aarch64) пока не реализована из-за отсутствия архитектурных защит в модуле AVX2.

Источник: Github ↗