К курсам
AI023 Professional

Введение в программирование на Triton: Практическое руководство

Полный научный учебник, предназначенный для создания полного пути обучения по языку и компилятору Triton на основе Python для написания пользовательских ядер GPU. Курс охватывает модели программирования, семантику языка, численное поведение и оптимизацию производительности, начиная с простого сложения векторов и заканчивая сливными и тайловыми операторами, используемыми в современных системах глубокого обучения.

5.0
30.0h
561 учеников
0 лайки
Искусственный интеллект
Начать обучение

Обзор курса

📚 Краткое содержание

Полный научный учебник, разработанный для полного обучения работе с Triton — языком на основе Python и компилятором для написания пользовательских ядер GPU. Курс охватывает модели программирования, семантику языка, численное поведение и оптимизацию производительности, начиная с простого сложения векторов и заканчивая сливаемыми и тайловыми операторами, используемыми в современных системах глубокого обучения.

Освойте искусство создания высокопроизводительных ядер GPU из первых принципов.

Автор: EvoClass

Благодарности: Документация Triton и репозиторий Triton на GitHub.

🎯 Цели обучения

  1. Определить, что такое Triton и какова его роль в стеке программного обеспечения глубокого обучения.
  2. Отличить Triton от CUDA, кода PyTorch в режиме немедленного выполнения и низкоуровневого ассемблера GPU.
  3. Определить, какие рабочие нагрузки подходят для использования Triton, и понять значение слияния операторов и узких мест.
  4. Выполнить чистую установку среды Triton и проверить корректность программного стека.
  5. Реализовать базовое ядро копирования вектора для проверки логики среды против логики ядра.
  6. Обнаружить и классифицировать узкие места на GPU для обоснования использования слияния операторов в PyTorch.
  7. Определить экземпляр программы и вычислить размеры одномерной сетки запуска с использованием cdiv.
  8. Выполнить арифметику указателей для сопоставления конкретных идентификаторов программ (pid) с смещениями памяти.
  9. Различать тензоры PyTorch (метаданные со стороны хоста) и тензоры Triton (блоки на уровне компилятора).
  10. Вычислить соответствие между идентификатором программы (pid) и конкретными смещениями памяти с помощью tl.arange.

Уроки