Contenido de XSL

Procesadores de Alto Rendimiento

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2021/22
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/estudio continuos.



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 examen (1) + proyecto (3)



Es necesario obtener al menos un 4 en los exámenes escritos; si no, habrá que repetirlos en enero. Para superar la asignatura, además de obtener una nota superior a 5, es necesario obtener al menos 4 puntos tanto en las pruebas escritas como en los trabajos prácticos.





Evaluación global.



Si no es posible continuar en evaluación continua, por bajo rendimiento o por decisión propia, la evaluación de las 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 escritas como en el trabajo práctico.



NOTA: En caso de volver al confinamiento, las pruebas de evaluación (tanto continua como final) se realizaran 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 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

Arloko aldizkariak eta fabrikatzaileen webguneak: 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

10:45-12:15

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

12:30-14:00

09:00-10:30

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:30-14:00

Profesorado