Dr. Ulises Olivares Pinto
Dr. David Oswaldo Pérez Martínez
Presentar al estudiante el modelo de programación paralela empleando Unidades de Procesamiento Gráfico (GPUs). Se utilizarán los GPUs como dispositivo de propósito general para la resolución de problemas inherentemente paralelos con aplicaciones en el área de aprendizaje profundo.
- Dominio de los lenguajes de programación C y C++
- Conicimiento básico de estructuras de datos y algoritmos
Se deberá contar con una computadora con GPU de la marca NVIDIA
Se deberá contar con el siguiente software instalado
- [CUDA Toolkit] (https://developer.nvidia.com/cuda-toolkit)
- Entonrno de desarrollo integrado(IDE)
- Eclipse
- Clion
- NVIDIA NSIGHT
Se deberán crear cuentas en las siguientes plataformas:
- Crear una cuenta en GitHub
- Google Classroom
| No. | Tema | Conceptos | Código | Material complementario |
|---|---|---|---|---|
| 1. | Introducción a la programación con GPUs | Introducción a CUDA, modelo de programación paralelo, consulta de dispositivo | Capítulo 1 - (D.Kirk et al., 2017) | |
| 2. | Organización de bloque e Hilos | Bloques, hilos, indexación y rendimiento | Capítulos 2 y 3 - (D.Kirk et al., 2017) | |
| 3. | Organización de hilos y jerarquía de memoria | Localidad de datos, memoria compartida, local y global | Capítulo 6 - (D.Kirk et al., 2017) | |
| 4. | Multiplicación de matrices | Memoria global | Capítulos 4 y 5 - (D.Kirk et al., 2017) | |
| 5. | Multiplicación de matrices | Memoria compartida, tiling | Capítulo 6 - (D.Kirk et al., 2017) | |
| 6. | Patrón de acceso paralelo: Convolución | Memoria compartida, tiling, memoria constante | Capítulo 7 - (D.Kirk et al., 2017) | |
| 7. | Patrón de acceso paralelo: Suma prefijo | Memoria compartida, tiling | Capítulo 8 - (D.Kirk et al., 2017) | |
| 8. | Patrón de acceso paralelo: Histogramas | Operaciones atómicas | Capítulo 9 - (D.Kirk et al., 2017) |
Última actualización: 06 de abril de 2021
