Repolode
OpenBMB

OpenBMB/ForgeKernel

Агент для саморазвития GPU-ядер, оптимизирующий ядра CUDA и CuTe DSL: каждое принятое ядро становится новым эталоном.

Звёзды
282
Форки
39
Открытые issues
1
Последний коммит
3 дня назад

Что это?

ForgeKernel берет за основу существующее эталонное GPU-ядро, измеряет время выполнения и собирает профиль на целевом оборудовании, а затем составляет план этапов с учетом архитектуры, который реализует coding agent. Каждое принятое ядро становится эталоном для следующего поколения, поэтому оптимизация продолжается и после достижения лучшей известной реализации. Механизмы работы оборудования, подтвержденные GPU-пробой, сохраняются в базе знаний, организованной по архитектурам GPU, и повторно используются для разных операторов.

Инструмент предназначен для GPU NVIDIA Hopper (sm90) и Blackwell (sm100) и поддерживает задачи на CuTe DSL и CUDA C++. Задача задается описанием оператора, набором форм и файлом task.toml, а CLI forge запускает цикл локально или по SSH. По итогам запусков формируются отчет и исходный код лучшего ядра, а скрипт саморазвития последовательно запускает новые поколения, пока прирост не опустится ниже уровня шума измерений.

В репозитории также опубликованы созданные проектом ядра для attention, sparse attention, linear attention, GEMM и операций свертки, а также сведения об ускорении и средах, в которых оно измерялось.

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

  • 01Преобразует эталонное ядро в план этапов с учетом архитектуры для coding agent.
  • 02Делает каждое принятое ядро новым эталоном и автоматически запускает следующие поколения.
  • 03Проверяет корректность, сравнивает время выполнения кандидатов с эталоном и профилирует их с помощью Nsight Compute.
  • 04Сохраняет подтвержденные GPU-пробой механизмы работы оборудования в базе знаний, разделенной по архитектурам.
  • 05Поддерживает выполнение задач на CuTe DSL и CUDA C++ с GPU локально и по SSH.

Сценарии использования

  • Оптимизация оператора PyTorch или пользовательского ядра на GPU Hopper или Blackwell.
  • Запуск длительных кампаний настройки ядер без участия пользователя и изучение сформированного отчета.
  • Изучение опубликованных вместе с проектом ядер для attention, GEMM и операций свертки.

Быстрый старт

  1. 1

    Клонируйте репозиторий

  2. 2

    Создайте виртуальное окружение и установите ForgeKernel

    python3 -m venv .venv && source .venv/bin/activate && pip install -e .
  3. 3

    Установите рекомендуемый пакет CuTe DSL

    pip install nvidia-cutlass-dsl
  4. 4

    Проверьте установленную версию

    forge --version

Что важно знать

  • Требуется GPU NVIDIA Hopper (sm90) или Blackwell (sm100).
  • Нужна CLI Claude Code с выполненным входом или переменная ANTHROPIC_API_KEY.
  • Один запуск занимает несколько часов; в примере на B200 результат достиг 5,2x примерно через 1,5 часа.
  • Проект находится на ранней стадии: всего 8 звёзд и версия 0.1.0.

В подборках

Темы

#gpu#cuda#cute-dsl#kernel-optimization#ai-agent#llm#hpc

Частые вопросы

Что такое ForgeKernel?
Агент для саморазвития GPU-ядер, оптимизирующий ядра CUDA и CuTe DSL: каждое принятое ядро становится новым эталоном. ForgeKernel берет за основу существующее эталонное GPU-ядро, измеряет время выполнения и собирает профиль на целевом оборудовании, а затем составляет план этапов с учетом архитектуры, который реализует coding agent. Каждое принятое ядро становится эталоном для следующего поколения, поэтому оптимизация продолжается и после достижения лучшей известной реализации. Механизмы работы оборудования, подтвержденные GPU-пробой, сохраняются в базе знаний, организованной по архитектурам GPU, и повторно используются для разных операторов.
ForgeKernel можно использовать бесплатно? Какая у него лицензия?
ForgeKernel распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ForgeKernel всё ещё поддерживается?
Активно поддерживается. Последний коммит в ForgeKernel — 4 нояб. 2026 г..
Для чего можно использовать ForgeKernel?
Оптимизация оператора PyTorch или пользовательского ядра на GPU Hopper или Blackwell. Запуск длительных кампаний настройки ядер без участия пользователя и изучение сформированного отчета. Изучение опубликованных вместе с проектом ядер для attention, GEMM и операций свертки.
Как установить ForgeKernel?
Клонируйте репозиторий Создайте виртуальное окружение и установите ForgeKernel: python3 -m venv .venv && source .venv/bin/activate && pip install -e . Установите рекомендуемый пакет CuTe DSL: pip install nvidia-cutlass-dsl Проверьте установленную версию: forge --version
Где скачать ForgeKernel?
Исходный код и инструкции по установке — на GitHub: https://github.com/OpenBMB/ForgeKernel

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытая книга и коллекция кода с конспектами по современному CUDA и более чем 200 ядрами для HGEMM, GEMM с FP8/FP4 и Flash-Attention.

Обучающие материалы#cuda#gpu#tensor-cores
12,2 тыс.+17 за неделю1,3 тыс.CudaGPL-3.0Обновлён позавчера

UCC — библиотека и API для коллективных коммуникаций: она выполняет операции вроде allreduce и broadcast на CPU, GPU и аппаратных ускорителях в задачах HPC и AI.

Бэкенд и API#collectives#hpc#mpi
322+1 за неделю132CBSD-3-ClauseАктивно поддерживаетсяОбновлён позавчера