Introduccion a MPI
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Introduccion a MPI

on

  • 2,156 views

Introduccion a MPI. Mayo 2010

Introduccion a MPI. Mayo 2010

Statistics

Views

Total Views
2,156
Views on SlideShare
2,156
Embed Views
0

Actions

Likes
0
Downloads
17
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduccion a MPI Presentation Transcript

  • 1. MPI Message Passing Interface Unai Lopez
  • 2. Índice
    • Introducción (¿Qué es?)
    • Funcionamiento (¿Cómo se usa?)
    • Demo (¿ Funciona ?)
    • OpenMP (¿Qué alternativa?)
    • Apuntes finales (¿Queda algo?)
    • Turno de preguntas
  • 3. Introducción: Definiciones "MPI is library specification for message-passing, proposed as a standard by a broadly based committee of vendors, implementors, and users" ( http://www.mcs.anl.gov/research/projects/mpi ) "MPI es un estándar que define la sintaxis y la semántica de las funciones contenidas en una biblioteca de paso de mensajes diseñada para ser usada en programas que exploten la existencia de múltiples procesadores." (http://es.wikipedia.org/wiki/MPI)
  • 4. Introducción: Historia · Diseñado por un conjunto de compañías (IBM,Intel,..), laboratorios y universidades (Michigan, Yale, Edinburgo,..) http://www.mcs.anl.gov/research/projects/mpi/whodidmpitab.html · Actualmente en la versión MPI-2 · Implementaciones: MPICH, OpenMPI, Intel,.. " "
  • 5. Introducción: El paso de mensajes · Técnica de sincronización de procesos · Elementos: emisor, mensaje y receptor · Tipos: - Síncrono (rendezvous) - Asíncrono
  • 6. Introducción: Donde se usa Orientada a sistemas SIN memoria compartida
  • 7. Introducción: Dónde se usa
  • 8. Funcionamiento: Conceptos · Aplicación -> formada por procesos · Comunicador (communicator): representa un conjunto de procesos. Ej: Comm. World=incluye todos los procesos · Rango (rank): id. de cada proceso
  • 9. Funcionamiento: Tipos de funciones 1· Gestión: Inicializar, administrar, finalizar 2· Comunicación 1 a 1 3· Comunicación 1 a N 4· Definición de datos por el usuario
  • 10. Funcionamiento: Tipo 1 · MPI_Init: Inicia una sesión mpi · MPI_Comm_size: total proc. del comunicador · MPI_Comm_rank: id del proceso actual · MPI_Finalize: Termina una sesión mpi
  • 11. Funcionamiento: Tipo 2 Comunicación síncrona · MPI_Send: Envía un mensaje (bloqueante) · MPI_Receive: Recibe un mensaje (bloqueante) Comunicación asíncrona · MPI_Isend: Envía un mensaje (no bloqueante) · MPI_Irecv: Recibe un mensaje (no bloqueante) · MPI_Test: Verifica si se ha realizado la operación · MPI_Wait: Bloquea hasta operación completada
  • 12. Funcionamiento: Tipo 3 · MPI_Bcast: Envío a procesos de un comunicador · MPI_Barrier: Barrera de sincronización · ...
  • 13. Funcionamiento: Tipo 4 · MPI_Type_struct: Define un tipo de dato · MPI_Pack: Empaqueta un dato · ...
  • 14. Demo: OpenMPI · Implementación Open Source de MPI-2 · Multiplataforma · Rápido en ejecución y fácil de utilizar · Alternativa a MPICH: el más extendido
  • 15. Demo: OpenMPI - Instalación Instalación en GNU/Linux 1· Descargar tar de www.open-mpi.org 2· Descomprimir en directorio al gusto 3· ./configure - -prefix=**RUTA INSTALACION** 4· sudo make all install Instalación en Mac OSX: · Incluido en XCode
  • 16. Demo: OpenMPI - Comandos Para compilar los programas: · C/C++: mpicc / mpic++ · Fortran: mpi77 / mpi90 Ejecutar: · mpirun -parámetros aplicación
  • 17. Demo: OpenMPI - Acción
  • 18. OpenMP: Definición · Modelo de programación paralela · Sólo para sistemas con memoria compartida
  • 19. OpenMP: Funcionamiento · Directivas de preprocesador · Comunicación mediante variables compartidas · Paralelización de bloques de código · Complementario a MPI !
  • 20. OpenMP: Ejemplo
  • 21. OpenMP vs MPI
  • 22. Apuntes finales · Facil y eficaz · Mas allá de lo visto: - 1 a 1: Sondeos - 1 a N: Recolección, distribución,... · Compatible con gestores de trabajos: PBS, SGE,.. · MPI2 en 1997 – MPI3 en.. ¿?
  • 23. Turno de dudas A rellenar por los asistentes
  • 24. MPI Message Passing Interface Unai Lopez