AIKraft/Skills/TileGym: улучшение производительности ядра cuTile

TileGym: улучшение производительности ядра cuTile

Iteratively optimize cuTile kernel performance through systematic profiling, bottleneck analysis, IR comparison, and targeted tuning. Covers tile sizes, occupancy, autotune configs, TMA, latency hints, persistent scheduling, num_ctas, flush_to_zero, and IR-level debugging. Use when asked to

nvidia official Разработка

Что делает навык

Навык обеспечивает систематическую итеративную оптимизацию производительности ядер cuTile в репозитории TileGym через профилирование, анализ узких мест и настройку параметров. Он помогает достичь целевых показателей производительности путем сравнения промежуточного представления (IR) и управления конфигурациями autotune.

Когда применять

  • Необходимо ускорить существующее ядро cuTile, достигнув заданных метрик производительности.
  • Требуется определить, является ли ядро ограниченным памятью, вычислениями или сбалансированным, на основе арифметической интенсивности.
  • Необходимо настроить параметры запуска, такие как размеры тайлов, occupancy, TMA и персистентное планирование.
  • Требуется отладка производительности на уровне IR и анализ влияния параметров flush_to_zero и num_ctas.

Как работает

  1. Создать новую ветку git (например, cutile-perf-<kernel_name>-<date>) и перейти в нее.
  2. Найти целевое ядро в директориях src/tilegym/suites/<suite>/cutile/ или src/tilegym/ops/cutile/, идентифицировать декораторы @ct.kernel, обертки запуска и текущие конфиги autotune.
  3. Классифицировать ядро по арифметической интенсивности: < 10 (Memory-bound), 10-50 (Balanced), > 50 (Compute-bound).
  4. Запустить цикл экспериментов с ведением журнала (tracked log), применяя оптимизации (настройка тайлов, TMA, latency hints и др.).
  5. Итеративно проверять производительность и сравнивать IR до и после изменений до достижения целей или плато производительности.

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

Оптимизируй производительность ядра cutile в TileGym, чтобы оно работало быстрее.
Проанализируй узкие места в ядре cuTile и предложи настройки для увеличения occupancy.
Запусти цикл экспериментов для улучшения производительности ядра cutile, классифицировав его как compute-bound.

Что понадобится

  • Репозиторий https://github.com/nvidia/skills с установленным окружением TileGym
  • Доступ к инструментам профилирования и компиляции CUDA (nvcc, nsys и др.)
  • Git для управления ветками и изменениями кода

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «tilegym-improve-cutile-kernel-perf» из репозитория: # https://github.com/nvidia/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r tilegym-improve-cutile-kernel-perf/ ~/.claude/skills/tilegym-improve-cutile-kernel-perf/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.