Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 107 Horas de Tutorías: 1 Clase Expositiva: 24 Clase Interactiva: 18 Total: 150
Lenguas de uso Gallego, Inglés
Tipo: Materia Ordinaria Máster RD 1393/2007 - 822/2021
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Con docencia
Matrícula: Matriculable | 1ro curso (Si)
El objetivo de esta asignatura es que el alumnado se familiarice con los tipos de aplicaciones más comunes que son susceptibles de requerir el uso de HPC, así como que conozcan las herramientas e implementaciones existentes para cada una de ellas, entendiendo además los retos que hay que abordar para su paralalelización y mejora del rendimiento. Esto permitirá al estudiante adquirir un conocimiento general del mundo HPC y de sus diferentes aplicaciones.
Además, el alumno aprenderá qué herramientas tiene a su disposición para la caracterización del rendimiento en entornos HPC, y cómo se pueden utilizar estas para abordar el proceso de paralelización y mejora del rendimiento de una aplicación en una determinada plataforma. Esto permitirá al estudiante ser capaz de analizar el rendimiento esperable de esa aplicación en ese sistema, identificando además los puntos calientes sobre los que centrar sus esfuerzos de optimización.
Finalmente, el alumnado aprenderá qué alternativas tecnológicas existen para desplegar una aplicación HPC de forma rápida y eficiente. Esto permitirá al alumno ser capaz de distribuir aplicaciones HPC de forma sencilla y eficaz en distintos entornos.
* Estudio de los principales tipos de aplicaciones en entornos HPC
Para cada tipo se mostrará:
1. Descripción formal del problema.
2. Retos para su paralelización y mejora del rendimiento.
3. Soluciones existentes.
* Herramientas para la compilación y optimización de software en entornos HPC
1. Proceso de compilación, optimización y generación de código en un
compilador.
2. Optimización de código a través del compilador.
3. Paralelización y vectorización automáticas.
4. Herramientas para la automatización de la construcción del software.
* Herramientas para la caracterización y representación del rendimiento de las aplicaciones HPC
1. Uso de herramientas para la caracterización del rendimiento de
las 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 del rendimiento a este proceso.
4. Herramientas para la representación del rendemento de una
aplicación.
* Herramientas para el despliegue de aplicaciones de IA en entornos HPC
1. Entrenamiento y despliegue de modelos de Aprendizaje Profundo en
entornos HPC.
2. Uso de contedores para facilitar el despliegue de aplicaciones
HPC.
Bibliografía 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
Bibliografía complementaria:
[3] Intel® C++ Compiler 17.0 Developer Guide and Reference https://software.intel.com/sites/default/files/managed/08/ac/PDF_CPP_Co…
[4] Intel® VTune™ Amplifier 2018 Help https://software.intel.com/en-us/vtune-amplifier-help
[5] Free Software Foundation, Inc.: Using the GNU Compiler Collection (GCC).
https://gcc.gnu.org/onlinedocs
- El alumno conocerá los principales tipos de aplicaciones existentes en los que se suelen aplicar técnicas de HPC.
- El alumno aprenderá a utilizar herramientas para caracterizar y representar el rendimiento de una aplicación.
- El alumno aprenderá a usar herramientas para la compilación, generación y despliegue de software en entornos HPC.
Competencias de la titulación que se trabajan (ver memoria título):
- Básicas: CG1,CG3,CG4, CB6,CB8,CB9
- Transversales: CT1,CT4
- Específicas: CE1,CE2,CE3,CE4,CE5
- Clases teóricas, en las que se expone el contenido de cada tema. El alumno dispondrá de todo el material necesario antes de la clase y el profesor promoverá una actitud activa, realizando preguntas que permitan aclarar aspectos concretos y dejando cuestiones abiertas para la reflexión del alumno.
- Clases prácticas en el laboratorio, 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.
-Realización de trabajos, en los que el alumno tiene que emplear los conocimientos adquiridos para resolver distintos problemas de forma autónoma.
Actividades formativas de carácter presencial y su relación con las competencias de la titulación:
Clases de teoría CB6, CT4,CE3
Clases prácticas en laboratorio CT1, CE1, CE2
Tutorías CB8, CB9
Actividades formativas de carácter no presencial y su relación con las competencias de la titulación:
Clases prácticas en laboratorio CT1, CE1, CE2
Realización de trabajos académicamente dirigidos CG1, CG3, CG4, CE1, CE2, CE4,CE5
Evaluación de trabajos y prácticas académicamente dirigidos: 70%
Pruebas periódicas y/u examen final: 30%
En el caso de realización fraudulenta de ejercicios o pruebas, será de aplicación lo recogido en la Normativa de avaliación do rendemento académico dos estudantes e de revisión de cualificacións.
En aplicación de la Normativa da ETSE sobre plaxio (aprobada por la Xunta de la ETSE el 19/12/2019), la copia total o parcial de algún ejercicio supondrá el suspenso en las dos oportunidades del curso, con la calificación de 0,0 en ambos casos.
- Clases de teoría: 23h presenciales + 0h trabajo autónomo (total 23h)
- Clases prácticas en laboratorio: 18h presenciales + 54h trabajo autónomo (total 72h)
- Tutorías: 1h presencial + 0h trabajo autónomo (total 1h)
- Realización de trabajos: 0h presenciales + 54h trabajo autónomo (total 54h)
TOTAL: 42h presenciales + 108h trabajo autónomo, para un total de 150h
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.
La asignatura será impartida en inglés.