Contenido de XSL
Procesadores de Alto Rendimiento
- Centro
- Facultad de Informática
- Titulación
- Grado en Ingeniería Informática
- Curso académico
- 2020/21
- Curso
- X
- Nº Créditos
- 6
- Idiomas
- Castellano
- Euskera
DocenciaAlternar navegación
Tipo de docencia | Horas de docencia presencial | Horas de actividad no presencial del alumno/a |
---|---|---|
Magistral | 40 | 40 |
P. Laboratorio | 20 | 50 |
Guía docenteAlternar navegación
ObjetivosAlternar navegación
Las competencias específicas del grado que quedan cubiertas son : IC1, IC2, IC3, IC5.
A continuación detallamos las competencias teóricas y prácticas que se presumen adquirirán los alumnos:
Entender la reordenación dinámica de la ejecución de las instrucciones.
Entender el paralelismo a nivel de instrucción de los procesadores superescalares.
Analizar y entender las optimizaciones que hacen los compiladores.
Capacidad de programar con OpenMp.
Entender la parte vectorial de los procesadores: intra-register vectorization.
Capacidad de usar las placas gráficas para la ejecución paralela de aplicaciones de propósito general.
Analizar los pocesadores para sistemas de tiempo real y empotrados.
TemarioAlternar navegación
A. Segmentación avanzada
1. Procesadores multiciclo
- Introducción. Arquitectura y segmentación de las instrucciones.
- Modelos de ejecución desorden/desorden: planificación dinámica de las instrucciones.
- La unidad funcional de memoria.
- Gestión de las excepciones.
2. Procesadores superescalares
- Introducción.
- Renombre de registros.
- Modelos de ejecución de las instrucciones.
- Tratamiento de los saltos. Ejecución especulativa.
- Otros modelos (VLIW).
B. Arquitecturas Paralelas (I)
3. Procesadores multithreading y multicore
- Introducción: paralelismo de memoria compartida.
- Ejecución multithreading en un procesador.
- Paralelismo en procesadores con muchos núcleos.
- Coherencia de los datos en los sistemas SMP. Protocolos tipo snoopy.
- Paralelización de bucles. Análisis de dependencias.
- Paralización mediante OpenMP.
4. Arquitecturas SIMD: procesadores orientados a tratamiento vectorial y gráfico
- Introducción
- Fundamentos de las máquinas vectoriales, modelos clásicos e implementaciones actuales (AVX).
- Procesadores gráficos, GPUs. Programación CUDA.
MetodologíaAlternar navegación
Durante el desarrollo de clases y laboratorios se llevarán a cabo, de forma sistemática, actividades de trabajo en grupo, discusión y presentación de resultados de ejercicios, con el fin de impulsar la participación directa en el desarrollo del curso y de fomentar la motivación del alumnado. Se tendrá en cuenta el uso de metodologías activas.
Sistemas de evaluaciónAlternar navegación
En caso de encontrarnos en situación normal (no confinamiento) habrá dos modos de evaluación:
a. Evaluación/aprendizaje continuos. Es el método inicial solo para la primera convocatoria, para el que se requiere la asistencia a clases y laboratorios por encima del 75%. La asignatura se evaluará mediante:
- dos exámenes escritos, a mitad y al final del curso (temas 1/2 y 3/4), con un peso del 40% cada uno.
- ejercicios y prácticas a desarrollar en el laboratorio, utilizando OpenMP, AVX y CUDA, con un peso del 20%.
- para aprobar la asignatura hay que sacar un 5.
b. Evaluación global.
- prueba de evaluación global escrita, 80% de la nota
- práctica con un valor del 20%
--------------------------------------------------------------------------------
NOTA: En caso de volver al confinamiento, las pruebas de evaluación (tanto continua como final) se realizarán de forma telemática a través de cuestionarios, entrevistas y/o entregas de eGela y mediante conexión BBC.
Materiales de uso obligatorioAlternar navegación
El material de uso en la asignatura, transparencias y/o lecturas está en eglea.
BibliografíaAlternar navegación
Bibliografía básica
Hennessy J.L., Patterson D.A.: Computer Architecture: A Quantitative Approach (5. ed.). M. Kaufmann, 2011.
Patterson D.A., Hennessy J.L.: Estructura y Diseño de Computadores. Reverté, 2011.
CUDA
- Bertil Schmidt, Jorge González-Domínguez, ... Moritz Schlarb Parallel programming : concepts and practice. Morgan Kauffman. 2018. (Chapters 7 and 8)
- David B. Kirk and Wen-mei W. Hwu. Programming Massively Parallel Processors: A Hands-on Approach. 3rd Edition. 2017. (Chapter 13)
- Alberto García García, Sergio Orts Escolano, José Celilia Canales, José García Rodriguez. Programación de GPUs Usando Compute Unified Device Architecture (CUDA). Editorial Ra-Ma. 2020
Bibliografía de profundización
Las siguientes reseñas son complementarias:
ORGANIZACION DE COMPUTADORES.
V.C. Hamacher, Z.G. Vranesic y S.G. Zaky. Ed. McGraw-Hill, 2003 (5. edición).
ORGANIZACION Y ARQUITECTURA DE COMPUTADORES.
W. Stallings. Ed. Prentice-Hall, 2006 (7. edición)
Revistas
IEEE Computer, IEEE Micro, BYTE, www.top500.org...
Tribunal de convocatorias 5ª, 6ª y excepcionalAlternar navegación
- ARREGUI URIARTE, MARIA OLATZ
- ARRUABARRENA FRUTOS, AGUSTIN
- PASCUAL SAIZ, JOSE ANTONIO
GruposAlternar navegación
01 Teórico (Castellano - Mañana)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 12:30-14:00 | 10:45-12:15 |
Profesorado
01 P. Laboratorio-1 (Castellano - Mañana)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 09:00-10:30 |
Profesorado
31 Teórico (Euskera - Mañana)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 15:00-16:30 | 12:30-14:00 |
Profesorado
31 P. Laboratorio-1 (Euskera - Mañana)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 10:45-12:15 |