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