Contenido de XSL
Procesadores de Alto Rendimiento
- Centro
- Facultad de Informática
- Titulación
- Grado en Ingeniería Informática
- Curso académico
- 2024/25
- 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á de este modo:
* 1º examen: temas 1 y 2 3 puntos
* 2º examen: temas 2 y 3 1,5 puntos
* Trabajos prácticos: temas 2 y 3 2,5 puntos
* Proyecto: tema 3 3 puntos
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, durante la semana 9 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.
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. ]
Mattson Timothy G.. et al. The OpenMP Common Core: Making OpnMP Simple Again. The MIT Press, 2019
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.
GruposAlternar navegación
16 Teórico (Castellano - Tarde)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 14:00-15:30 | 15:30-17:00 |
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 | 09:00-10:30 | 10:30-12:00 |
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 |