← На главную

Курс CMU учит собирать high-performance GPU-ядра для Blackwell на TIRx

23.06.2026 11:38 · hackernews

Производительность ML-систем напрямую зависит от качества GPU-ядер. Attention-ядра, LLM prefill и decode, низкоточные block-scaled GEMM, fused MoE-слои и другие крупные fused-ядра определяют итоговую скорость тренировки и инференса. Но для этого недостаточно простого списка трюков по оптимизации. Современные GPU — не вариации старой архитектуры. Новые поколения добавляют более сложную иерархию памяти, нестандартные паттерны доступа и специализированные исполнительные блоки. Чтобы программировать их эффективно, нужна чёткая ментальная модель железа и практическое понимание того, как собираются high-performance ядра. Этому посвящена книга (учебный курс), построенная на материалах серии курсов Machine Learning Systems в Carnegie Mellon University.

Логика простая: сначала разобраться с устройством GPU, затем освоить programming model (TIRx), и наконец — пошагово собрать современные ядра. Главная цель — поколение Blackwell. Основные сквозные примеры — быстрый матричный мультиплюс (GEMM) и FlashAttention. Параллельно разбираются три базовых компонента GPU-оптимизации: data layout (как укладывать данные), asynchronous data movement (асинхронный перенос) и asynchronous coordination (асинхронная координация). Код написан на TIRx — Python DSL, который остаётся близок к железу и позволяет рассуждать о низкоуровневом управлении, но при этом даёт запускаемые примеры.

Книга разделена на четыре части. Part I («Understanding the GPU») — общая организация GPU, рецепты быстрых ядер, data layout, асинхронные memory operations и координация. Part II («TIRx Overview») — ключевые элементы самого TIRx, на котором построены все примеры. Part III («GEMM: Tiled to SOTA») — полное руководство по оптимизации tiled GEMM: TMA pipelining, persistent scheduling, warp specialization и 2-CTA clusters. Part IV («Flash Attention 4») — законченное attention-ядро, собранное на техниках из Part III: два MMA с softmax между ними, online-softmax rescaling, causal masking и GQA (Grouped Query Attention). В конце прилагается Reference по TIRx и internals компилятора.

Читать оригинал →