Contenido de XSL

Procesadores de Alto Rendimiento

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2022/23
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

Resultados del estudio de la asignatura:



1. Entender las técnicas de segmentación avanzada (modelo desorden/desorden), la arquitectura de los procesadores superescalares y la predicción dinámica de los saltos.

2. Entender las arquitecturas de tipo multithreading y multicore.

3. Comprender los problemas relativos a la coherencia de datos y a la sincronización de procesos en las máquinas de tipo MIMD de memoria compartida.

4. Entender la arquitectura de un procesador vectorial (SIMD) y utilizar las técnicas de procesamiento vectorial para generar aplicaciones vectoriales, utilizando los intrinsics AVX512.

5. Entender la arquitectura SIMD de una GPU y generar aplicaciones para la misma utilizando CUDA.

TemarioAlternar navegación

1. Segmentación avanzada multiciclo

1.1. Introducción.

1.2. Modelo de ejecución desorden/desorden.

1.3. Unidad de control tipo Tomasulo: estaciones de reserva.

1.4. La unidad funcional de memoria.

1.5. El búfer de reordenación; tratamiento preciso de las excepciones.

1.6. Procesadores superescalares.

1.7. Predicción dinámica de los saltos; especulación.



2. Arquitecturas MIMD: memoria compartida

2.1. Introducción. Sistemas multithreading y multicore (SMP).

2.2. Coherencia de los datos: controladores snoopy.

2.3. Sincronización de los procesos: instrucciones y procedimientos atómicos.

2.4. Paralelización de bucles: análisis de dependencias.

2.5. Laboratorio: OpenMP.



3. Arquitecturas SIMD: procesamiento vectorial y procesamiento gráfico (GPU - CUDA)

3.1. Introducción.

3.2. Arquitecturas para el procesamiento vectorial. Técnicas para generar código vectorial.

Laboratorio: código vectorial, funciones intrinsics para las instrucciones AVX512.

3.3. Procesadores gráficos. Arquitectura de una GPU.

3.4. Herramientas para la programación de GPUs: CUDA.

3.5. Modelo de programación de CUDA.

3.6. Directrices para la mejora del rendimiento.

3.7. Proyecto: paralelización de una aplicación para una GPU. Análisis del rendimiento.

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

Hay dos maneras de superar la asignatura.



Evaluación continua (estudio continuo).



Es el modo por defecto de evaluación, y solo para la primera convocatoria. Implica la participación activa y continuada en las actividades del curso: asistencia a clase y laboratorios, entrega de ejercicios y trabajos, pruebas de evaluación, etc. Si no se cumple con esas condiciones, se pasará al procedimiento de evaluación global.

La asignatura se evaluará así en este modo:

temas 1. a 3.2. 6 puntos examen (5) + trabajos prácticos (1)

temas 3.3. a 3.7. 4 puntos proyecto (4)



Es necesario obtener al menos un 4 en el examen escrito; si no, habrá que repetirlo en enero. Para superar la asignatura, además de obtener una nota superior a 5, es necesario obtener al menos 4 puntos tanto en la prueba escrita como en los trabajos prácticos y en el proyecto.





Evaluación global.



Si no es posible continuar en evaluación continua, por bajo rendimiento o por decisión propia, la evaluación de la asignatura será de tipo global, de la siguiente forma:



Examen escrito (todos los temas) 7,5 puntos

Trabajo práctico (CUDA) 2,5 puntos



También en este caso, para superar la asignatura, además de obtener una nota superior a 5, es necesario obtener al menos 4 puntos tanto en la prueba escrita como en el trabajo práctico.

Materiales de uso obligatorioAlternar navegación

El material de uso en la asignatura, transparencias y/o lecturas está en eGela.

BibliografíaAlternar navegación

Bibliografía básica

Hennessy J.L., Patterson D.A. Computer architecture: a quantitative approach. (6. ed.). Morgan Kaufmann, 2017. [ Konputagailuen arkitektura. Hurbilketa kuantitatibo bat. (4 ed.). UPV/EHU, 2009. ]



Chapman B. et al. Using OpenMP. The MIT Press, 2008



http://openmp.org/



http://software.intel.com/sites/landingpage/IntrinsicsGuide/



Kirk D.B. et al. Programming massively parallel processors. 3. ed. Elsevier, 2017.



https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html





Bibliografía de profundización

van der Pas, R. et al. Using OpenMP: The next step. The MIT Press, 2017.

Ortega J. et al. Arquitectura de Computadores. Thomson, 2005.

Sorin D.J. et al. A primer on memory consistency and cache coherence. Morgan & Claypool Pub., 2011.

Midkiff S.P. Automatic parallelization. An overview of fundamental compiler techniques. Morgan & Claypool Pub., 2012.

http://top500.org/


Revistas

Revistas del área y sitios web de los fabricantes: IEEE Computer, IEEE Micro, BYTE, www.top500.org, https://developer.nvidia.com/cuda-zone, etc.

Tribunal de convocatorias 5ª, 6ª y excepcionalAlternar navegación

  • ARREGUI URIARTE, MARIA OLATZ
  • ARRUABARRENA FRUTOS, AGUSTIN
  • PASCUAL SAIZ, JOSE ANTONIO

GruposAlternar navegación

16 Teórico (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

15:30-17:00

14:00-15:30

Profesorado

16 P. Laboratorio-1 (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

17:00-18:30

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

10:30-12:00

09:00-10:30

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:00-13:30

Profesorado