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 Periodo Curso Tipo Créditos
Máster Oficial 2º cuatrimestre
Primero Obligatoria 6
Idioma
Castellano
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinador/a
Gonzalez Gomez, Patricia
Correo electrónico
patricia.gonzalez@udc.es
Profesorado
Gonzalez Gomez, Patricia
Correo electrónico
patricia.gonzalez@udc.es
Web
Descripción general 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 del título
Código Competencias de la titulación
A1 Analizar y mejorar el rendimiento de una arquitectura o un software dado.
A2 Definir, evaluar y seleccionar la arquitectura y el software más adecuado para la resolución de un problema.
A3 Conocer el manejo de las librerías numéricas de HPC, sus posibilidades y sus aplicaciones en los distintos campos de la Ingeniería.
A4 Profundizar en el conocimiento de las herramientas de programación y depuración particularmente en entorno Unix y lenguajes C y Fortran.
A6 Analizar, diseñar e implementar algoritmos y aplicaciones paralelas eficientes.
A12 Conocer las tendencias en supercomputación así como su utilización práctica en los sectores industrial, académico y público.
B1 Aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
B2 Integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
B3 Comunicar conclusiones (y los conocimientos y razones últimas que las sustentan) a públicos especializados y no especializados de un modo claro y sin ambigüedades.
B4 Aplicar habilidades de aprendizaje que les permitan continuar estudiando de un modo que deberá de ser en gran medida autodirigido o autónomo.
B5 Conocer y experimentar el método científico de investigación.
B6 Capacidad de análisis y síntesis.
B9 Usar las nuevas tecnologías.
B10 Buscar y seleccionar la información útil necesaria para resolver problemas complejos, manejando con soltura las fuentes bibliográficas del campo.
B11 Mantener y extender planteamientos teóricos fundados para permitir la introducción y explotación de tecnologías nuevas y avanzadas.
B12 Trabajar en equipo.
B13 Exponer, defender y discutir propuestas.
C1 Expresarse correctamente, tanto de forma oral como escrita, en las lenguas oficiales de la comunidad autónoma.
C2 Dominar la expresión y la comprensión de forma oral y escrita de un idioma extranjero.
C3 Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida.
C4 Desarrollarse para el ejercicio de una ciudadanía abierta, culta, crítica, comprometida, democrática y solidaria, capaz de analizar la realidad, diagnosticar problemas, formular e implantar soluciones basadas en el conocimiento y orientadas al bien común.
C6 Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse.
C7 Asumir como profesional y ciudadano la importancia del aprendizaje a lo largo de la vida.
C8 Valorar la importancia que tiene la investigación, la innovación y el desarrollo tecnológico en el avance socioeconómico y cultural de la sociedad.

Resultados de aprendizaje
Competencias de materia (Resultados de aprendizaje) Competencias de la 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

Contenidos
Tema Subtema
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
Metodologías / pruebas Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Sesión magistral 18 36 54
Seminario 3 0 3
Prácticas de laboratorio 24 60 84
 
Atención personalizada 9 0 9
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Sesión magistral 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
Metodologías
Seminario
Prácticas de laboratorio
Descripció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.

Evaluación
Metodologías Descripción Calificación
Prácticas de laboratorio Entrega de prácticas individuales y defensa de las mismas. 100
 
Observaciones evaluación

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

Complementária


Recomendaciones
Asignaturas que se recomienda haber cursado previamente

Asignaturas que se recomienda cursar simultáneamente
Taller de Proxectos/614473013

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

Otros comentarios

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.



(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías