Руководство по программированию AMD HIP
Полное техническое руководство по интерфейсу гетерогенных вычислений для портируемости (HIP). Оно предоставляет API времени выполнения на языке C++ и язык ядра, которые позволяют разработчикам создавать переносимые приложения для графических процессоров AMD и NVIDIA из одного исходного кода. Руководство охватывает установку, настройку среды, модели программирования, выделение памяти и инструменты для перевода кода CUDA в HIP.
Обзор курса
Обзор содержания
Полное техническое руководство по интерфейсу портируемости гетерогенных вычислений (HIP). Оно предоставляет API-интерфейс для среды выполнения на языке C++ и язык ядер, позволяющий разработчикам создавать переносимые приложения для графических процессоров AMD и NVIDIA из одного исходного кода. Руководство охватывает установку, настройку среды, модели программирования, выделение памяти и инструменты для переноса кода CUDA в HIP.
Освойте портируемое программирование на GPU: один исходный код для платформ AMD и NVIDIA.
Автор: Advanced Micro Devices, Inc. (AMD)
Благодарности: торговые марки AMD, логотип AMD Arrow, AMD Instinct, Radeon, ROCm и их комбинации являются товарными знаками компании Advanced Micro Devices, Inc. Linux — зарегистрированный товарный знак Линуса Торвальдса. PCIe — зарегистрированный товарный знак корпорации PCI-SIG.
Цели обучения
- Определить основные функции и преимущества платформы HIP.
- Показать, как получить доступ к среде HIP и запросить сведения о ней с помощью системных инструментов.
- Объяснить архитектурную связь между портируемостью HIP и технологией компилятора.
- Выполнить установку для конкретных платформ как для среды NVIDIA, так и для среды AMD.
- Координировать многорепозиториальный процесс сборки для компиляции HIP из исходных кодов.
- Проверить успешность установки с помощью инструментов конфигурации системы и проверки.
- Настроить и управлять памятью графического процессора с использованием выделения памяти через HIP, управлением согласованностью и видимостью хост-памяти без копирования.
- Разрабатывать высокопроизводительные ядра с использованием специфичных для HIP квалификаторов функций/переменных, векторных типов и примитивов синхронизации.
- Реализовать сложные параллельные алгоритмы с использованием функций шаффла, голосования, баллотирования и кооперативных групп.
- Автоматизировать перевод кода CUDA в формат HIP с помощью инструментов HIPIFY и управлять преобразованием проектов «на месте».