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

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