Computación paralela y distribuida

Clave: 07B5264
No. de horas: 72
Unidades de crédito:  8
Créditos SATCA:  No disponible
Tipo de asignatura: Optativa
Fecha de elaboración: 2015-05-15

Objetivo general:

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


Temas:
  1. Introducción al cómputo paralelo.
  2. Programación en memoria compartida.
  3. Programación en memoria distribuida.
  4. Introducción a CUDA.
  5. Manejo de memoria.
  6. Programación con CUDA.

Bibliografía:
  1. Gerassimos Barlas, Multicore and GPU programming: An integrated Approach, Elsevier 2015.
  2. John Cheng, Max Grossman and Ty McKerracher, Professional CUDA Cprogramming, John Wiley & Sons, 2014.
  3. Shane Cook, CUDA Programming: A developer’s Guide to Parallel Computing with GPUs, Elsevier, 2013.
  4. Nicholas Wilt, The CUDA Handbook a Comprehensive Guide to GPU Programming, Addison-Wesley, 2013.
  5. Nvidia Ed., CUDA C Programming Guide, versión 7.0, Nvidia, 2015.
  6. Nvdia Ed., CUDA C Best Practices Guide, version 7.0, Nvidia, 2015.
  7. Peter Pacheco. An introduction to Parallel Programming, Morgan Kaufmann, 2011.