Datos Identificativos 2013/14
Asignatura (*) Computación Científica e Simulación de Altas Prestacións Código 614473007
Titulación
Mestrado Universitario en Computación de Altas Prestacións
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Obrigatoria 6
Idioma
Castelán
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinación
Gonzalez Gomez, Patricia
Correo electrónico
patricia.gonzalez@udc.es
Profesorado
Gonzalez Gomez, Patricia
Correo electrónico
patricia.gonzalez@udc.es
Web
Descrición xeral El objetivo principal del curso es proporcionar una visión general de los esquemas
básicos de paralelización usados en álgebra matricial y simulación numérica. Se hace
una revisión de los núcleos computacionales más comunes en la mayoría de las
aplicaciones científicas, y de sus versiones paralelas, usando MPI y/o OpenMP para
cada tipo de algoritmo

Competencias do título
Código Competencias da titulación
A1 Analizar e mellorar o rendemento dunha arquitectura ou un software dado.
A2 Definir, avaliar e seleccionar a arquitectura e o software máis axeitado para a resolución dun problema.
A3 Coñecer o manexo de librerías numéricas HPC, as suas posibilidades e as suas aplicacións nos distintos campos da Enxeñería.
A4 Profundizar no coñecemento das ferramentas de programación e particularmente en entornos Unix e linguaxes C e Fortran.
A6 Analizar, deseñar e implementar algoritmos e aplicacións paralelas eficientes.
A12 Coñecer as tendencias en supercomputación así como a súa utilización práctica nos sectores industrial, académico e público.
B1 Aplicar os coñecementos adquiridos e a súa capacidade de resolución de problemas en contornos novos ou pouco coñecidos dentro de contextos máis amplos (ou multidisciplinares) relacionados coa súa área de estudo.
B2 Integrar coñecementos e enfrontarse á complexidade de formular xuízos a partir dunha información que, sendo incompleta ou limitada, inclúa reflexións sobre as responsabilidades sociais e éticas vinculadas á aplicación dos seus coñecementos e xuízos.
B3 Comunicar conclusións (e os coñecementos e razóns últimas que as sustentan) a públicos especializados e non especializados dun modo claro e sen ambigüidades.
B4 Aplicar habilidades de aprendizaxe que lles permitan continuar estudando dun modo que deberá de ser en gran medida autodirigido ou autónomo.
B5 Coñecer e experimentar o método científico de investigación.
B6 Capacidade de análise e síntese.
B9 Usar as novas tecnoloxías.
B10 Buscar e seleccionar a información útil necesaria para resolver problemas complexos, manexando con soltura as fontes bibliográficas do campo.
B11 Manter e estender formulacións teóricas fundados para permitir a introdución e explotación de tecnoloxías novas e avanzadas.
B12 Traballar en equipo.
B13 Expor, defender e discutir propostas.
C1 Expresarse correctamente, tanto de forma oral coma escrita, nas linguas oficiais da comunidade autónoma.
C2 Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro.
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C4 Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
Desenvolver habilidades para resolver problemas abertos e complexos no campo da Enxeñería e da Investigación utilizando técnicas de Computación Paralela. AI4
AI6
AI12
BI1
BI2
BI3
BI4
BI5
BI6
BI10
Estudar os algoritmos secuenciales e paralelos máis utilizados en ciencia computacional, e analizar como se poden desenvolver a partir deles aplicacións. AI4
AI6
BI6
Coñecer o manexo das librerías numéricas de altas prestacións, as súas posibilidades e as súas aplicacións en distintos campos da Enxeñería. AI3
BI6
BI9
BI11
CM3
CM6
Saber comparar e avaliar alternativas de deseño ou de implantación de sistemas utilizando a simulación discreta, co fin de que o egresado poida axudar na toma de decisións profesionais e empresariais. AI1
AI2
BI1
BI2
BI3
BI6
BI10
BI11
BI13
CM3
CM6
CM8
Captar a esencia dos problemas complexos, conseguindo unha capacidade de abstracción que permita construír modelos de simulación en base a uns obxectivos específicos. AI1
AI2
AI4
BI6
Capacidade para traballar en equipos de cariz multidisciplinar. BI12
CM1
CM2
CM4
Llevar a cabo un aprendizaxe autónomo BI4
CM7
CM8

Contidos
Temas Subtemas
Aritmética con precisión finita. Errores a. Representación dos números nun computador
b. Aritmética no computador
c. Errores numéricos no computador
Álxebra matricial densa a. Introducción ao álxebra con matrices
b. Xerarquía de memoria e álxebra matricial
c. Introducción aos métodos numéricos do álxebra matricial
d. Bibliotecas de álxebra lineal para computación
e. Contornas de execución para procesadores multinúcleo e sistemas multi-GPU
Alxebra matricial dispersa a. Introducción ao álxebra matricial dispersa
b. Núcleos computacionais
c. Métodos de resolución iterativos
d. Librerías
Algoritmos paralelos Matriciais en Enxeñería a. Modelados de problemas en Enxeñería.
b. Problemas lineais e no lineais.
c. Computación secuencial e paralela de descomposicións matriciais (LU, QR, valores propios e singulares).
d. Problemas de optimización.
Técnicas de resolución numérica de Ecuacións Diferenciais a. Diferencias finitas e elementos finitos.
b. Implementacións paralelas.
c. Métodos multimalla
d. Métodos de descomposición en dominios.
e. Librerías/software para HPC
Outros métodos/algoritmos adecuados para sistemas HPC a. Monte Carlo.
b. N-body
c. Optimización combinatoria: algoritmos xenéticos e evolutivos.

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 18 36 54
Seminario 3 0 3
Prácticas de laboratorio 24 60 84
 
Atención personalizada 9 0 9
 
*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
Sesión maxistral Exposición oral complementada co uso de medios audiovisuais e a introdución de fases de debate
cos estudantes. Todo iso coa finalidade de transmitir coñecementos e facilitar a
aprendizaxe. Realizaranse sesións maxistrais sobre gran parte dos contidos do temario,
normalmente como punto de partida para o resto de actividades previstas para cada punto.
Seminario Técnica de traballo en grupo que ten como finalidade o estudo intensivo dun tema. Caracterízase
pola discusión, a participación, a elaboración de documentos e as conclusións ás que teñen
que chegar todos os compoñentes do seminario. Nesta materia utilizaranse seminarios para a
aprendizaxe de certos contidos que, sendo básicos para o desenvolvemento de gran parte do temario,
son en certo xeito transversais ou independentes do resto da materia, como visualización
científica.
Prácticas de laboratorio Actividade que permite aos estudantes aprender e afianzar os coñecementos xa adquiridos
mediante a realización de sesións prácticas en computadores. As prácticas realizaranse usando os
recursos computacionales do CESGA e os clusters da USC e UDC.

Atención personalizada
Metodoloxías
Seminario
Prácticas de laboratorio
Descrición
A atención personalizada na realización das prácticas de laboratorio faise imprescindible para dirixir os alumnos no desenvolvemento do traballo. Ademais, esta atención servirá para validar e evaluar o traballo que vai sendo realizado polos alumnos en distintas fases do seu desenvolvemento ata chegar á súa finalización.

Doutra banda, recomendarase aos alumnos a asistencia a tutorías como método de axuda.

Avaliación
Metodoloxías Descrición Cualificación
Prácticas de laboratorio Entrega de prácticas individuales e defensa das mesmas. 100
 
Observacións avaliación

Fontes de información
Bibliografía básica R. W. Hockney (1988). Computer simulation using particles.
C. T. Kelley (1987). Iterative Methods for Linear and Nonlinear Equations. Siam
Y. Saad (2003). Iterative Methods for Sparse Linear Systems. Siam
G. Golub, C.F. Van Load (1996). Matrix Computations. The Johns Hopkins University Press
L. N. Trefethen (1997). Numerical Linear Algebra. Siam
S. J. Farlow (1993). Partial Differential Equations for Scientists and Engineers. Dover Publications
D.P. O'Leary (2009). Scientific Computing with Case Studies. Siam
D. knuth (1997). The Art of Computer Programming. Addison-Wesley

Bibliografía complementaria


Recomendacións
Materias que se recomenda ter cursado previamente

Materias que se recomenda cursar simultaneamente
Taller de Proxectos/614473013

Materias que continúan o temario
Programación Paralela/614473004
Técnicas de Optimización e Paralelización/614473005

Observacións

Para os fundamentos básicos da materia recoméndase cinguirse ao material recomendado polos profesores (textos, apuntes, artigos, etc.), co fin de que o alumno non se disperse ante a gran profusión de recursos bibliográficos existentes. Con todo, para a realización de traballos prácticos recoméndase a procura e selección de recursos en Internet, para maior riqueza nas fontes de aprendizaxe.



(*)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