Arquitecturas Paralelas de Computadoras, 15-Otoño



Curso

Objetivos
  • Analizar las técnicas de paralelismo para mejorar el desempeño de las aplicaciones.
  • Explicar el papel de los compiladores en el cómputo de alto rendimiento.
  • Implementar aplicaciones paralelas en sistemas de memoria compartida y memoria distribuida.
  • Implementar circuitos digitales con HDL


Contenido Sintético

1. Cómputo de alto rendimiento.
2. Pipeline.
3. Riesgos y soluciones para sistemas con pipeline.
4. Jerarquía de memoria y modos de acceso múltiple a la memoria.
5. Arquitecturas superescalares y VLWI.
6. Compiladores para arquitecturas paralelas.
7. Arquitecturas multi-núcleo y arquitecturas multi-procesador.
8. Programación paralela con hilos y OpenMP.
9. Arquitecturas multi-computadoras (clusters).
10. Programación paralela con MPI.



Bibliografía

Herramientas de diseño


Mensajes

Publicado
180915
Inicio de curso                                                                      









Evaluación
  • 1er parcial: 60% examen, 40% circuitos en VHDL y programas, más puntos extras
  • 2do parcial: 60% examen, 40% programas en C, más puntos extras
  • 3er parcial: 60% examen, 40% programas en C, más puntos extras

Calificaciones parciales

  • Calificaciones. Última modificación 170915


Calendario

Sem Dia Notas
Códigos
1
140915
Descanso obligatorio

1
160915
Descanso obligatorio

1
180915
01.Introducción a las arquitecturas paralelas de computadoras

2
210915
02.Fundamentos de Arquitectura de computadoras
Arquitectura de Computadoras 15P
2
230915 03.Microejecución de instrucciones aritméticas y de carga

2
250915 04.Microejecución de instrucciones de bifurcación
ALUs en VHDLy Makefile
3
280915 05.Microejecución de instrucciones de bifurcación
3
300915 06.Factores de rendimiento y hardinfo 
3
021015
07.Tiempo trascurrido y tiempo de ejecución
4
051015 08.De CISC a RISC, arquitecturas load-store y filosofía RISC
4
071015 09.Unidad de pre-búsqueda
4
091015 10.Fundamentos de pipeline
5
121015 Descanso obligatorio

5
141015
Clase cancelada

5
161015 11.Diseño de pipeline
6
191015 Clase cancelada

6
211015 12.Riesgos de diseño
6
231015 13.Predicción de saltos
7
261015 14.Arquitecturas superscalares y VLIW
7
281015
15.Procesadores vectoriales 
Vectorización en C/C++ y el compilador de Intel
7
301015 16.Multmat apuntadores estáticos

8
021115
Descanso obligatorio
8
041115 17.Multmat apuntadores dinámicos, multmat multiarchivo

8
061115 18.Multmat y banderas de optimización

9
091115
19.Clasificación y taxonomía de Flynn Parallel-Processing on Linux
9
111115
20.Sistemas con memoria compartida Consistencia y acceso a memoria compartida: UMA, NUMA y COMA
9
131115
21.Hilos
hc_secuencial.c hc_procesos.c

10
161115
22.Hilos con OpenMP
hc_openMP.c

10
181115
23.Hilos con pthreads
hc_pthreads.c

10
201115
Descanso obligatorio
11
231115
22.Multmat: secuencial, vectorial, hilos OpenMP, hilos Pthreads
11
251115
23.Sistemas de memoria distribuida
24.Cluster Beowulf

11
271115
25.Programación paralela con MPI
11-bis
301115
26.Ley de Amdhal, Ley de Gustafson-Barsis y análisis de desempeño
11-bis
021215
--.GPUs

11-bis
041215
--.Programación de GPUs con CUDA