Datos Identificativos 2015/16
Asignatura (*) Programación Paralela Código 614473004
Titulación
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 1º cuadrimestre
Primeiro Obrigatoria 6
Idioma
Modalidade docente Presencial
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinación
Martin Santamaria, Maria Jose
Correo electrónico
maria.martin.santamaria@udc.es
Profesorado
Martin Santamaria, Maria Jose
Touriño Dominguez, Juan
Correo electrónico
maria.martin.santamaria@udc.es
juan.tourino@udc.es
Web http://gac.udc.es/master
Descrición xeral Esta materia está estreitamente relacionada coa materia “Arquitectura e Tecnoloxía de Supercomputadores”. Os obxetivos globales de esta materia son: formar ao alumno nos
diversos paradigmas de programación de computadores paralelos, incidir nas técnicas
software para o deseño e implementación de algoritmos e aplicacións paralelas
eficientes, e aplicar estas técnicas de forma práctica para a programación de
computadores paralelos con diferentes arquitecturas, utilizando recursos de
supercomputación dispoñibles na Comunidade Autónoma de Galicia.
Unha vez finalizada a materia, o alumno disporá dos coñecementos teóricos e
prácticos necesarios para abordar con rigor o diseño de algoritmos paralelos sobre
arquitecturas multiprocesador.

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

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias / Resultados do título
AI1
AI2
AI5
AI6
AI12
AI13
BI2
BI5
BI7
BI10
BI11
BI12
CM1
CM2
CM3
CM6
CM7
CM8

Contidos
Temas Subtemas
Tema 1. Paradigmas de programación paralela
-Paradigma de memoria distribuida
-Paradigma de memoria compartida
-Paradigma data-parallel
-Paradigma PGAS
-Novos liguaxes de programación paralela (X10, chapel, Fortress)
Tema 2. Programación mediante directivas de memoria compartida: OpenMP -Introducción á programación con OpenMP
-Directivas para a construcción de paralelismo
-Directivas de sincronización
-Biblioteca de rutinas OpenMP
-Variables de contorno
Tema 3. Programación mediante o paradigma de paso de mensaxes: MPI -Características xerales de MPI
-Comunicacións punto a punto
-Comunicacións colectivas
-Tipos de datos derivados
-Topoloxías virtuales e comunicadores
-Novas funcionalidades de MPI-2
-Programación híbrida: MPI + OpenMP

Planificación
Metodoloxías / probas Competencias / Resultados Horas lectivas (presenciais e virtuais) Horas traballo autónomo Horas totais
Prácticas de laboratorio A1 A2 A6 A13 B2 B7 B10 B12 B5 C1 C2 C3 C6 C7 C8 28 28 56
Sesión maxistral A5 A12 B11 C2 C3 C6 C7 C8 36 54 90
 
Atención personalizada 4 0 4
 
*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
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 supercomputadores.
Sesión maxistral Exposición oral complementada co uso de medios audiovisuais e a introducción de fases de debate cos estudantes. Todo elo coa finalidade de transmitir coñecementos e facilitar o aprendizaxe. Se realizarán sesións maxistrais sobre gran parte dos contenidos do temario, normalmente como punto de partida para o resto de actividades previstas para cada punto.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Sesión maxistral
Descrición
A atención personalizada na realización das prácticas de laboratorio é imprescindible para dirixir aos 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.

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

Avaliación
Metodoloxías Competencias / Resultados Descrición Cualificación
Prácticas de laboratorio A1 A2 A6 A13 B2 B7 B10 B12 B5 C1 C2 C3 C6 C7 C8 Na primeira oportunidade evaluarase a través da realización de prácticas de laboratorio utilizando os linguaxes de programación paralelos visto en teoría e sobre sistemas de supercomputación do Centro de Supercomputación de Galicia. Na segunda oportunidade a evaluación consistirá dunha proba escrita sobre os contenidos teóricos e prácticos tratados durante o curso. 100
 
Observacións avaliación

Fontes de información
Bibliografía básica P. Pacheco (2011). An Introduction to Parallel Programming. Morgan Kaufmann Publishers
F. Almeida, D. Giménez, J.M. Manta, A.M. Vidal (2008). Introducción a la programación paralela. Paraninfo
W.P. Petersen, P. Arbenz (2004). Introduction to Paralell Computing. Oxford University Press
R. Chandra, L. Dagum, D. Kohr (2001). Parallel Programming in OpenMP. Morgan Kaufmann Publishers
P.S. Pacheco (1997). Parallel Programming with MPI. Morgan Kaufmann Publishers
W. Gropp, E. Lusk and R. Thakur (1999). Using MPI-2. The MIT Press
Barbara Chapman, Gabriele Jost and Ruud Van der Pas (2008). Using OpenMP. The MIT Press

Bibliografía complementaria


Recomendacións
Materias que se recomenda ter cursado previamente

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario

Observacións


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