Datos Identificativos 2024/25
Asignatura (*) Ferramentas para HPC Código 614973105
Titulación
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 1º cuadrimestre
Primeiro Optativa 6
Idioma
Inglés
Modalidade docente Non presencial
Prerrequisitos
Departamento Departamento profesorado máster
Enxeñaría de Computadores
Coordinación
Padron Gonzalez, Emilio Jose
Correo electrónico
emilio.padron@udc.es
Profesorado
Andrade Canosa, Diego
Padron Gonzalez, Emilio Jose
Correo electrónico
diego.andrade@udc.es
emilio.padron@udc.es
Web http://aula.cesga.es
Descrición xeral O obxectivo desta materia é que o alumnado se familiarice cos tipos de aplicación máis comúns que son susceptibles de precisar a utilización de HPC, así como que coñezan as ferramentas e as implementacións existentes para cada unha delas, entendendo ademais os retos que hai que abordar para a súa paralelización e mellora do rendemento. Isto permitirá ao estudante adquirir un coñecemento xeral do mundo HPC e das súas diferentes aplicacións.

Ademais, o alumno aprenderá que ferramentas ten á súa disposición para a caracterización do rendemento en contornos HPC, e como se poden empregar estas para abordar o proceso de paralelización e mellora do rendemento dunha aplicación nunha determinada plataforma. Isto permitiralle ao estudante ser capaz de analizar o rendemento esperable desa aplicación nese sistema, identificando ademais os puntos quentes sobre os que centrar os seus esforzos de optimización.

Finalmente, o alumnado aprenderá que alternativas tecnolóxicas existen para despregar unha aplicación HPC de forma rápida e eficiente. Isto permitirá ao alumno ser capaz de distribuír aplicacións HPC de xeito sinxelo e eficaz en distintas contornos.

Competencias / Resultados do título
Código Competencias / Resultados do título

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias / Resultados do título
O alumnado coñecerá os principais tipos de aplicación existentes nos que se adoita aplicar técnicas de HPC. AP1
AP2
BP1
BP6
CP1
O alumnado aprenderá a empregar ferramentas para caracterizar e representar o rendemento dunha aplicación. AP3
AP4
BP3
BP9
CP4
O alumnado aprenderá a empregar ferramentas para a compilación, xeración e despregamento de software en contornos HPC. AP3
AP5
BP1
BP4
BP8
CP1

Contidos
Temas Subtemas
Estudo dos principais tipos de aplicación en contornas HPC
Para cada tipo mostrarase:
1. Descrición formal do problema.
2. Retos para a súa paralelización e mellora do rendemento.
3. Solucións existentes.
Ferramentas para a compilación e optimización de software en contornas HPC 1. Proceso de compilación, optimización e xeración de código nun
compilador.
2. Optimización de código a través do compilador.
3. Paralelización e vectorización automáticas.
4. Ferramentas para a automatización da construción do software.
Ferramentas para a caracterización e representación do rendemento das aplicacións HPC
1. Uso de ferramentas para a caracterización do rendemento das
aplicacións, tais como monitores software ou contadores hardware.
2. Detección de puntos quentes sobre os que incidir no proceso de
optimización.
3. Aplicación de modelos do rendemento a este proceso.
4. Ferramentas para a representación do rendemento dunha aplicación.
Ferramentas para o despregamento de aplicacións de IA en contornas HPC 1. Adestramento e despregamento de modelos de Aprendizaxe Profundo
en contornas HPC.
2. Uso de contedores para facilitar o despregamento de aplicacións
HPC.

Planificación
Metodoloxías / probas Competencias / Resultados Horas lectivas (presenciais e virtuais) Horas traballo autónomo Horas totais
Lecturas A3 B1 C4 0 23 23
Prácticas de laboratorio A1 A2 A4 A5 C1 4 66 70
Traballos tutelados B3 B4 B6 B8 B9 0 54 54
Proba mixta B4 B6 2 0 2
 
Atención personalizada 1 0 1
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Lecturas Lectura de material didáctico, visionado de vídeos e consulta de material multimedia. Instrución programada a través de materiais docentes, especialmente deseñados para unha aprendizaxe autónoma e asíncrona, cun peso importante das referencias ás fontes documentais empregadas nos distintos contidos.
Prácticas de laboratorio Realización de prácticas de forma autónoma con seguemento do profesorado, nas que se realizan tarefas dirixidas que permitan ao alumno familiarizarse desde un punto de vista práctico cos contidos expostos nas clases teóricas.
Traballos tutelados Realización de traballos, nos que o alumno ten que empregar os coñecementos adquiridos para resolver distintos problemas de forma autónoma.
Proba mixta Proba escrita na que o alumno ten que amosar que adquiriu as competencias propias da materia a través da resposta a preguntas teóricas e da resolución de problemas.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
A atención personalizada estará garantida na realización das prácticas de laboratorio e dos traballos tutelados, sendo imprescindible para dirixir os alumnos no desenvolvemento do seu traballo. Esta atención personalizada serve, ademais, para validar e avaliar o traballo realizado polos alumnos nas distintas fases do desenvolvemento, ata a súa finalización.

Por otra banda, recoméndase aos alumnos o aproveitamento das horas de titoría individual como axuda complementaria.

Avaliación
Metodoloxías Competencias / Resultados Descrición Cualificación
Proba mixta B4 B6 Proba escrita na que o alumno ten que amosar que adquiriu as competencias propias da asignatura a través da reposta a preguntas teóricas e a resolución de problemas. 30
Traballos tutelados B3 B4 B6 B8 B9 Realización de traballos, nos que o alumno ten que empregar os coñecementos adquiridos para resolver distintos problemas de forma autónoma. 70
 
Observacións avaliación

Todos os aspectos relacionados con “dispensa académica”, “dedicación ao
estudo”, “permanencia” e “fraude académica” rexeranse de acordo coa normativa académica vixente da UDC.


Fontes de información
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 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


Recomendacións
Materias que se recomenda ter cursado previamente
Programación Paralela/614473102

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario

Observacións
Debido á forte interrelación entre a parte teórica e a parte práctica, e á progresividade na presentación de conceptos moi relacionados entre si na parte teórica, é recomendable dedicar un tempo de estudo ou repaso diario.

Nesta materia farase un uso intensivo de ferramentas de comunicación en liña: videoconferencia, correo-e, chat, etc.

Segundo se recolle nas distintas normativas de aplicación para a docencia universitaria, esta materia incorpora a perspectiva de xénero (usarase linguaxe non sexista, propiciarase a intervención en clase de alumnos e alumnas...)

Traballarase para identificar e modificar prexuízos e actitudes sexistas, racistas ou xenófobas e proporanse accións e medidas para corrixilas.



(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías