Личный учебный и инженерный блокнот с CUDA-ядрами, написанными вручную, примерами CUTLASS/CuTe и Triton, а также заметками об оптимизации LLM.
RightNow-AI/autokernel
Автономный агентный конвейер профилирует модель PyTorch и оптимизирует узкие места в GPU-ядрах на Triton или CUDA C++.
- Звёзды
- 1,619
- Форки
- 164
- Открытые issues
- 16
- Последний коммит
- 3 дня назад
Что это?
AutoKernel принимает произвольную модель PyTorch, профилирует её с помощью torch.profiler, ранжирует ядра по времени работы на GPU и извлекает самые медленные в отдельные ядра Triton или CUDA C++. Затем агент-программист поочерёдно редактирует файлы ядер, запускает фиксированный бенчмарк с пятью этапами проверки корректности и анализом roofline, а каждое изменение сохраняет или отменяет. Оркестратор применяет закон Амдала, чтобы определить, когда переходить к следующему ядру.
Проект рассчитан на GPU NVIDIA и включает стартовые ядра для matmul, softmax, layernorm, rmsnorm, flash attention, fused MLP, cross entropy, rotary embeddings и reduce. В комплект также входят самодостаточные определения моделей GPT-2, LLaMA и BERT, а ещё интеграция с бенчмарком KernelBench для итеративной оптимизации его задач. Результаты записываются в TSV-файл, а оптимизированные ядра можно экспортировать в HuggingFace Hub.
Ключевые возможности
- 01Профилирует любую модель PyTorch, ранжирует ядра по времени работы на GPU и определяет, ограничены ли они вычислениями или пропускной способностью памяти.
- 02Извлекает узкие места в файлы Triton или CUDA C++ с помощью флага --backend.
- 03Запускает фиксированный бенчмарк с многоэтапной проверкой корректности перед измерением производительности.
- 04Планирует оптимизацию ядер по предполагаемому влиянию на производительность всей модели, используя закон Амдала.
- 05Проверяет оптимизированные ядра в полной модели и показывает общее ускорение.
- 06Интегрируется с KernelBench и экспортирует ядра в HuggingFace Hub.
Сценарии использования
- Ускорение инференса или обучения собственной модели PyTorch за счёт оптимизации самых медленных операций на GPU в фоновом режиме.
- Эксперименты с автономными агентами-программистами на чётко сформулированной задаче повышения производительности GPU.
- Сравнение ядер, сгенерированных ИИ, с эталонными реализациями PyTorch на задачах KernelBench.
- Создание и публикация вручную оптимизированных ядер Triton или CUDA в виде пакетов для HuggingFace.
Быстрый старт
- 1
Установите uv (или следуйте официальным инструкциям по установке uv из README)
- 2
Клонируйте репозиторий
git clone https://github.com/RightNow-AI/autokernel.git - 3
Установите зависимости из клонированной папки
uv sync - 4
Один раз настройте тестовые данные и базовые показатели, затем проверьте бенчмарк
uv run prepare.py
Что важно знать
- Требуется GPU NVIDIA; согласно README, тестирование проводилось только на H100, A100 и RTX 4090.
- Требуются Python 3.10 или новее и uv.
- Для запуска агента оптимизации нужен отдельный агент для написания кода, например Claude или Codex.
В подборках
Темы
Частые вопросы
- Что такое autokernel?
- Автономный агентный конвейер профилирует модель PyTorch и оптимизирует узкие места в GPU-ядрах на Triton или CUDA C++. AutoKernel принимает произвольную модель PyTorch, профилирует её с помощью torch.profiler, ранжирует ядра по времени работы на GPU и извлекает самые медленные в отдельные ядра Triton или CUDA C++. Затем агент-программист поочерёдно редактирует файлы ядер, запускает фиксированный бенчмарк с пятью этапами проверки корректности и анализом roofline, а каждое изменение сохраняет или отменяет. Оркестратор применяет закон Амдала, чтобы определить, когда переходить к следующему ядру.
- autokernel можно использовать бесплатно? Какая у него лицензия?
- autokernel распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- autokernel всё ещё поддерживается?
- Активно поддерживается. Последний коммит в autokernel — 5 нояб. 2026 г..
- Для чего можно использовать autokernel?
- Ускорение инференса или обучения собственной модели PyTorch за счёт оптимизации самых медленных операций на GPU в фоновом режиме. Эксперименты с автономными агентами-программистами на чётко сформулированной задаче повышения производительности GPU. Сравнение ядер, сгенерированных ИИ, с эталонными реализациями PyTorch на задачах KernelBench. Создание и публикация вручную оптимизированных ядер Triton или CUDA в виде пакетов для HuggingFace.
- Как установить autokernel?
- Установите uv (или следуйте официальным инструкциям по установке uv из README) Клонируйте репозиторий: git clone https://github.com/RightNow-AI/autokernel.git Установите зависимости из клонированной папки: uv sync Один раз настройте тестовые данные и базовые показатели, затем проверьте бенчмарк: uv run prepare.py
- Где скачать autokernel?
- Исходный код и инструкции по установке — на GitHub: https://github.com/RightNow-AI/autokernel
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Агент для саморазвития GPU-ядер, оптимизирующий ядра CUDA и CuTe DSL: каждое принятое ядро становится новым эталоном.
Официальная реализация FlashAttention — точного и экономного по памяти attention-ядра для обучения и инференса Transformer-моделей на GPU.
Расширение NVIDIA для PyTorch с утилитами смешанной точности и распределённого обучения, а также опциональными fusion-ядрами CUDA и C++.
Python-фреймворк, компилирующий глубокие нейросети в код CUDA/HIP C++ с fp16 для быстрого инференса на GPU NVIDIA и AMD.
Навык для Claude Code, OpenCode и Codex, который выполняет циклы «изменить — проверить — оставить или отменить» с заданной целью, вдохновлённый autoresearch Карпати.