GPU Development Skills

Скиллы для написания, отладки, замера и оптимизации программ TileLang и CUDA по данным исходников, лоуэринга и профайлеров

  • 149 ★ репозитория
  • Последний коммит
Скилл

Расширенный доступ

Почему такой уровень

  • Установщик запускается из скрипта по ссылке, создает окружение и ставит пакеты Python
  • Скиллы запускают компиляцию, профайлеры и бенчмарки на вашем GPU
Все причины и проверки

sablin39/tilelang-cuda-skills

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/gpu-development-skills

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Установщик запускается из скрипта по ссылке, создает окружение и ставит пакеты Python
  • Скиллы запускают компиляцию, профайлеры и бенчмарки на вашем GPU

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

GPU Development Skills — набор скиллов агента для работы с TileLang и CUDA. Начинать советуют со скилла `tilelang-optimization-loop`: он ведет итерационную задачу по циклу контракт, черновик, исполняемый план, кандидат, проверка, замер, принятие. Цикл адаптирован из KDA (`kernel-design-agents`) под лоуэринг TileLang. Агент разбирает присланную базовую реализацию на PyTorch через графы torch.compile и профилирование, а затем связывает задуманный механизм каждого кандидата с полученной реализацией и измеренным результатом. План и историю кандидатов держат в рабочей папке задачи. Специалисты вызываются и по отдельности: `writing-tilelang-kernels` (фабрики PrimFunc, `eager` JIT, контракты тензоров), `writing-tilelang-design-docs` (предложения и отчеты с визуализацией потоков данных), `debugging-tilelang-programs`, `profiling-tilelang-programs`, `torch-profiling-tilelang-programs`, `optimizing-tilelang-programs` (измеренные эксперименты, автотюнинг, раскладка) и `testing-fwd-bwd-kernels` (контракты автоградиента и независимая проверка градиентов). Отдельный скилл cuda_skill охватывает компиляцию, контракты запуска, санитайзеры, Nsight и NVTX. Необязательный скилл `designing-with-tilefoundry` добавляет авторский HIR, статический анализ и просмотр графа.

Для кого. Инженерам, которые пишут и оптимизируют ядра GPU на TileLang и CUDA и хотят вести работу по измерениям с помощью агента.

Подходит, если

  • Надо превратить базовую реализацию на PyTorch в ядро TileLang и подтвердить его замерами
  • Падает программа TileLang, и нужен разбор по следам лоуэринга и буферам
  • Для обучающей операции надо проверить прямой и обратный проход и все градиенты
  • CUDA-код нужно собрать с санитайзерами и собрать профиль Nsight

Не подходит, если

  • Нет GPU NVIDIA и CUDA: многие шаги опираются на замеры и профайлеры на устройстве
  • Нужна быстрая правка без цикла экспериментов: набор рассчитан на итерационную работу
  • Нужен готовый набор ядер: скиллы учат писать ядра и не содержат библиотеки

Пример запроса к агенту

Используй `tilelang-optimization-loop`: разбери мою реализацию `attention` на PyTorch, напиши ядро TileLang, сверь с эталоном и покажи замеры до и после

Ограничения

Нужен Python 3.12 и новее, а установка создает виртуальное окружение `<suite>/.venv`. Установщик ставит закрепленные пакеты TileFoundry (`core`, NVIDIA и Apple, исходники CUTLASS, `cmake` и `ninja`) и проверяет KernelWiki. Рабочие процессы сверены с TileLang 0.1.14 и 0.1.15, PyTorch 2.13 и CUDA 13.0, поэтому для других версий проверяйте активную версию и не доверяйте скопированным примерам. Установка идет через curl и скрипт, который стоит прочитать до запуска.

Как отключить. Удалите символьные ссылки на скиллы из ~/.agents/skills, ~/.claude/skills и ~/.codex/skills, а затем кеш ~/.local/share/tilelang-cuda-skills и виртуальное окружение набора.

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

С чего начать работу с набором?

Со скилла `tilelang-optimization-loop` для итерационной задачи: он ведет от контракта и черновика через проверку к замеру и принятию кандидата. Для узкого вопроса вызывайте специалиста напрямую.

Как установить скиллы?

Командой `curl -fsSL https://raw.githubusercontent.com/sablin39/tilelang-cuda-skills/main/scripts/install-skills.sh | bash -s -- --scope global`. Из клона используйте `./scripts/install-skills.sh --scope global --target all`, для проекта `--scope project`. Проверка без изменений идет с флагом `--check-only`.

Что такое KernelWiki в этом наборе?

Отдельный скилл с исследованиями реализаций и оборудования, который установщик ставит рядом и проверяет смоук-тестом scripts/query.py. Скиллы TileLang связывают его пояснения с лоуэрингом и замерами.

Как проверять обучающие ядра?

Режим совместной проверки прямого и обратного прохода держит ядра и сохраненное состояние согласованными, проверяет все градиенты и выбирает пару по полному замеру прямого и обратного проходов. Это описано в references/joint-fwd-bwd.md.

Нужен ли TileFoundry?

Он необязателен для скиллов TileLang, но установщик ставит закрепленные пакеты TileFoundry для работы скилла `designing-with-tilefoundry`. Скилл подключают, когда решения охватывают слияние операций, шардинг или границы размещения памяти.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Навык Claude Code для оптимизации GPU-ядер: агент профилирует, правит и замеряет ядро по кругу, пока ускорение не прекратится.

СкиллРасширенный доступ383Звезды репозитория

Скилл для Claude Code разбирает отчеты Nsight Compute на Blackwell и ведет от замера ядра CUDA к диагнозу и плану оптимизации.

СкиллРасширенный доступ279Звезды репозитория
Выбор редакции

Официальный каталог агентских скиллов NVIDIA: работа с CUDA, ускоренными библиотеками, RAG, робототехникой и симуляцией через кодинг-агентов

СкиллРасширенный доступ3,9 тыс.Звезды репозитория

CLI ForgeKernel многими часами разгоняет GPU-ядро: Claude Code пишет варианты, а замеры и профиль отбрасывают все, что не быстрее.

CLIШирокий доступ319Звезды репозитория

Скилл подтягивает свежую документацию Tensorlake, чтобы агент писал код песочниц по настоящим сигнатурам SDK.

СкиллРасширенный доступ172Звезды репозитория

Больше 140 скиллов по системному программированию: компиляторы, отладчики, профилировщики, прошивки, ядро Linux.

СкиллМинимальный доступ284Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
GPU Development Skills (эта карточка)нет149
KernelWikiнет545база знаний по реализациям и оборудованию, которую набор подключает
Triton-Ascend Agent Development Kitнет189разработка ядер Triton для Ascend

Коротко о README

README начинается с описания набора и рекомендации идти от `tilelang-optimization-loop`, затем разбирает установку (быстрая, из клона, для проекта, с существующим окружением), инициализацию KernelWiki и TileFoundry. Дальше таблица скиллов TileLang, доп. зависимости Python, скилл CUDA, а также передача этапов и сопровождение.

Бейдж для README

Исходный SKILL.md

---
name: tilelang-optimization-loop
description: Run a bounded TileLang implementation and optimization task from a PyTorch reference or existing kernel through baseline analysis, a written plan, candidate edits, lowering inspection, validation, measurement, and promotion. Use for iterative kernel work and reproducible handoffs; use a specialist directly for a single API, debugging, or profiling question.
---

# TileLang Optimization Loop

Follow a repeatable experiment cycle in the **task workspace**. Keep the skill
suite and its upstream knowledge separate from generated kernels and results.
Resume from evidence that still matches the source, inputs, and environment.
This adapts the [KDA workflow](https://github.com/mit-han-lab/kernel-design-agents/blob/4806866492d5c7cad05e07918790bd1e94e976a1/docs/agent-flow.md)
to the chain from TileLang source through compiler lowering to GPU behavior.

## Route by the current decision

At each stage, name the question, read the selected specialist's entrypoint,
and consume its finding in the next decision. A link alone is not a completed
specialist step. Reuse matching evidence rather than rereading or rerunning
everything. Use the [stage report](references/stage-handoff.md) for iterative
tasks and session/worker handoffs; link it from the existing candidate ledger.

| Current question | Skill to read |
| --- | --- |
| What does the PyTorch baseline execute and allocate? | [Torch profiling](../tilelang/torch-profiling-tilelang-programs/SKILL.md) |
| Which hardware mechanism or instruction contract informs this choice? | [KernelWiki interface](references/kernelwiki.md), then the installed KernelWiki skill |
| Does a high-level placement or fusion choice need a semantic/static model? | [TileFoundry design](../designing-with-tilefoundry/SKILL.md) |
| How should this candidate express the operation? | [Writing kernels](../tilelang/writing-tilelang-kernels/SKILL.md) |
| Why is output wrong, or why did the intended lowering disappear? | [Debugging](../tilelang/debugging-tilelang-programs/SKILL.md) |
| Are the gradients and saved-state contract correct? | [Forward/backward testing](../tilelang/testing-fwd-bwd-kernels/SKILL.md) |
| Is the comparison reliable, and what does the profile show? | [Profiling](../tilelang/profiling-tilelang-programs/SKILL.md) |
| Which bounded schedule change tests that finding? | [Optimization](../tilelang/optimizing-tilelang-programs/SKILL.md) |
| How should the supported design be explained? | [Design documents](../tilelang/writing-tilelang-design-docs/SKILL.md) |

Mark a route unused when it does not answer the current question. Record an
unavailable specialist/tool and the resulting evidence gap; do not substitute
a prose guess for its check. Native CUDA compilation or sanitizer work can use
the [CUDA workflow](../cuda_skill/SKILL.md) when that boundary is relevant.

## 1. Establish the contract and baseline

Read the reference, current candidate, caller, and harness. Record the following
in the existing task record, or in `docs/draft.md`:

- Operation and input/output structure, shapes, dtypes, strides, accuracy,
  mutation/aliasing, initialization, stream, and gradient requirements.

Сообщить о проблеме