Download Introducción a la programación en paralelo

Document related concepts

Joy (lenguaje de programación) wikipedia , lookup

Programación con datos masivos en R wikipedia , lookup

Transcript
Títulación: Máster en Física de la Materia Condensada y
Nanotecnología
Órgano responsable: Dpto. de Física (UMU)
Nombre Asignatura:
Introducción a la Programación Paralela
Tipo: Optativa
Curso
Créditos ECTS: 4
Semestre 2
Horas totales estimadas de trabajo del estudiante: 110
Horas de docencia teórica: 20
Horas de prácticas: 30
Horas de trabajo personal y otras actividades: 60
Nombre del profesor/es que imparte/n la asignatura: (si hay un
coordinador, indicar su nombre)
Andrés M. Somoza
Objetivos, destrezas y competencias que se van a adquirir:
Adquirir un conocimiento de básico de la utilidad, ventajas e inconvenientes
de la programación en paralelo. Aprender algunos algoritmos de
programación en paralelo y adquirir los conocimientos del protocolo MPI
para programar y ejecutar dichos algoritmos.
Prerrequisitos para cursar la asignatura:
Los correspondientes a la inscripción en el máster, así como conocimientos
de Fortran.
Contenido (breve descripción de la asignatura): Se hará introducción a
la arquitectura de ordenadores para calculo en paralelo. Se describirá el
protocolo de pase de mensajes MPI y introducirán las rutinas básicas de
comunicación, herramienta que deberán usar los alumnos para desarrollar
su propia programación en paralelo. Se verán algunos ejemplos de
algoritmos paralelos.
Metodología docente: docencia teórica en aula; trabajo práctico con
ordenador en microaula; hojas de problemas para los alumnos.
Tipo de evaluación: (exámenes/ trabajos/ evaluación continua)
Evaluación continua, incluyendo hojas de problemas y presentación de un
trabajo práctico de desarrollo de un algoritmo de programación en paralelo.
Idioma en que se imparte: castellano/inglés
Observaciones:
PROGRAMA DETALLADO DE LA ASIGNATURA
Tema 1: Introduccion. Modelos de ordenadores. Introducción a la shell de Unix y a
clusters BeoWulf.
Tema 2: Lenguajes y modelos de programación paralela: Threads, MPI, OpenMP.
Tema 3: Rutinas básicas de comunicación.
Tema 4: Desarrollo metódico de programas paralelos: Particionado, Comunicación,
Aglomeración y Mapeo. Maestro/Esclavo. Single Program Multiple Data. Pipeline.
Divide y Vencerás.
Tema 5: Algoritmos paralelos: Algoritmos matriciales. Ordenación. Algoritmos sobre
grafos. Algoritmos de búsqueda. Estudio de escalabilidad, eficiencia.
Related documents