Computación paralela y distribuida

Clave: 07B5264


No. de horas: 72


Créditos: 5


Tipo de asignatura: Optativa


Fecha de elaboración: 2013-08-28



Objetivo general:


El alumno aprenderá los conceptos básicosde arquitectura de computadoras paralelas, tendrá la capacidad de programar anivel de hilos en computadoras con arquitectura de múltiples núcleos y a nivelde procesos en un ambiente de cómputo distribuido. Además, aprenderá aprogramar procesadores gráficos en el ambiente CUDA.


Temas:


  1. Introducción al cómputo paralelo
  2. Modelos de Programación Paralela
  3. Programación en memoria compartida
  4. Programación en memoria distribuida
  5. Introducción a CUDA
  6. Programación con CUDA
  7. Análisis de rendimiento de programas paralelos


Bibliografía:


[1]   David B. Kirk, Wen-mei W. Hwu. Programming Massively Parallel Processors: A Hands-on Approach, second edition, Morgan Kaufmann, 2011.
[2]   George Hager, Gerhard Wellein. lntroduction to High Performance Computing for Scientist and Engineers, CRC Press, 2011.
[3]   J. Sanders and E. Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley, 2010.
[4]   John L. Hennessey y David A. Patterson, Computer Architecture: A Quantitative Approach. Morgan Kaufmann, fifth edition, 2012.
[5]   Nicholas Witt. CUDA Handbook: A Comprehensive Guide to GPU Programming, Addison-Wesley, 2013. [6]   NVIDIA Ed . CUDA C Best Practices Guide, ver.5.5, 2013.
[7]   NVIDIA Ed. CUDA C Programming Guide, ver. 5.5, 2013.
[8]   Peter Pacheco. An introduction to Parallel Programming, Morgan Kaufmann, 2011.
[9]   Shane Cook. CUDA Programming: A Developrer's guide to Parallel Computing with GPU, Morgan Kaufmann, 2013.
[10]   Thomas Rauber, Gudula Ronger. Parallel Programming for multicore and Cluster Systems, Springer, 2010.
[11]   Wen-mei W. Hwu. GPU Computing Gems Emerald Edition, Morgan Kaufmann, 2011.