Официальная реализация FlashAttention — точного и экономного по памяти attention-ядра для обучения и инференса Transformer-моделей на GPU.
BBuf/how-to-optim-algorithm-in-cuda
Личный учебный и инженерный блокнот с CUDA-ядрами, написанными вручную, примерами CUTLASS/CuTe и Triton, а также заметками об оптимизации LLM.
- Звёзды
- 3,324
- Форки
- 297
- Открытые issues
- 8
- Последний коммит
- 10 дней назад
Что это?
В репозитории собраны реализации CUDA-ядер и заметки по оптимизации GPU. Здесь есть написанные вручную ядра для распространённых операций: reduce, softmax, поэлементных операций, GEMV, индексирования, atomic add, увеличения разрешения и линейного attention. Они находятся в каталоге cuda-kernels.
Помимо самих ядер, репозиторий содержит материалы по CUTLASS и CuTe (GEMM, TMA, WGMMA, swizzling), примеры ядер Triton с интеграцией PyTorch, учебные заметки по PTX ISA и внутреннему устройству PyTorch, связанному с CUDA. Здесь также собраны заметки по лекциям CUDA-MODE, оптимизации инференса и обучения LLM, а также обзоры статей об архитектуре GPU.
Автор ведёт репозиторий как учебный и инженерный блокнот. Часть старых материалов написана на китайском, и их постепенно заменяют англоязычными вводными страницами.
Ключевые возможности
- 01Написанные вручную CUDA-ядра для reduce, softmax, GEMV и других распространённых операций.
- 02Заметки по CUTLASS и CuTe: GEMM, TMA, WGMMA и swizzling.
- 03Примеры ядер Triton с интеграцией PyTorch.
- 04Учебные заметки по PTX ISA и внутреннему устройству CUDA в PyTorch.
- 05Заметки об оптимизации инференса и обучения LLM.
Сценарии использования
- Изучать по шагам, как реализуются распространённые GPU-операции на CUDA.
- Осваивать CUTLASS/CuTe и Triton для высокопроизводительных вычислений GEMM.
- Разбираться в деталях уровня PTX при настройке GPU-ядер.
- Находить справочную информацию об оптимизации инференса LLM.
Что важно знать
- Лицензия не указана, поэтому права на повторное использование неясны.
- Большинство старых заметок написано на китайском и сейчас объединяется, поэтому некоторые материалы могут быть неполными или противоречивыми.
Темы
Частые вопросы
- Что такое how-to-optim-algorithm-in-cuda?
- Личный учебный и инженерный блокнот с CUDA-ядрами, написанными вручную, примерами CUTLASS/CuTe и Triton, а также заметками об оптимизации LLM. В репозитории собраны реализации CUDA-ядер и заметки по оптимизации GPU. Здесь есть написанные вручную ядра для распространённых операций: reduce, softmax, поэлементных операций, GEMV, индексирования, atomic add, увеличения разрешения и линейного attention. Они находятся в каталоге cuda-kernels.
- how-to-optim-algorithm-in-cuda можно использовать бесплатно? Какая у него лицензия?
- У how-to-optim-algorithm-in-cuda не указана лицензия. Код открыт, но без лицензии нет явного разрешения на его использование — уточните у автора, прежде чем на него полагаться.
- how-to-optim-algorithm-in-cuda всё ещё поддерживается?
- Активно поддерживается. Последний коммит в how-to-optim-algorithm-in-cuda — 11 окт. 2026 г..
- Для чего можно использовать how-to-optim-algorithm-in-cuda?
- Изучать по шагам, как реализуются распространённые GPU-операции на CUDA. Осваивать CUTLASS/CuTe и Triton для высокопроизводительных вычислений GEMM. Разбираться в деталях уровня PTX при настройке GPU-ядер. Находить справочную информацию об оптимизации инференса LLM.
- Где скачать how-to-optim-algorithm-in-cuda?
- Исходный код и инструкции по установке — на GitHub: https://github.com/BBuf/how-to-optim-algorithm-in-cuda
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.
Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
Система на базе PyTorch для распределённого обучения и инференса крупных AI-моделей с поддержкой параллелизма, оптимизации памяти и гетерогенного обучения.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
SGLang — открытый фреймворк для инференса больших языковых и мультимодальных моделей, а также diffusion-моделей на GPU, TPU и CPU разных платформ.