Solicitar información

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.
Inversión

Precio por grupo privado (formación online) desde 5800 € + IVA*

Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales

Próximos cursos

Categorías Relacionadas