Введение в программирование на ROCm и HIP: Практическое руководство
Практическое современное руководство по программированию на графических процессорах AMD с использованием ROCm и HIP. Охватывает полный программный стек, установку, рабочие процессы сборки, программирование ядер, управление памятью, инженерию производительности, использование библиотек, перенос кода из CUDA и практики отладки в производственной среде.
Обзор курса
Краткое содержание
Практическое современное руководство по программированию графических процессоров AMD с использованием ROCm и HIP. Охватывает полный программный стек, установку, рабочие процессы сборки, написание ядер, управление памятью, инженерию производительности, использование библиотек, перенос кода из CUDA в HIP и практики отладки в рабочей среде.
Освойте программирование графических процессоров AMD и переносимость кода из CUDA в HIP с помощью этого технического глубокого анализа.
Автор: EvoClass
Благодарности: Официальная документация по ROCm и HIP от AMD, включая проекты, такие как ROCm, HIP и ROCm LLVM.
Цели обучения
- Определите, что такое HIP и его роль в экосистеме ROCm, одной краткой фразой.
- Различайте между платформой ROCm, интерфейсом HIP и библиотеками ROCm (строительными блоками).
- Определите иерархические уровни архитектуры ROCm от аппаратного обеспечения до прикладных фреймворков.
- Определите связь между средствами разработки HIP и платформой ROCm на разных операционных системах.
- Выполните систематический процесс установки, включая проверку матрицы поддержки и настройку путей после установки.
- Скомпилируйте и запустите минимальную проверочную программу для устранения распространённых проблем с драйверами и доступом к среде.
- Понимайте, почему надёжная стратегия сборки необходима для согласования переносимости исходного кода с производительностью, специфичной для архитектуры.
- Реализуйте переносимые вызовы ядер с использованием макроса
hipLaunchKernelGGLкак альтернативы синтаксису тройных угловых скобок в CUDA. - Настройте профессиональные проекты на CMake, ориентированные на конкретные архитектуры ROCm, и управляйте внешними зависимостями библиотек.
- Определите анатомию ядра HIP и примените базовую формулу для индексации потоков.