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
- Installation
- Fehlerbehandlung
- MPD einrichten
- Referenz zum Programmieren
mit MPI
- 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
- 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: MPD-Ring ist eingerichtet.
Eigene Beispiele
- Hello MPI!
gut zum Testen
- Nachricht in einem Ring weiterleiten (ring.c)
- Berechnung von PI
(cpi.c)
- Load Balancing
bei ungleich leistungsstarken Rechnern nach dem Master-Worker-Schema
- MPMD mit Qt ist ein Beispiel, wie MPI im Prinzip zusamen mir Qt als grafische Oberfläche genutzt werden kann.
- Mandelbrot von Argonne National Laboratory
Beispiele aus MPICH2
- shared/examples_graphics/cpi_anim
- shared/examples_graphics/cxgraphics
CategoryStudiumSE
Siehe auch MpiMpdRing • OpenMP • ParallelRechner
There are no comments on this page. [Add comment]