Temario del curso
Introducción
Comprensión de los fundamentos de la metodología de computación heterogénea
¿Por qué computación paralela? Comprender la necesidad de la computación paralela
Procesadores multicore: arquitectura y diseño
Introducción a los hilos, conceptos básicos de los hilos y nociones fundamentales de programación en paralelo
Comprensión de los fundamentos de los procesos de optimización de software para GPU
OpenMP: un estándar para la programación en paralelo basada en directivas
Taller/demostración con diversos programas en máquinas multicore
Introducción a la computación en GPU
GPUs para computación paralela
Modelo de programación de GPUs
Taller/demostración con diversos programas en GPU
SDK, kit de herramientas e instalación del entorno para GPU
Trabajo con diversas bibliotecas
Demostración de GPU y herramientas con programas de ejemplo y OpenACC
Comprensión del modelo de programación de CUDA
Aprendizaje de la arquitectura de CUDA
Exploración y configuración de entornos de desarrollo de CUDA
Trabajo con la API de tiempo de ejecución de CUDA
Comprensión del modelo de memoria de CUDA
Exploración de características adicionales de la API de CUDA
Acceso eficiente a la memoria global en CUDA: optimización de la memoria global
Optimización de transferencias de datos en CUDA utilizando secuencias de CUDA (CUDA Streams)
Uso de la memoria compartida en CUDA
Comprensión y uso de operaciones e instrucciones atómicas en CUDA
Caso práctico: procesamiento básico de imágenes digitales con CUDA
Trabajo con programación para múltiples GPUs
Perfilado y muestreo avanzados del hardware en NVIDIA/CUDA
Uso de la API de paralelismo dinámico de CUDA para el lanzamiento dinámico de kernels
Resumen y conclusión
Requerimientos
- Programación en C
- Linux GCC
Reseñas (1)
La energía y el humor del formador.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Curso - NVIDIA GPU Programming - Extended
Traducción Automática