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 Castellano, 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
- 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.
- 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:
Realización de prácticas de forma autónoma con seguimiento del profesorado CG1, CG3, CG4, CE3,CE4,CE5
Tutorías de seguimiento en la modalidad a distancia CB8, CB9
Actividades formativas de carácter no presencial y su relación con las competencias de la titulación:
Lectura de material didáctico, visionado de vídeos y consulta de material multimedia CB6, CT4,CE3
Realización de prácticas de forma autónoma con seguimiento del profesorado CG1, CG3, CG4, CE3,CE4,CE5
Tutorías de seguimiento en la modalidad a distancia CB8, CB9
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.
- Lectura de material didáctico, visionado de vídeos y consulta de material multimedia: 0h presenciales + 23h trabajo autónomo (total 23h)
- Realización de prácticas de forma autónoma con seguimiento del profesorado: 4h presenciales + 68h trabajo autónomo (total 72h)
- Tutorías de seguimiento en la modalidad a distancia: 1h presencial + 0h trabajo autónomo (total 1h)
- Realización de trabajos: 0h presenciales + 54h trabajo autónomo (total 54h)
TOTAL: 5h presenciales + 145h 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.