Programación avanzada en procesadores gráficos
Clave: 12A6506
No. de horas: 72
Créditos: 5
Tipo de asignatura: Optativa
Fecha de elaboración: 2012-04-10
Objetivo general:
El alumno aprenderá a programar procesadores gráficos en diferentes niveles de programación, haciendo un uso óptimo de su arquitectura. Además, aprenderá a implementar aplicaciones de cómputo de alto desempeño utilizando bibliotecas de funciones de CUDA (Compute Unified Device Architecture).
Temas:
- Introducción a CUDA.
- Manejo de memoria.
- Programación avanzada en CUDA.
- Bibliotecas de funciones de CUDA.
- Aplicaciones.
Bibliografía:
[1] Shane Cook. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of GPU Computing Series), Morgan Kaufmann, 2012. [2] Rob Farber. CUDA Application Design and Development. Morgan Kaufmann, 2011.
[3] W.M. Hwu. GPU Computing Gems: Esmerald Edition, Applications of GPU Computing Series. Morgan Kaufmann, 2011.
[4] D. B. Kirk. and W.M. Hwu. Programming Massively Parallel Processors: A Hands-on Approach. Applications of GPU Computing Series. Morgan Kaufmann, 2010
[5] NVIDIA Ed. CUDA C Programming Guide, version 4.2, NVIDIA, 2012.
[6] J. Sanders. and E. Kandrot. CUDA by Example: An introduction to General-Purpose GPU Programming. Addison-Wesley, 2010.
[7] Andrew Sheppard. Programming GPUs, O'Reilly Media, 2012.
[8] Yoel Tenne and Chi-Keong Goh (Eds.). Computational Intelligence in Expensive Optimization Problems, Springer, 2010.
[9] Nicholas Wilt, CUDA Handbook: A Comprehensive Guide to GPU Programming, Addison-Wesley, 2012.