Arquitecturas
Paralelas de Computadoras, 18-Primavera
|
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
- HENNESSY
J., PATTERSON
D., "Computer
Architecture:
A
Quantitative Approach", 4th Edition, Morgan
Kaufman, 2007.
- TANENBAUM,
Andrew S., "Structured
Computer Organization", 5th Edition, Pearson
Education, 2006.
- PATTERSON
D., HENNESSY
J., "Computer
Organization
and
Design: the Hardware/Software Interface, 3rd Edition",
3rd
Edition, Morgan Kaufman, 2007.
- STALLINGS,
William, "Organización
y
Arquitectura
de Computadores", 7ma. Edición, Ed. Prentice
Hall, 2006.
- MURDOCCA, Miles J., "Computer
Architecture and Organization: An Integrated Approach",
Ed. Prentice Hall International, 2007.
- Harris David, Harris
Sarah, "Digital
Design and Computer Architecture", Morgan Kaufman,
2007.
|
Herramientas de
diseño
|
Mensajes
Publicado |
|
070518
|
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
Calificaciones parciales
|
Calendario
Sem |
Dia |
Notas
|
Códigos
|
1
|
070518
|
01.Introducción a
las arquitecturas paralelas de computadoras |
|
1
|
090518
|
02.Fundamentos
de Arquitectura de computadoras |
|
1
|
110518
|
03.Microejecución
de instrucciones aritméticas y de carga
|
|
2
|
140518
|
04.Microejecución
de instrucciones de bifurcación
|
ALUs en VHDLy Makefile |
2
|
160518
|
06.Factores de rendimiento y
hardinfo |
|
2
|
180518
|
07.Tiempo trascurrido y tiempo de ejecución |
|
3
|
210518
|
08.De CISC a RISC, arquitecturas load-store y
filosofía RISC |
|
3
|
230518
|
09.Unidad
de pre-búsqueda |
|
3
|
250518
|
10.Fundamentos
de pipeline |
|
4
|
280518
|
11.Diseño de pipeline |
|
4
|
300518 |
12.Riesgos de
diseño |
|
4
|
010618
|
13.Predicción
de saltos |
|
5
|
040618
|
14.Arquitecturas superscalares y VLIW |
|
5
|
060618
|
15.Procesadores vectoriales |
|
5
|
080618
|
16.Multmat apuntadores estáticos |
|
6
|
110618
|
17.Multmat
apuntadores dinámicos, multmat multiarchivo |
|
6
|
130618
|
18.Multmat y banderas de optimización |
|
6
|
150618 |
Primer examen parcial |
Vectorización en
C/C++ y el compilador de Intel |
7
|
180618
|
19.Clasificación y taxonomía de Flynn |
|
7
|
200618 |
20.Sistemas con
memoria compartida |
|
7
|
220618
|
21.Hilos
hc_secuencial.c hc_procesos.c
|
|
8
|
250618
|
22.Hilos con
OpenMP
hc_openMP.c
|
|
8
|
270618
|
23.Hilos con pthreads
hc_pthreads.c |
Parallel-Processing
on Linux
|
8
|
290618
|
22.Multmat:
secuencial, vectorial, hilos OpenMP, hilos Pthreads
|
Consistencia y acceso a memoria compartida: UMA,
NUMA y COMA |
9
|
020718
|
23.Sistemas de memoria distribuida
|
|
9
|
040718
|
24.Cluster Beowulf |
|
9
|
060718
|
25.Programación
paralela con MPI |
|
10
|
090718 |
26.Ley de Amdhal,
Ley de Gustafson-Barsis y análisis de desempeño |
|
10
|
110718
|
27.GPUs
|
|
10
|
130718
|
29.Introducción a CUDA
|
|
11
|
160718
|
30.Programación
con CUDA |
|
11
|
180718
|
31.Programación
con CUDA |
|
11
|
200718
|
32.Proyecto
en GPUs
|
|
|
|
|
|
|