Domingo Giménez Cánovas

DOCENCIA 2018/2019

Metodología de la Programación Paralela

cuarto curso del Grado en Ingeniería Informática

3 créditos teóricos y 3 prácticos, colaboración en prácticas de Jesús Cámara, becario de investigación, jcamara@um.es Primer cuatrimestre

Las clases son en el aula D.02 del aulario Norte (el aula ha cambiado, de nuevo y esperamos que por última vez!!), los jueves de 15:30 a 17:30.

El horario de prácticas es los martes y jueves de 17:50 a 19:30 (cada alumno elige una sesión), en el laboratorio 2.1. Se usarán también equipos del Laboratorio de Computación Científica.

Dado el alto número de alumnos, está por determinar la organización de las sesiones de prácticas en laboratorio. Hay que mandar al profesor (a domingo@um.es o a través del aula virtual) antes del 25 de septiembre las preferencias respecto a la sesión de prácticas presenciales (martes o jueves) y los componentes del grupo (preferiblemente grupos de dos alumnos, aunque se pueden hacer de forma individual si no se encuentra compañero).

Tutorías lunes 11:30-14:00, jueves 10:30-14:00 (mejor quedar antes por correo, para esas horas u otras)

Sesiones y transparencias. Básicamente se seguirá el libro: Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la Programación Paralela, Paraninfo Cengage Learning, 2008 y los programas ejemplo que lo acompañan.

Planificación 2018-2019 (se irán incluyendo las transparencias antes de las correspondientes sesiones. Mientras tanto y de forma orientativa, se deja al final la planificación y las transparencia del curso 2017-2018):

Fechas exámenes:

Información diversa

Temario Teórico

    Introducción a la programación paralela (4 horas): Necesidad de la programación paralela, ventajas e inconvenientes, Modelos de computadores paralelos

    Modelos de programación paralela (8 horas): Modelos de programación; Programación en memoria compartida, OpenMP; Programación por paso de mensajes, MPI, programación de GPU.

    Análisis de algoritmos y metodología (4 horas): Tiempo de ejecución, speed-up, eficiencia y coste; Estudio de escalabilidad; Estudio experimental; Descomposición, agrupación, asignación.

    Diseño de algoritmos paralelos (10 horas): Paralelismo / Particionado de Datos; Esquemas en árbol y grafo; Algoritmos relajados; Computación pipeline; Paralelismo síncrono; Maestro-esclavo, granja de procesos y trabajadores replicados.

Bibliografía básica:

Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la Programación Paralela, Paraninfo Cengage Learning, 2008

Complementaria

 

Evaluación

Prácticas, trabajo y examen:

    Prácticas básicas de entornos y algoritmos paralelos (40% en la nota final en evaluación CONTINUA; 20% en evaluación NO CONTINUA).

    Examen de programación OpenMP, MPI y MPI+OpenMP (30% y 40% en la nota final).

    Trabajo de programación en OpenMP, MPI y MPI+OpenMP y estudio teórico y experimental para un problema científico (30% y 40% en la nota final).

Se puede seguir el sistema de evaluación continua, con participación en las sesiones de prácticas. Sólo es válido para la convocatoria de febrero.

Habrá cinco sesiones prácticas en grupos de dos alumnos. Cada sesión tendrá una valoración de 5% en la nota final.

La semana siguiente a cada sesión práctica habrá otra de revisión, que será individual y tendrá un peso de 3% en la nota final.

Los alumnos que NO sigan la evaluación continua realizarán de forma individual los mismos trabajos de esas sesiones prácticas, teniendo como plazo máximo de entrega la fecha del examen de la convocatoria correspondiente.

Los alumnos pueden decidir en cualquier momento pasar de evalución continua a no continua, pudiendo guardar si así lo desean la nota (escalada) que lleven en evaluación continua.