Competencias del título |
Código
|
Competencias / Resultados del título
|
A1 |
CE1 - Definir, evaluar y seleccionar la arquitectura y el software más adecuado para la resolución de un problema |
A2 |
CE2 - Analizar y mejorar el rendimiento de una arquitectura o un software dado |
A3 |
CE3 - Conocer los conceptos y las técnicas básicas de la computación de altas prestaciones |
A4 |
CE4 - Profundizar en el conocimiento de herramientas de programación y diferentes lenguajes en el campo de la computación de altas prestaciones |
A5 |
CE5 - Analizar, diseñar e implementar algoritmos y aplicaciones paralelas eficientes |
B1 |
CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación |
B3 |
CB8 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios |
B4 |
CB9 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades |
B6 |
CG1 - Ser capaz de buscar y seleccionar la información útil necesaria para resolver problemas complejos, manejando con soltura las fuentes bibliográficas del campo |
B8 |
CG3 - Ser capaz de mantener y extender planteamientos teóricos fundados para permitir la introducción y explotación de tecnologías nuevas y avanzadas en el campo |
B9 |
CG4 - Ser capaz de planificar y realizar tareas de investigación, desarrollo e innovación en ámbitos relacionados con la computación de altas prestaciones |
C1 |
CT1 - Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida |
C4 |
CT4 - Valorar la importancia que tiene la investigación, la innovación y el desarrollo tecnológico en el avance socioeconómico y cultural de la sociedad |
Resultados de aprendizaje |
Resultados de aprendizaje |
Competencias / Resultados del título |
El alumno conocerá los principales tipos de aplicaciones existentes en los que se suelen aplicar técnicas de HPC. |
AP1 AP2
|
BP1 BP6
|
CP1
|
El alumno aprenderá a utilizar herramientas para caracterizar y representar el rendimiento de una aplicación. |
AP3 AP4
|
BP3 BP9
|
CP4
|
El alumno aprenderá a usar herramientas para la compilación, generación y despliegue de software en entornos HPC. |
AP3 AP5
|
BP1 BP4 BP8
|
CP1
|
Contenidos |
Tema |
Subtema |
Estudio de los principales tipos de aplicación HPC. Para cada tipo se verá: |
1. Descripción formal del problema.
2. Retos para su paralelización y mejora del rendimiento.
3. Soluciones existentes. |
Herramientas para la caracterización y representación del rendimiento de aplicaciones HPC. |
1. Uso de herramientas para la caracterización del rendimiento de aplicaciones, tales como monitores software o contadores hardware.
2. Detección de puntos calientes sobre los que incidir en el proceso de optimización.
3. Aplicación de modelos de rendimiento a este proceso.
4. Herramientas para la representación del rendimiento de una aplicación. |
Herramientas para la compilación, generación y despliegue de software HPC. |
1. Proceso de compilación, optimización y generación de código en un compilador.
2. Optimización del código a través del compilador.
3. Paralelización y vectorización automáticas.
4. Herramientas para la construcción del software.
5. Uso de contenedores para facilitar el despliegue de aplicaciones HPC. |
Planificación |
Metodologías / pruebas |
Competencias / Resultados |
Horas lectivas (presenciales y virtuales) |
Horas trabajo autónomo |
Horas totales |
Lecturas |
A3 B1 C4 |
0 |
23 |
23 |
Prácticas de laboratorio |
A1 A2 A4 A5 C1 |
4 |
66 |
70 |
Trabajos tutelados |
B3 B4 B6 B8 B9 |
0 |
54 |
54 |
Prueba mixta |
B4 B6 |
2 |
0 |
2 |
|
Atención personalizada |
|
1 |
0 |
1 |
|
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías |
Metodologías |
Descripción |
Lecturas |
Lectura de material didáctico, visionado de vídeos y consulta de material multimedia. Instrucción programada a través de materiales docentes, especialmente diseñados para un aprendizaje autónomo y asíncrono, con un peso importante de las referencias a las fuentes documentales empleadas en los distintos contenidos. |
Prácticas de laboratorio |
Realización de prácticas de forma autónoma con seguimiento del profesorado, en las que se realizan tareas dirigidas que permitan al alumno familiarizarse desde un punto de vista práctico con los contenidos expuestos en las clases teóricas. |
Trabajos tutelados |
Realización de trabajos, en los que el alumno tiene que emplear los conocimientos adquiridos para resolver distintos problemas de forma autónoma. |
Prueba mixta |
Prueba escrita en la que el alumno tiene que mostrar que ha adquirido las competencias propias de la asignatura a través de la respuesta a preguntas teóricas y de la resolución de problemas. |
Atención personalizada |
Metodologías
|
Prácticas de laboratorio |
Trabajos tutelados |
|
Descripción |
La atención personalizada estará garantizada en la realización de las prácticas de laboratorio y de los trabajos tutelados, siendo imprescindible para dirigir a los alumnos en el desarrollo de su trabajo. Esta atención personalizada sirve, además, para validar y evaluar el trabajo realizado por los alumnos en las distintas fases del desarrollo, hasta su finalización.
Por otra parte, se recomienda a los alumnos el aprovechamiento de las horas de tutoría individual como ayuda complementaria. |
|
Evaluación |
Metodologías
|
Competencias / Resultados |
Descripción
|
Calificación
|
Prueba mixta |
B4 B6 |
Prueba escrita en la que el alumno tiene que mostrar que ha adquirido las competencias propias de la asignatura mediante la repuesta a preguntas teóricas y la resolución de problemas. |
30 |
Trabajos tutelados |
B3 B4 B6 B8 B9 |
Realización de trabajos, en los que el alumno tiene que emplear los conocimientos adquiridos para resolver distintos problemas de forma autónoma. |
70 |
|
Observaciones evaluación |
|
Fuentes de información |
Básica
|
|
[1] Computer Architecture: A Quantitative Approach (5th or 6th Ed.). John L. Hennessy, David A. Patterson. Morgan Kaufmann. ISBN 978-0123838728 (5th Ed. 2011) 978-0128119051 (6th Ed. 2017) [2] Performance Tuning of Scientific Applications. David H. Bailey, Robert F. Lucas, Samuel Williams. CRC Press. ISBN 978-1439815694 |
Complementária
|
|
[3] Intel® C++ Compiler Developer Guide and Reference https://software.intel.com/cpp-compiler-developer-guide-and-reference [4]
A Guide to Vectorization with Intel® C++ Compilers
https://software.intel.com/sites/default/files/m/4/8/8/2/a/31848-CompilerAutovectorizationGuide.pdf [5] Intel® VTune™ Amplifier Help https://software.intel.com/en-us/vtune-amplifier-help [6] Free Software Foundation, Inc.: Using the GNU Compiler Collection (GCC).
https://gcc.gnu.org/onlinedocs |
Recomendaciones |
Asignaturas que se recomienda haber cursado previamente |
Programación Paralela/614473102 |
|
Asignaturas que se recomienda cursar simultáneamente |
|
Asignaturas que continúan el temario |
|
Otros comentarios |
Debido a la fuerte interrelación entre la parte teórica y la parte
práctica, y á la progresividad en la presentación de conceptos muy
relacionados entre si en la parte teórica, es recomendable dedicar un
tiempo de estudio o un repaso diario.
En esta materia se hará un uso intensivo de herramientas de comunicación en línea: videoconferencia, correo-e, chat, etc. |
|