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

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4040
P. Laboratorio2050

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:30-14:00

10:45-12:15

Profesorado

01 P. Laboratorio-1 (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

09:00-10:30

Profesorado

31 Teórico (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

15:00-16:30

12:30-14:00

Profesorado

31 P. Laboratorio-1 (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

10:45-12:15

Profesorado