Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Temario del curso
Introducción
- ¿Qué es ROCm?
- ¿En qué consiste HIP?
- Diferencias clave entre ROCm, CUDA y OpenCL<\/li>
- Resumen sobre características estructurales e innovaciones de ROCm e HIP
- Configuración del ambiente necesario para programar.
Primeros pasos
- Iniciación a la creación de proyectos en ROCm empleando Visual Studio Code.
- Examen detallado de la estructura y los archivos que componen el proyecto.
- Compilación, ejecución e inspección preliminar del código generado.
- Diseño de salidas impresas mediante funciones como printf o fprintf.
Uso de la API de ROCm
- Explicación precisa sobre el papel desempeñado por dicha API en los programas ejecutados desde el host.
- Aprender a emplearla para conocer especificaciones técnicas y funcionalidades del hardware utilizado.
- Gestión de asignaciones o liberaciones dinámicas en la memoria física del dispositivo gráfico.
- Traslado eficiente de datos entre el procesador principal y la GPU.
- Lanzamiento controlado de kernels y sincronización estricta entre múltiples hilos.
- Resolución proactiva de errores y excepciones frecuentes que puedan aparecer durante el proceso.
HIP como Lenguaje Programático
- Explicación acerca del rol fundamental que tiene HIP al definir código específico para ejecución en GPU.
- Diseño e implementación de kernels utilizando sintaxis y comandos propios de este lenguaje.
- Comprensión acerca de tipos, calificadores, operadores o expresiones típicas que emplean los programadores.
- Aplicación fructífera de funciones integradas, variables y librerías nativas para facilitar la programación diaria.
Modelos de Memoria en ROCm e HIP
- Diferenciación conceptual entre estructuras propias del host y aquellas exclusivas del dispositivo gráfico.
- Selección adecuada de distintos espacios destinados a contener información, tales como el tipo global o compartido.
- Manejo hábil de elementos estructurales como matrices, texturas u objetos complejos en memoria.
- Uso inteligente de modos restrictivos de acceso (lectura o escritura) según la conveniencia del flujo informativo.
- Gestión rigurosa de consistencia entre distintos segmentos de memoria y sus mecanismos coordinados de sincronización.
Dinámicas Ejecutivas en ROCm e HIP
- Alineación clara entre lógicas operativas desarrolladas por el host frente a aquellas ejecutadas por la GPU.
- Control minucioso sobre distribución y número de hilos, bloques y mallas para lograr mayor rendimiento.
- Aplicación adecuada de valores especiales, como hipThreadIdx_x o hipBlockIdx_x, determinando el punto exacto donde se ejecuta cada unidad funcional.
- Empleo correcto de instrucciones críticas para mantener la coherencia temporal, tales como __syncthreads o __threadfence_block.
- Manejo avanzado de estructuras colectivas y agrupaciones cooperativas a través de herramientas específicas como hipGridDim_x o el mecanismo hipGridSync.
Depuración Eficaz
- Identificación de fallos corrientes que pueden comprometer la estabilidad de programas desarrollados con ROCm e HIP.
- Incorporación del depurador integrado en Visual Studio Code para revisar variables, puntos críticos y el flujo lógico mediante breakpoints.
- Análisis exhaustivo por medio del Depurador de ROCm diseñado exclusivamente para GPUs AMD.
- Evaluación objetiva utilizando el Perfilador de ROCm, evaluando tiempos de respuesta e insumos computacionales asociados.
Optimización Avanzada
- Diagnóstico detallado sobre aspectos responsables de mejorar o disminuir el rendimiento en aplicaciones desarrolladas.
- Aplicación de la agrupación inteligente entre operaciones para aumentar notablemente la capacidad de transmisión por vía de memoria.
- Implementación de algoritmos de caché o precarga del contenido, reduciendo así tiempos desproporcionados en espera de lecturas.
- Uso óptimo de segmentos temporales locales o compartidos con el propósito principal de minimizar tráfico innecesario hacia la memoria central.
- Evaluación continua empleando herramientas especializadas para perfeccionar cuantitativa y cualitativamente procesos computacionales existentes.
Resumen final e orientaciones futuras
Requerimientos
- Dominio básico del lenguaje C/C++ y conocimientos sobre conceptos de programación paralela
- Noble comprensión acerca de la arquitectura computacional y las jerarquías de memoria
- Experiencia previa en el uso de herramientas de línea de comandos y editores de código
Público objetivo
- Desarrolladores que quieran dominar el empleo de ROCm e HIP para programar GPUs AMD aprovechando su naturaleza paralela.
- Programadores interesados en generar códigos altamente eficientes y escalables capaces de funcionar en distintos dispositivos gráficos basados en AMD.
- Ingenieros que deseen explorar a fondo los aspectos más profundos de la programación de GPUs, buscando elevar al máximo el rendimiento de sus algoritmos.
28 Horas
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 5800 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales