← Все проекты
Проект / Python

apollosenvy/kernel-anvil: kernel-anvil — профилировщик GPU-ядер для ускорения llama.cpp на AMD

Автоматически настраивает ядра llama.cpp под конкретную модель и GPU, давая до 2x ускорения декодирования без перекомпиляции.

Инструмент для автоматической настройки GPU-ядер llama.cpp под конкретную модель и железо. Читает архитектуру модели, тестирует разные конфигурации ядер на реальном GPU и создаёт профиль с оптимальными параметрами для каждого типа матричной операции.

★ 31 Python Форки 0 Issue 2 Оценка 7/10 Карточка проверена

Для кого это

Для разработчиков, работающих с llama.cpp на AMD-видеокартах (RDNA3), которые хотят выжать максимум производительности из своих моделей.

Проблема / задача

В llama.cpp ядра для матричных операций используют универсальные настройки для всех слоёв модели, хотя оптимальные параметры сильно зависят от размера матрицы. Это оставляет производительность на столе.

Как это работает

Проект анализирует GGUF-файл модели, находит все уникальные формы матриц в слоях, профилирует каждую форму на вашем GPU через Triton, ищет оптимальные настройки потоков и блоков, а затем генерирует JSON-конфиг, который llama.cpp загружает при запуске. Патч в 15 строк позволяет llama.cpp читать эти оптимизированные конфигурации.

Что видно по README

Инструмент для автоматической настройки GPU-ядер llama.cpp под конкретную модель и железо. Читает архитектуру модели, тестирует разные конфигурации ядер на реальном GPU и создаёт профиль с оптимальными параметрами для каждого типа матричной операции.

Ключевые возможности

Автопрофилирование всех уникальных форм матриц в моделиГенерация оптимизированных JSON-конфигов для llama.cppИнтеграция через минимальный патч (~15 строк)Поддержка ROCm и Triton для AMD GPUУскорение декодирования до 2x без изменения кода модели

Технологии

PythonTritonPyTorch с ROCmGGUF-парсерPyTorchLLaMA

Интересный факт

Проект использует триггер small_k в ядрах llama.cpp, чтобы заставить их обрабатывать по 2 строки за блок вместо 1, что вдвое сокращает количество запусков ядер и улучшает утилизацию GPU.

С чего начать

  • Установите kernel-anvil через pip (требуется ROCm-совместимый Triton)
  • Запустите оптимизацию для своей модели: kernel-anvil gguf-optimize model.gguf
  • Примените патч к llama.cpp и пересоберите его
  • Запустите llama-server с переменной SMITHY_CONFIG, указывающей на сгенерированный JSON

Оценка GitRadar

Удобство
6/10
Свежесть
8/10
Перспектива
7/10
Монетизация
4/10
Общая оценка
7/10

Вердикт GitRadar

Стоит пробовать, если вы запускаете llama.cpp на AMD RX 7000 серии — это бесплатный прирост производительности с минимальными изменениями. Для NVIDIA или старых AMD польза будет ограничена.

Наблюдения по обновлениям

Проект свежий (31 звезда, 0 форков), активно развивается, но требует ручного патча llama.cpp и специфичной настройки окружения ROCm.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/apollosenvy/kernel-anvil
Лицензия
Apache-2.0
Создан на GitHub
30 марта 2026 г.
Последнее обновление репо
30 марта 2026 г.
Последняя проверка GitRadar
30 марта 2026 г.
Изученные файлы
patches/README.md, pyproject.toml, README.md, kernel_anvil/cli.py, kernel_anvil/__main__.py, kernel_anvil/__init__.py

FAQ

Что это такое?

Инструмент для автоматической оптимизации GPU-ядер llama.cpp под конкретную модель и видеокарту AMD.

Для кого подходит?

Для разработчиков, которые используют llama.cpp на видеокартах AMD RDNA3 и хотят ускорить декодирование моделей.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с apollosenvy/kernel-anvil?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.