SlideShare ist ein Scribd-Unternehmen logo
1 von 24
MPI Message Passing Interface Unai Lopez
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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)
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,.. " "
Introducción: El paso de mensajes · Técnica de sincronización de procesos · Elementos: emisor, mensaje y receptor · Tipos:  - Síncrono (rendezvous)   - Asíncrono
Introducción: Donde se usa Orientada a sistemas SIN memoria compartida
Introducción: Dónde se usa
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
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
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
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
Funcionamiento: Tipo 3 · MPI_Bcast:  Envío a procesos de un comunicador · MPI_Barrier:  Barrera de sincronización · ...
Funcionamiento: Tipo 4 · MPI_Type_struct: Define un tipo de dato · MPI_Pack: Empaqueta un dato · ...
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
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
Demo: OpenMPI - Comandos Para compilar los programas: · C/C++: mpicc / mpic++ · Fortran: mpi77 / mpi90 Ejecutar: · mpirun -parámetros aplicación
Demo: OpenMPI - Acción
OpenMP: Definición · Modelo de programación paralela · Sólo para sistemas con memoria compartida
OpenMP: Funcionamiento · Directivas de preprocesador · Comunicación mediante variables compartidas · Paralelización de bloques de código · Complementario a MPI !
OpenMP: Ejemplo
OpenMP vs MPI
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.. ¿?
Turno de dudas A rellenar por los asistentes
MPI Message Passing Interface Unai Lopez

Weitere ähnliche Inhalte

Was ist angesagt? (11)

Los copiladores en c++
Los copiladores en c++Los copiladores en c++
Los copiladores en c++
 
Realidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirRealidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapir
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Roger1 libreria
Roger1 libreria Roger1 libreria
Roger1 libreria
 
Parcial II de Sistema de Operación – Semestre 201322
Parcial II de Sistema de Operación – Semestre 201322Parcial II de Sistema de Operación – Semestre 201322
Parcial II de Sistema de Operación – Semestre 201322
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Introducción - Arquitectura .NET
Introducción - Arquitectura .NETIntroducción - Arquitectura .NET
Introducción - Arquitectura .NET
 
unidad 2
unidad 2unidad 2
unidad 2
 
Actividad N° 1 Unidad 4
Actividad N° 1   Unidad 4 Actividad N° 1   Unidad 4
Actividad N° 1 Unidad 4
 
Informatica
InformaticaInformatica
Informatica
 
Open mpi windows
Open mpi windowsOpen mpi windows
Open mpi windows
 

Andere mochten auch

Ma raquel maizoub modulo academico mpi fatla
Ma raquel maizoub modulo academico mpi fatlaMa raquel maizoub modulo academico mpi fatla
Ma raquel maizoub modulo academico mpi fatlaMa. Raquel Maizoub G.
 
Ch14. feedback and filpflop
Ch14. feedback and filpflopCh14. feedback and filpflop
Ch14. feedback and filpflopHwanseok Park
 
Manual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en DebianManual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en Debianlavp28
 
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Mikhail Kurnosov
 
Migration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsMigration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsZvi Avraham
 
HPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMPHPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMPStorti Mario
 
PROGRAMACIÓN PARALELA
PROGRAMACIÓN PARALELAPROGRAMACIÓN PARALELA
PROGRAMACIÓN PARALELARaquel Solano
 
Intel® MPI Library e OpenMP* - Intel Software Conference 2013
Intel® MPI Library e OpenMP* - Intel Software Conference 2013Intel® MPI Library e OpenMP* - Intel Software Conference 2013
Intel® MPI Library e OpenMP* - Intel Software Conference 2013Intel Software Brasil
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?Jeff Squyres
 
El sistema NWP HARMONIE: Introducción a la Computación de Altas
El sistema NWP HARMONIE: Introducción a la Computación de AltasEl sistema NWP HARMONIE: Introducción a la Computación de Altas
El sistema NWP HARMONIE: Introducción a la Computación de AltasTomás Morales
 
Introduction to MPI
Introduction to MPI Introduction to MPI
Introduction to MPI Hanif Durad
 

Andere mochten auch (18)

Scheduling for Parallel and Multi-Core Systems
Scheduling for Parallel and Multi-Core SystemsScheduling for Parallel and Multi-Core Systems
Scheduling for Parallel and Multi-Core Systems
 
Ma raquel maizoub modulo academico mpi fatla
Ma raquel maizoub modulo academico mpi fatlaMa raquel maizoub modulo academico mpi fatla
Ma raquel maizoub modulo academico mpi fatla
 
Perl mpi
Perl mpiPerl mpi
Perl mpi
 
Intro Mpi
Intro MpiIntro Mpi
Intro Mpi
 
Ch14. feedback and filpflop
Ch14. feedback and filpflopCh14. feedback and filpflop
Ch14. feedback and filpflop
 
Manual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en DebianManual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en Debian
 
How to Use OpenMP on Native Activity
How to Use OpenMP on Native ActivityHow to Use OpenMP on Native Activity
How to Use OpenMP on Native Activity
 
MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
 
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
 
Migration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsMigration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming Models
 
HPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMPHPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMP
 
PROGRAMACIÓN PARALELA
PROGRAMACIÓN PARALELAPROGRAMACIÓN PARALELA
PROGRAMACIÓN PARALELA
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de Computadores
 
Intel® MPI Library e OpenMP* - Intel Software Conference 2013
Intel® MPI Library e OpenMP* - Intel Software Conference 2013Intel® MPI Library e OpenMP* - Intel Software Conference 2013
Intel® MPI Library e OpenMP* - Intel Software Conference 2013
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?
 
Pram
PramPram
Pram
 
El sistema NWP HARMONIE: Introducción a la Computación de Altas
El sistema NWP HARMONIE: Introducción a la Computación de AltasEl sistema NWP HARMONIE: Introducción a la Computación de Altas
El sistema NWP HARMONIE: Introducción a la Computación de Altas
 
Introduction to MPI
Introduction to MPI Introduction to MPI
Introduction to MPI
 

Ähnlich wie MPI-Introducción al estándar de paso de mensajes

SISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptx
SISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptxSISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptx
SISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptxAdolfoEuan2
 
Evolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas OperativosEvolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas Operativosboris
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
Parallel Python sistemas operativos avanzados
Parallel Python sistemas operativos avanzadosParallel Python sistemas operativos avanzados
Parallel Python sistemas operativos avanzadosDaniel Muccela
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxDavidGarca147527
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaFranklin Parrales Bravo
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN Karol Moreno
 
Keynote comunicadores
Keynote comunicadoresKeynote comunicadores
Keynote comunicadoresviringas
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNKarol Moreno
 
PID11041
PID11041PID11041
PID11041ecoran
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosDaniel Muccela
 
Gprocesos
GprocesosGprocesos
Gprocesosdaniela
 
OpenMP - Configuración de IDE y ejecución de código paralelo
OpenMP - Configuración de IDE y ejecución de código paraleloOpenMP - Configuración de IDE y ejecución de código paralelo
OpenMP - Configuración de IDE y ejecución de código paraleloadelsolar
 
Presentación Lengua C
Presentación Lengua CPresentación Lengua C
Presentación Lengua CBaronAndy
 
Procesadores de Lenguaje
Procesadores de LenguajeProcesadores de Lenguaje
Procesadores de LenguajeLuisMolina269
 

Ähnlich wie MPI-Introducción al estándar de paso de mensajes (20)

SISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptx
SISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptxSISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptx
SISTEMAS DISTRIBUIDOS COMUNICACION UNIDAD 2.pptx
 
Evolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas OperativosEvolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas Operativos
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Parallel Python sistemas operativos avanzados
Parallel Python sistemas operativos avanzadosParallel Python sistemas operativos avanzados
Parallel Python sistemas operativos avanzados
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 
Presentación1
Presentación1Presentación1
Presentación1
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuida
 
Ejclase mpi
Ejclase mpiEjclase mpi
Ejclase mpi
 
Diap 01
Diap 01Diap 01
Diap 01
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
Programador Jr. para Python Primera Parte
Programador Jr. para Python Primera ParteProgramador Jr. para Python Primera Parte
Programador Jr. para Python Primera Parte
 
Keynote comunicadores
Keynote comunicadoresKeynote comunicadores
Keynote comunicadores
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
PID11041
PID11041PID11041
PID11041
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzados
 
Gprocesos
GprocesosGprocesos
Gprocesos
 
OpenMP - Configuración de IDE y ejecución de código paralelo
OpenMP - Configuración de IDE y ejecución de código paraleloOpenMP - Configuración de IDE y ejecución de código paralelo
OpenMP - Configuración de IDE y ejecución de código paralelo
 
Presentación Lengua C
Presentación Lengua CPresentación Lengua C
Presentación Lengua C
 
Procesadores de Lenguaje
Procesadores de LenguajeProcesadores de Lenguaje
Procesadores de Lenguaje
 
Programacion
ProgramacionProgramacion
Programacion
 

Mehr von Unai Lopez-Novoa

Exploring performance and energy consumption differences between recent Intel...
Exploring performance and energy consumption differences between recent Intel...Exploring performance and energy consumption differences between recent Intel...
Exploring performance and energy consumption differences between recent Intel...Unai Lopez-Novoa
 
A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...
A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...
A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...Unai Lopez-Novoa
 
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...Unai Lopez-Novoa
 
Introducción a la Computación Paralela
Introducción a la Computación ParalelaIntroducción a la Computación Paralela
Introducción a la Computación ParalelaUnai Lopez-Novoa
 
Harnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsHarnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsUnai Lopez-Novoa
 
Computación Heterogénea: Aplicaciones y Modelado de Rendimiento
Computación Heterogénea: Aplicaciones y Modelado de RendimientoComputación Heterogénea: Aplicaciones y Modelado de Rendimiento
Computación Heterogénea: Aplicaciones y Modelado de RendimientoUnai Lopez-Novoa
 

Mehr von Unai Lopez-Novoa (8)

Exploring performance and energy consumption differences between recent Intel...
Exploring performance and energy consumption differences between recent Intel...Exploring performance and energy consumption differences between recent Intel...
Exploring performance and energy consumption differences between recent Intel...
 
A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...
A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...
A Platform for Overcrowding Detection in Indoor Events using Scalable Technol...
 
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
 
Introducción a la Computación Paralela
Introducción a la Computación ParalelaIntroducción a la Computación Paralela
Introducción a la Computación Paralela
 
Harnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsHarnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern Coprocessors
 
Computación Heterogénea: Aplicaciones y Modelado de Rendimiento
Computación Heterogénea: Aplicaciones y Modelado de RendimientoComputación Heterogénea: Aplicaciones y Modelado de Rendimiento
Computación Heterogénea: Aplicaciones y Modelado de Rendimiento
 
Introduction to OpenCL
Introduction to OpenCLIntroduction to OpenCL
Introduction to OpenCL
 
Exploring Gpgpu Workloads
Exploring Gpgpu WorkloadsExploring Gpgpu Workloads
Exploring Gpgpu Workloads
 

Kürzlich hochgeladen

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Kürzlich hochgeladen (13)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

MPI-Introducción al estándar de paso de mensajes

  • 1. MPI Message Passing Interface Unai Lopez
  • 2.
  • 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
  • 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 !
  • 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