Your SlideShare is downloading. ×
0
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Introduccion a MPI
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introduccion a MPI

1,955

Published on

Introduccion a MPI. Mayo 2010

Introduccion a MPI. Mayo 2010

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,955
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MPI Message Passing Interface Unai Lopez
  • 2. Índice <ul><li>Introducción (¿Qué es?) </li></ul><ul><li>Funcionamiento (¿Cómo se usa?) </li></ul><ul><li>Demo (¿ Funciona ?) </li></ul><ul><li>OpenMP (¿Qué alternativa?) </li></ul><ul><li>Apuntes finales (¿Queda algo?) </li></ul><ul><li>Turno de preguntas </li></ul>
  • 3. Introducción: Definiciones &amp;quot;MPI is library specification for message-passing, proposed as a standard by a broadly based committee of vendors, implementors, and users&amp;quot; ( http://www.mcs.anl.gov/research/projects/mpi ) &amp;quot;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.&amp;quot; (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,.. &amp;quot; &amp;quot;
  • 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 -&gt; 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

×