SonicBoom: движок инференса без Python от HardenedVault.
Компания HardenedVault, которая специализируется на безопасности Linux и компиляторов, представила среду исполнения SonicBoom. Движок написан с нуля на C++ и CUDA, и Python не требуется ни для работы, ни для сборки.
Цель проекта: локальный запуск языковых моделей на потребительских видеокартах.
Все компоненты упакованы в одну библиотеку libsonicboom.so. Её можно подключить из любого языка через стандартный интерфейс C. Основным языком для работы с SonicBoom авторы выбрали Scheme в реализации GNU Guile.
SonicBoom загружает модели в формате GGUF, генерирует текст на процессоре или видеокарте и поднимает локальный сервер, совместимый с API OpenAI.
Если новый запрос начинается с того же текста, что и предыдущий, повторно обрабатывается только добавленная часть. При этом результат до токена совпадает с полным пересчётом.
Механика
Скорость вывода обеспечивают уровни над вычислительными ядрами, а не сами ядра. Умножение квантованных матриц и токенизаторы частично перенесены из llama.cpp.
Над ними работает планировщик. До запуска он переписывает граф модели целиком, сливает соседние операции и записывает весь шаг генерации токена в один CUDA Graph, то есть в готовую последовательность команд для видеокарты.
Ещё выше находится компилятор на базе MLIR. Он сам генерирует часть ядер для GPU, включая механизм внимания, и при первом запуске подбирает самый быстрый вариант под конкретную видеокарту.
Тесты
На RTX 3050 с 8 ГБ памяти сравнивали SonicBoom и llama.cpp на одних и тех же моделях. Gemma 4 E4B через SonicBoom показала 53 токена в секунду против 44,8 у llama.cpp. У Qwen2.5-0.5B получилось 344,7 токена в секунду против 307,6.
Когда контекст дорастает до 512 токенов, SonicBoom на Qwen уже немного отстаёт. Единственный сторонний результат на RTX 4060 Ti оказался хуже llama.cpp: 73,6 токена в секунду против 78. Однако его получили на сборке, которая ещё не была настроена под эту видеокарту.
Пока проверены только две модели: Gemma 4 E4B-it и Qwen2.5-0.5B-Instruct, а также только видеокарты серии RTX 30.
Модель всегда выбирает самый вероятный токен. Температуру и другие настройки случайности задать нельзя.
Планы
- модели Llama и Mistral;
- работа через Vulkan;
- генерация ядер для видеокарт других производителей;
- диффузионные модели.
В будущем SonicBoom может вырасти в фреймворк в духе PyTorch, где модель пишут на Scheme и компилируют в граф вычислений. Прототип этого режима уже обучает небольшой трансформер.
Лицензирование: GPL-3.0.
Репозиторий проекта доступен на GitHub.

