GPU Development Skills
Скиллы для написания, отладки, замера и оптимизации программ TileLang и CUDA по данным исходников, лоуэринга и профайлеров
- 149 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Установщик запускается из скрипта по ссылке, создает окружение и ставит пакеты Python
- Скиллы запускают компиляцию, профайлеры и бенчмарки на вашем GPU
Установка
- Работает в
В терминале, через 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-ядер: агент профилирует, правит и замеряет ядро по кругу, пока ускорение не прекратится.
Скилл для Claude Code разбирает отчеты Nsight Compute на Blackwell и ведет от замера ядра CUDA к диагнозу и плану оптимизации.
Официальный каталог агентских скиллов NVIDIA: работа с CUDA, ускоренными библиотеками, RAG, робототехникой и симуляцией через кодинг-агентов
CLI ForgeKernel многими часами разгоняет GPU-ядро: Claude Code пишет варианты, а замеры и профиль отбрасывают все, что не быстрее.
Скилл подтягивает свежую документацию Tensorlake, чтобы агент писал код песочниц по настоящим сигнатурам SDK.
Больше 140 скиллов по системному программированию: компиляторы, отладчики, профилировщики, прошивки, ядро Linux.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| 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.