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 multinúcleo - Arquitectura y diseño
Introducción a los hilos (threads), conceptos básicos de hilos y fundamentos de la programación paralela
Comprensión de los fundamentos de los procesos de optimización de software en GPUs
OpenMP - Un estándar para la programación paralela basada en directivas
Práctica / demostración de varios programas en máquinas multinúcleo
Introducción a la computación con GPU
GPUs para computación paralela
Modelo de programación de GPUs
Práctica / demostración de varios programas en una GPU
SDK, Kit de desarrollo y configuración del entorno para GPU
Trabajo con diversas bibliotecas
Demostración de GPUs 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 los entornos de desarrollo de CUDA
Trabajo con la API de tiempo de ejecución de CUDA (CUDA Runtime API)
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 mediante secuencias (CUDA Streams)
Uso de la memoria compartida en CUDA
Comprensión y uso de operaciones e instrucciones atómicas en CUDA
Caso de estudio: Procesamiento básico de imágenes digitales con CUDA
Programación con 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