Message Passing Interface: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Ampliata e aggiornata la voce Message Passing Interface |
Aggiungi 1 libro per la Wikipedia:Verificabilità (20231110)) #IABot (v2.0.9.5) (GreenC bot |
||
Riga 2:
'''Message Passing Interface''' '''(MPI'''<ref>{{Cita libro|autore=di William Gropp, Ewing Lusk, e Anthony Skjellum|titolo="Using MPI: Portable Parallel Programming with the Message-Passing Interface"|anno=1994|url=https://archive.org/details/usingmpiportable00grop}}</ref><ref>{{Cita libro|titolo="Parallel Scientific Computation: A Structured Approach using BSP and MPI" di Rob H. Bisseling}}</ref>) è un modello di programmazione e una libreria di standard per la comunicazione tra processi paralleli in calcolo ad alte prestazioni [[Computer cluster|('''HPC''']]) e applicazioni distribuite.
Lo standard, alla versione 3.1, definisce la sintassi delle chiamate MPI per i linguaggi [[C (linguaggio)|C]] e [[Fortran]]<ref name="standard3.1">{{cita pubblicazione|anno=2015|titolo=MPI: A Message-Passing Interface Standard|editore=MPI Forum|url=https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf}}</ref>.È ampiamente utilizzato per scrivere programmi paralleli che possono eseguire compiti simultaneamente su cluster di computer o supercomputer. Ecco alcuni punti chiave relativi a MPI: Comunicazione tra processi: MPI è progettato per consentire la comunicazione efficiente tra processi paralleli. I processi possono essere eseguiti su diversi nodi di un cluster o su un singolo sistema multiprocessore. Standardizzazione: MPI è uno standard, il che significa che le implementazioni MPI sono disponibili per una vasta gamma di piattaforme e linguaggi di programmazione, compresi C, [[C++]], [[Fortran]] e altri. Modello di programmazione: Gli sviluppatori utilizzano chiamate di funzione MPI<ref>{{Cita libro|titolo="Parallel Programming with MPI" di Peter S. Pacheco}}</ref> per inviare e ricevere dati tra i processi, sincronizzare l'esecuzione e coordinare il lavoro parallelo. Scalabilità: MPI è noto per la sua scalabilità, il che significa che può essere utilizzato con successo su sistemi con un numero variabile di processori, dalla cluster di poche macchine ai supercomputer più grandi. Parallelismo esplicito: MPI<ref>{{Cita libro|titolo="MPI: The Complete Reference" di Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker, e Jack Dongarra}}</ref> richiede ai programmatori di specificare in modo esplicito le operazioni di comunicazione, il che offre un alto grado di controllo ma richiede una progettazione accurata dei programmi paralleli. Affidabilità: MPI offre funzionalità per gestire situazioni di errore e recuperare da guasti, il che è essenziale per applicazioni ad alte prestazioni. MPI è ampiamente utilizzato in settori come la simulazione scientifica, la modellazione del clima, la ricerca scientifica, la crittografia e molte altre aree in cui è necessario elaborare grandi quantità di dati o risolvere complessi problemi matematici. Le implementazioni MPI sono disponibili in diverse librerie e ambienti di sviluppo e forniscono un modo potente per sfruttare l'elaborazione parallela e distribuita.
|