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
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
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
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 15:30-17:00 | 14:00-15:30 |
Profesorado
16 P. Laboratorio-1 (Castellano - Tarde)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 17:00-18:30 |
Profesorado
31 Teórico (Euskera - Mañana)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 10:30-12:00 | 09:00-10:30 |
Profesorado
31 P. Laboratorio-1 (Euskera - Mañana)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 12:00-13:30 |