Guia de Programação AMD HIP
Um manual técnico abrangente para a Interface de Computação Heterogênea para Portabilidade (HIP). Ele fornece uma API de tempo de execução em C++ e uma linguagem de kernel que permite aos desenvolvedores criar aplicativos portáveis para GPUs AMD e NVIDIA a partir de um único código-fonte. O guia cobre instalação, configuração do ambiente, modelos de programação, alocação de memória e ferramentas para portar código CUDA para HIP.
Visão Geral do Curso
📚 Resumo do Conteúdo
Um manual técnico abrangente para a Interface de Computação Heterogênea para Portabilidade (HIP). Ele fornece uma API de tempo de execução em C++ e uma linguagem de kernel que permite aos desenvolvedores criar aplicações portáveis para GPUs AMD e NVIDIA a partir de um único código-fonte. O guia cobre instalação, configuração do ambiente, modelos de programação, alocação de memória e ferramentas para migrar códigos CUDA para HIP.
Domine a programação GPU portável: uma única fonte para plataformas AMD e NVIDIA.
Autor: Advanced Micro Devices, Inc. (AMD)
Agradecimentos: AMD, o logotipo AMD Arrow, AMD Instinct, Radeon, ROCm e suas combinações são marcas registradas da Advanced Micro Devices, Inc. Linux é uma marca registrada de Linus Torvalds. PCIe é uma marca registrada da PCI-SIG Corporation.
🎯 Objetivos de Aprendizagem
- Definir os principais recursos e propostas de valor da estrutura HIP.
- Demonstrar como acessar e consultar o ambiente HIP usando ferramentas do sistema.
- Explicar a relação arquitetônica entre a portabilidade do HIP e sua tecnologia de compilador.
- Executar instalações específicas da plataforma para ambientes NVIDIA e AMD.
- Coordenar o processo de compilação multi-repositório para compilar o HIP a partir do código-fonte.
- Validar uma instalação bem-sucedida usando ferramentas de configuração e verificação do sistema.
- Configurar e gerenciar a memória da GPU usando alocação HIP, controles de coerência e visibilidade de memória host zero-copy.
- Desenvolver kernels de alto desempenho usando qualificadores específicos do HIP, tipos vetoriais e primitivas de sincronização.
- Implementar algoritmos paralelos avançados utilizando funções de embaralhamento de warp, votação, balotagem e grupos cooperativos.
- Automatizar a tradução de código CUDA para HIP usando as ferramentas HIPIFY e gerenciar conversões de projetos in-loco.
Aulas 共 4 课时 · 预计 12.0h
Aulas
Lesson
This lesson introduces the multi-vendor dilemma in high-performance computing, where hardware heterogeneity and proprietary APIs create software fragmentation and maintenance debt. Students will learn how the HIP framework addresses these challenges by enabling performance portability and simplifying the transition between different GPU architectures.
This lesson covers the installation and configuration of the Heterogeneous-compute Interface for Portability (HIP) environment, focusing on the single-source paradigm for cross-platform GPU development. Students will learn how to manage environment variables like CUDA_PATH and HIP_PATH to enable the hipcc compiler to route code effectively across NVIDIA and AMD hardware architectures.
AI022: HIP Programming Model and API Deep Dive (Lesson 3) explores the architectural foundations of the HIP ecosystem, focusing on the ROCm stack, hardware discovery, and the porting workflow from CUDA to AMD architectures. Students will learn to utilize the hipify-perl and hipcc toolchains, manage low-level HSA runtime initialization, and implement effective memory mapping for GPU resource orchestration.
This lesson explores the Heterogeneous-compute Interface for Portability (HIP), a C++ runtime API designed to enable cross-platform GPU development by abstracting hardware layers for both NVIDIA and AMD systems. Students will learn how to configure the HIP environment, utilize the hipcc compiler, and apply functional mappings to migrate legacy CUDA applications to a unified, portable codebase.