Ruta de navegación

Contenido de XSL

Procesadores de Alto Rendimiento26249

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2023/24
Curso
X
Nº Créditos
6
Idiomas
Castellano
Euskera
Código
26249

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

Descripción y Contextualización de la AsignaturaAlternar navegación

En anteriores asignaturas del área de Arquitectura de Computadores, hemos estudiado algunas de las principales técnicas de diseño de un procesador que permiten obtener una alta velocidad de cálculo. En esta asignatura, daremos un paso más en esa línea, y analizaremos las técnicas de segmentación avanzadas que se utilizan en los procesadores más potentes actuales. Tras ello, continuaremos en el área de los sistemas paralelos, analizando las arquitecturas de tipo MIMD y SIMD.



En el primer tema, estudiaremos la arquitectura segmentada de los procesadores avanzados multiciclo: el algoritmo de Tomasulo, los procesadores superescalares, la predicción de saltos, etc. Tras ello, estudiaremos los sistemas paralelos MIMD de memoria compartida: la coherencia de los datos, la sincronización de procesos, y las técnicas habituales de paralelización de bucles. Y en el tercer tema nos centraremos en las arquitecturas SIMD: procesamiento vectorial y procesamiento gráfico (GPU). Para el trabajo práctico usaremos OpenMP, operaciones vectoriales mediante "intrinsics" (AVX512), y CUDA. El curso se completa con la realización de una aplicación paralela para ser ejecutada en una GPU.



Tras ello, en la siguiente asignatura, Sistemas de Cómputo Paralelo, analizaremos los sistemas paralelos masivos de memoria distribuida: la red de comunicación, la coherencia de datos, y MPI, la herramienta principal para programar aplicaciones paralelas para clústeres de alto rendimiento.



Competencias/ Resultados de aprendizaje de la asignaturaAlternar 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.

Contenidos teórico-prácticosAlternar 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

  • Sistema de Evaluación Continua
  • Sistema de Evaluación Final
  • Herramientas y porcentajes de calificación:
    • Los sistemas de evaluación y sus porcentajes se especifican en los siguientes apartados (%): 100

Convocatoria Ordinaria: Orientaciones y RenunciaAlternar 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 (4) + trabajos prácticos (2)

temas 3.3. a 3.7. 4 puntos proyecto (3) + ejercicios (1)



Para superar la asignatura, además de obtener una nota superior a 5, es necesario obtener al menos 4 puntos (sobre 10) en todas y cada una de las pruebas evaluables, es decir, ejercicios, exámenes, trabajos prácticos y proyecto.



El alumnado que, cumpliendo las condiciones para continuar en el sistema de evaluación continua, decidiese optar por la evaluación global, deberá informar al profesorado responsable de la asignatura mediante correo electrónico, antes de la semana 14 del curso.





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 puntos

Trabajo práctico (CUDA) 3 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.

Convocatoria Extraordinaria: Orientaciones y RenunciaAlternar navegación

La segunda convocatoria se realizará de acuerdo al procedimiento de evaluación global anteriormente descrito.

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
  • ETXEBERRIA UZTARROZ, MARIA IZASKUN
  • PASCUAL SAIZ, JOSE ANTONIO

GruposAlternar navegación

01 Teórico (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

10:30-12:00 (1)

09:00-10:30 (2)

Profesorado

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

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:00-13:30 (1)

Profesorado

46 Teórico (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

15:30-17:00 (1)

14:00-15:30 (2)

Profesorado

46 P. Laboratorio-1 (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

17:00-18:30 (1)

Profesorado