Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Message Passing Interface — Wikipédia
Message Passing Interface — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Message Passing Interface

Informations
Version avancée 5.0 (5 juin 2025)
Environnement Microsoft Windows, GNU/Linux, BSD
Langues anglais
Type Norme de communication machine-machine
Site web MPI-forum.org

modifier - modifier le code - voir Wikidata (aide)

Message Passing Interface (MPI) est un outil pour le calcul scientifique à haute performance qui permet d'utiliser plusieurs ordinateurs.

C'est une norme conçue en 1993-94 pour le passage de messages entre ordinateurs distants ou dans un ordinateur multiprocesseur. Elle est devenue un standard de communication de facto pour des nœuds exécutant des programmes parallèles sur des systèmes à mémoire distribuée. Elle définit une bibliothèque de fonctions, utilisable avec les langages C, C++ et Fortran.

MPI a été écrite pour obtenir de bonnes performances aussi bien sur des machines massivement parallèles à mémoire partagée que sur des clusters d'ordinateurs hétérogènes à mémoire distribuée. Elle est disponible sur de très nombreux matériels et systèmes d'exploitation. Ainsi, MPI possède l'avantage par rapport aux plus vieilles bibliothèques de passage de messages d'être grandement portable (car MPI a été implémentée sur presque toutes les architectures de mémoires) et rapide (car chaque implémentation a été optimisée pour le matériel sur lequel il s'exécute).

Depuis 1997, une nouvelle version de MPI est disponible, MPI-2, qui apporte quelques puissantes[évasif] fonctionnalités supplémentaires[Lesquels ?].

Depuis 2015, une nouvelle version de MPI est disponible, MPI-3, qui apporte des écritures parallèles dans les fichiers.

Depuis 2020, une nouvelle version de MPI est disponible, MPI-4, qui apporte le RDMA et la prévision de détection automatique en cas de panne. (MPI Forum)

Concepts

[modifier | modifier le code]

Communicateurs

[modifier | modifier le code]

Un communicateur désigne un ensemble de processus pouvant communiquer ensemble, et deux processus ne pourront communiquer que s'ils sont dans un même communicateur. Un communicateur initial englobe tous les processus (MPI_COMM_WORLD), qu'il est possible de subdiviser en communicateurs plus petits correspondant à des entités logiques. Il existe deux types de communicateurs : les intracommunicateurs et les intercommunicateurs. Les intracommunicateurs sont les communicateurs standards, alors que les intercommunicateurs servent à créer un pont entre deux intracommunicateurs. MPI-2 améliore grandement l'usage des intercommunicateurs en leur permettant de réaliser des communications collectives.

Communications point-à-point

[modifier | modifier le code]

Les communications point-à-point permettent à deux processus à l'intérieur d'un même communicateur d'échanger une donnée (scalaire, tableau ou type dérivé). Les fonctions correspondantes sont MPI_Send, MPI_Recv et MPI_Sendrecv.

Communications collectives

[modifier | modifier le code]

Les communications collectives impliquent tous les processus d'un communicateur. Il est possible d'envoyer une même donnée à tous les processus (MPI_Bcast), de découper un tableau entre tous les processus (MPI_Scatter), ou d'effectuer une opération (par exemple addition) où chaque processus contribuera.

Types dérivés

[modifier | modifier le code]

Les types de base (entier, flottant simple ou double précision, caractère) sont nativement pris en charge. Il est ensuite possible de créer des types dérivés, qui s'écartent plus ou moins de ces types de base : les types contigu (pour des données homogènes et contiguës en mémoire), vecteur (pour des données homogènes et espacées d'un pas constant en mémoire), indexé (pour des données homogènes et espacées d'un pas variable en mémoire) et structure (pour des données hétérogènes).

MPI I/O (MPI-2)

[modifier | modifier le code]

MPI I/O autorise les entrées-sorties parallèles.

Implémentations

[modifier | modifier le code]

Les implémentations classiques sont en C/C++ et FORTRAN, mais il existe aussi des implémentations en Python, OCaml, Perl et Java. L'implémentation initiale du standard MPI 1.x était MPICH, aujourd'hui devenue MPICH 2 en étant compatible avec le standard MPI-2 ; c'est un logiciel libre. On trouve aussi sous licence libre OpenMPI. À côté de ces implémentations généralistes, des implémentations optimisées ont été faites par certains constructeurs.

Voir aussi

[modifier | modifier le code]
  • PVM
  • Calcul parallèle
  • OpenMP
  • OpenHMPP New Standard for Manycore

Liens externes

[modifier | modifier le code]
  • (en) The Message Passing Interface (MPI) standard
  • (en) Tutoriels sur MPI sur le site de l'IDRIS
  • Introduction à MPI Philippe MARQUET Université des sciences et technologies de Lille –
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Message_Passing_Interface&oldid=226784719 ».
Catégories :
  • Bibliothèque logicielle
  • Interface de programmation
Catégories cachées :
  • Article utilisant une Infobox
  • Portail:Programmation informatique/Articles liés
  • Portail:Informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id