Datos Identificativos 2012/13
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
Desarrollar habilidades para resolver problemas abiertos y complejos en el campo de la Ingeniería y de la Investigación utilizando técnicas de Computación Paralela AI4
AI6
AI12
BI1
BI2
BI3
BI4
BI5
BI6
BI10
Estudiar los algoritmos secuenciales y paralelos más utilizados en ciencia computacional, y analizar como se pueden desarrollar a partir de ellos aplicaciones AI4
AI6
BI6
Conocer el manejo de las librerías numéricas de altas prestaciones, sus posibilidades y sus aplicaciones en distintos campos de la Ingeniería AI3
BI6
BI9
BI11
CM3
CM6
Saber comparar y evaluar alternativas de diseño o de implantación de sistemas utilizando la simulación discreta, con el fin de que el egresado pueda ayudar en la toma de decisiones profesionales y empresariales AI1
AI2
BI1
BI2
BI3
BI6
BI10
BI11
BI13
CM3
CM6
CM8
Captar la esencia de los problemas complejos, consiguiendo una capacidad de abstracción que permita construir modelos de simulación en base a unos objetivos específicos AI1
AI2
AI4
BI6
Trabajar en equipos de cariz multidisciplinar BI12
CM1
CM2
CM4
Llevar a cabo un aprendizaje autónomo BI4
CM7
CM8

Contidos
Temas Subtemas
Aritmética con precisión finita. Errores a. Representación de los números en un computador
b. Aritmética en el computador
c. Errores numéricos en el computador
Álgebra matricial densa a. Introducción al álgebra con matrices
b. Jerarquía de memoria y álgebra matricial
c. Introducción a los métodos numéricos del álgebra matricial
d. Bibliotecas de álgebra lineal para computación
e. Entornos de ejecución para procesadores multinúcleo y sistemas multi-GPU
Algebra matricial dispersa a. Introducción al álgebra matricial dispersa
b. Núcleos computacionales
c. Métodos de resolución iterativos
d. Librerías
Algoritmos paralelos Matriciales en ingeniería a. Modelados de problemas en ingeniería.
b. Problemas lineales y no lineales.
c. Computación secuencial y paralela de descomposiciones matriciales (LU, QR, valores propios y singulares).
d. Problemas de optimización.
Técnicas de resolución numérica de Ecuaciones Diferenciales a. Diferencias finitas y elementos finitos.
b. Implementaciones paralelas.
c. Métodos multimalla
d. Métodos de descomposición en dominios.
e. Librerías/software para HPC
Otros métodos/algoritmos adecuados para sistemas HPC a. Monte Carlo.
b. N-body
c. Optimización combinatoria: algoritmos genéticos y evolutivos.

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 22 44 66
Seminario 5 10 15
Prácticas de laboratorio 12 48 60
 
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 con el uso de medios audiovisuales y la introducción de fases de debate con los estudiantes. Todo ello con la finalidad de transmitir conocimientos y facilitar el aprendizaje.
Se realizarán sesiones magistrales sobre gran parte de los contenidos del temario, normalmente como punto de partida para el resto de actividades previstas para cada punto.
Seminario Técnica de trabajo en grupo que tiene como finalidad el estudio intensivo de un tema. Se caracteriza por la discusión, la participación, la elaboración de documentos y las conclusiones a las que tienen que llegar todos los componentes del seminario.
En esta materia se utilizarán seminarios para el aprendizaje de ciertos contenidos que, siendo básicos para el desarrollo de gran parte del temario, son en cierto modo transversales o independientes del resto de la materia, como visualización científica.
Prácticas de laboratorio Actividad que permite a los estudiantes aprender y afianzar los conocimientos ya adquiridos mediante la realización de sesiones prácticas en ordenadores. Las prácticas se realizarán usando los recursos computacionales del CESGA y los clusters de la USC y UDC.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Descrición
La atención personalizada en la realización de las prácticas de laboratorio se antoja imprescindible para dirigir los alumnos en el desarrollo del trabajo. Además, esta atención servirá para validar y evaluar el trabajo que va siendo realizado por los alumnos en distintas fases de su desarrollo hasta llegar a su finalización.

Por otro lado, se recomendará a los alumnos la asistencia a tutorías como método de ayuda.

Avaliación
Metodoloxías Descrición Cualificación
Prácticas de laboratorio Entrega de prácticas individuales y defensa de las mismas. 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 los fundamentos básicos de la materia se recomienda ceñirse al material recomendado 

por los profesores (textos, apuntes, artículos, etc.), con el fin de que el alumno no se 

disperse ante la gran profusión de recursos bibliográficos existentes. Sin embargo, para 

la realización de trabajos prácticos se recomienda la búsqueda y selección de recursos en 

Internet, para mayor riqueza en las fuentes de aprendizaje



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