Programación avanzada en procesadores gráficos

Clave: 12A6506


No. de horas: 72


Unidades de crédito:  8


Créditos SATCA: No disponible


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:


  1. Introducción a CUDA.
  2. Manejo de memoria.
  3. Programación avanzada en CUDA.
  4. Bibliotecas de funciones de CUDA.
  5. 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.