MPI
1. Eigenschaften
- Architektur und Hardware unabhängig
- geeignet für Rechner mit mehreren CPUs und für Cluster mit mehreren Rechnern (auch für Cluster mit Multicorerechnern)
- sichere Datenübertragung
- Entwicklung von parallelen Algorithmen, Anwendungen und Bibliotheken
2. Implementierungen
- MPICH2 ist eine MPI-1- und MPI-2-Implementierung
- OpenMPI ist eine MPI-2-Implementierung eines Konsortiums von Partnern aus der akademischen Einrichtungen, Forschungseinrichtungen und der Industrie.
- LAM/MPI
- mpiJava
MPI ist nicht zu verwechseln mit OpenMP.
Ich entscheide mich für MPICH2.
3. Erforderlich
- MpiInstallation Installation
- MpiFehlerbehandlung Fehlerbehandlung
- MpiMpdRing MPD einrichten
- MpiReferenzBlatt Referenz zum Programmieren mit MPI
- MpiCompileAndDebug Kompilieren und Debuggen
- Spezifikation (MPI-Standard 2.1)
- MPICH2-Benutzerdokumentation
4. Zusätzliches Material
- Übungen - Introduction to MPI und OpenMP
- MPICH2-Homepage
- Debian Clusters for Education and Research
- http://wiki.freepascal.org/MPICH
- MPI mit LAM einrichten
- mpiexec man page
- BoostLibMpi Vereinfachte Funktionen in der Boost-Bibliothek für die MPI-Unterstützung
5. Programme bei MPICH2
mpicc compiles and links MPI programs written in C
mpicxx compiles and links MPI programs written in C++
mpiexec runs an MPI program (damit startet man die Programme)
mpd process mager
mpdallexit shutdown all process magers (mpd)
mpdcleanup removes the Unix socket on local (the default) and remote machines in case the mpd crashed badly and did not remove it
mpdtrace Llsts hostname of each of the mpds in the ring
mpdringtest measures the time a single message going around the ring of mpds <num> times (default once): mpdringtest 100
6. MPI-Programme
Voraussetzung: MpiMpdRing MPD-Ring ist eingerichtet.
Eigene Beispiele
- MpiBeispiel01 Hello MPI! gut zum Testen
- MpiBeispielRing Nachricht in einem Ring weiterleiten (ring.c)
- MpiBeispielCpi Berechnung von PI (cpi.c)
- MpiBeispielBalancing Load Balancing bei ungleich leistungsstarken Rechnern nach dem MasterWorkerSchema Master-Worker-Schema
- MpiExerciseMpmdQt MPMD mit Qt ist ein Beispiel, wie MPI im Prinzip zusamen mir Qt als grafische Oberfläche genutzt werden kann.
- MpiExerciseMandel Mandelbrot von Argonne National Laboratory
Beispiele aus MPICH2
- shared/examples_graphics/cpi_anim
- shared/examples_graphics/cxgraphics
CategoryStudiumSE
Siehe auch • • • • •