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 la programación en GPU?
- ¿Por qué utilizarla?
- Desafíos y compromisos asociados a este tipo de programación
- Principales frameworks disponibles para la programación en GPU
- Elección del framework idóneo conforme al proyecto concreto
OpenCL
- Definición y objetivo de OpenCL
- Ventajas e inconvenientes de este estándar abierto
- Configuración del entorno de desarrollo específico para OpenCL
- Desarrollo de un ejemplo básico que realice suma de vectores con este framework
- Utilización de la API para gestionar dispositivos, memoria y ejecución de kernels
- Uso del lenguaje OpenCL C para diseñar código en el entorno GPU
- Empleo de funciones integradas, variables y librerías propias de OpenCL
- Uso eficaz de espacios de memoria como global o local para optimizar accesos a datos
- Configuración del modelo ejecutivo: control sobre work-items, work-groups y rangos ND
- Técnicas de depuración y pruebas mediante herramientas como CodeXL
- Estrategias de optimización basadas en agrupación, almacenamiento en caché o análisis de rendimiento
CUDA
- Definición y objetivo del ecosistema CUDA
- Ventajas e inconvenientes asociados a la utilización de esta plataforma exclusiva para GPUs NVIDIA
- Configuración paso a paso del entorno para desarrollar con CUDA
- Desarrollo de un ejemplo básico que realice suma de vectores utilizando CUDA
- Control mediante la API sobre el hardware, memoria y actividades en paralelo
- Programación con lenguajes C/C++ orientados específicamente a CUDA
- Incorporación de funciones, variables y librerías propias del entorno
- Evaluación del uso adecuado de espacios como global o compartida para mejorar el rendimiento
- Organización lógica del paralelismo con la definición precisa de hilos, bloques y rejillas
- Depuración y análisis estructural empleando herramientas como CUDA-GDB, CUDA-MEMCHECK o NVIDIA Nsight
- Optimizaciones basadas en agrupación de accesos a memoria, prefetching y medición detallada del desempeño
ROCm
- Concepto general y utilidad práctica de la plataforma ROCm
- Ventajas e inconvenientes asociados al uso en dispositivos AMD
- Instalación y configuración del entorno específico para desarrollar con ROCm
- Realización de un ejemplo básico que sume vectores en el marco ROCm
- Gestión mediante la API tanto de hardware como de memoria o actividades paralelas
- Programación utilizando C/C++ adaptado específicamente a este entorno
- Incorporación y uso adecuado de funciones, variables y librerías del ecosistema
- Uso eficiente de espacios como global o privada para mejorar flujos de información
- Control estructural del paralelismo mediante definiciones lógicas sobre hilos, bloques y rejillas
- Depuración detallada utilizando herramientas como el Depurador ROCm o su Analizador de Rendimiento
- Técnicas de optimización para maximizar rendimientos basadas en agrupación, prefetching y perfilado
Comparativas
- Evaluación conjunta de las características operativas, eficiencia y nivel de compatibilidad entre OpenCL, CUDA y ROCm
- Determinación cualitativa y cuantitativa del rendimiento mediante métricas de referencia
- Consideraciones prácticas y buenas prácticas recomendadas para la programación en GPU
- Exploración de tendencias futuras, posibles avances tecnológicos e inconvenientes pendientes a abordar
Resumen y siguientes pasos
Requerimientos
- Conocimientos básicos del lenguaje C/C++ y conceptos fundamentales de programación paralela
- Entendimiento general acerca de la arquitectura informática y la jerarquía de memoria
- Experiencia previa en el uso de herramientas de línea de comandos y editores de código
Público objetivo
- Desarrolladores interesados en dominar distintos frameworks para la programación en GPU y comparar sus ventajas, rendimiento y nivel de compatibilidad
- Programadores que buscan escribir código portable y escalable capaz de ejecutarse en diversas plataformas y dispositivos
- Profesionales interesados en analizar las limitaciones, ventajas y problemas inherentes a la optimización y programación con GPUs
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