Guía de Programación AMD HIP
Una guía técnica completa sobre la Interfaz de Computación Heterogénea para Portabilidad (HIP). Proporciona una API de tiempo de ejecución en C++ y un lenguaje de kernel que permite a los desarrolladores crear aplicaciones portátiles para GPUs de AMD y NVIDIA desde un único código fuente. La guía cubre la instalación, la configuración del entorno, modelos de programación, asignación de memoria y herramientas para migrar código CUDA a HIP.
Descripción del curso
Resumen del contenido
Un manual técnico completo para la Interfaz de Computación Heterogénea para Portabilidad (HIP). Proporciona una API de tiempo de ejecución en C++ y un lenguaje de kernels que permite a los desarrolladores crear aplicaciones portables para GPUs de AMD y NVIDIA a partir de un solo código fuente. La guía abarca la instalación, la configuración del entorno, los modelos de programación, la asignación de memoria y las herramientas para migrar código CUDA a HIP.
Domina la programación GPU portátil: una única fuente para ambas plataformas AMD y NVIDIA.
Autor: Advanced Micro Devices, Inc. (AMD)
Agradecimientos: AMD, el logotipo de AMD Arrow, AMD Instinct, Radeon, ROCm y sus combinaciones son marcas comerciales de Advanced Micro Devices, Inc. Linux es una marca registrada de Linus Torvalds. PCIe es una marca registrada de PCI-SIG Corporation.
Objetivos de aprendizaje
- Definir las características principales y las propuestas de valor del marco HIP.
- Demostrar cómo acceder y consultar el entorno HIP mediante herramientas del sistema.
- Explicar la relación arquitectónica entre la portabilidad de HIP y su tecnología de compilador.
- Ejecutar instalaciones específicas de plataforma para entornos NVIDIA y AMD.
- Coordinar el proceso de compilación multi-repositorio para compilar HIP desde el código fuente.
- Validar una instalación exitosa utilizando herramientas de configuración y verificación del sistema.
- Configurar y gestionar la memoria de GPU usando asignación HIP, controles de coherencia y visibilidad de memoria host sin copia.
- Desarrollar kernels de alto rendimiento utilizando calificadores específicos de HIP para funciones/variables, tipos vectoriales y primitivas de sincronización.
- Implementar algoritmos paralelos avanzados utilizando funciones de mezcla por warps, votos, balotas y grupos cooperativos.
- Automatizar la traducción de código CUDA a HIP mediante herramientas HIPIFY y gestionar conversiones de proyectos in situ.