623.712 – PR AUS RECHNER UND NETZARCHITEKTUR
SS 2003, CHRISTIAN TIMMERER

 

ÜBUNGSBLATT 3

 

 

Institut für Informationstechnologie, 28. April 2003

 

Parallele Programmierung - MPI

Einführung

MPI bedeutet Message Passing Interface. Es ist eine Bibliothek, die man in C/C++ und Fortran-Programmen benutzen kann. Wie der Name schon sagt, ist MPI ein System zur Übertragung von Nachrichten auf Multiprozessorsystemen wie z. B. unserem Cluster. Es wurde 1993-94 von einer Gruppe aus Wissenschaft und Industrie entwickelt.

Vorgehensweise

Zuerst muss die Bibliothek mittels #include <mpi.h> eingefügt werden.

MPI besteht aus 125 Funktionen. Die wichtigsten für den Anfang werden hier genannt und erklärt:

 

Zentrale Send-/Receive-Funktionen:

 

Aufgabenstellung Übungsblatt 2

Das Integral einer stetigen Funktion kann als Fläche gedeutet werden. An der Bestimmung der Fläche unter der durch den Integranden bestimmten Funktion über einem Intervall [a, b] ist man in vielen praktischen Anwendungen interessiert. Falls die Stammfunktion F des Integranden f formelmäßig bestimmt werden kann, gilt

Die numerische Auswertung eines bestimmten Integrals  kann allerdings häufig nur näherungsweise erfolgen, denn für viele Integrale lässt sich die Stammfunktion nur mit viel Aufwand oder sogar überhaupt nicht formelmäßig bestimmen.

Gegenüber der Rechteckregel und Trapezregel lässt sich eine wesentliche Verbesserung erzielen, wenn die Intervallenden nicht durch eine Gerade, sondern durch Parabelbögen verbunden werden. Dies bringt eine wesentlich bessere Näherung, so dass deutlich weniger Rechenschritte für ein genaues Resultat benötigt werden. Diese Integrationsregel beruht auf der sogenannten keplerschen Fassregel, die vom bekannten Astronomen Johannes Kepler (1571-1630) vorgestellt wurde, um die Fläche eines solchen fassförmigen Flächenelementes näherungsweise zu bestimmen. Der sonst nicht weiter bekannte englische Mathematiker Thomas Simpson (1710-1761) benutzte diese Formel um den Integralwert mit n Teilflächen zu berechnen.

Abbildung 1 — Kepler’sche Fassregel

 

Die Näherungsfläche wird als Parabelbogen, der durch die Punkte f(-h), f(0) und f(h) geht, gelegt. Für das Integral ergibt sich damit die folgende Näherungsformel:

Berechnen sie die Näherungsfläche mit Hilfe des Simpsonverfahrens einer von Ihnen beliebig (einstellbaren) gewählten Funktion (z.B. y=sin(x)) in einem einstellbaren Intervall (z.B. [0, p]) mittels MPI auf den Rechnern {sgi-itec,pl01-itec,pl02-itec,pl03-itec}.uni-klu.ac.at.

ssh-Konfiguration:

·         Generierung eines Authentifizierungsschlüssels (auf der sgi-itec) mittels ssh-keygen -t type wobei type={rsa1, rsa} ist. Dies legt folgende Dateien im ~/.ssh-Verzeichnis an

o        id_rsa

o        id_rsa.pub

o        identity

o        identity.pub

Testen der ssh-Konfiguration mittels MPI-Beispielprogramm:

netarc00@sgi-itec:~> mpirun -np 4 /usr/local/mpi/examples/cpi

Process 0 on sgi-itec.uni-klu.ac.at

Process 3 on pl03-itec.uni-klu.ac.at

Process 2 on pl02-itec.uni-klu.ac.at

Process 1 on pl01-itec.uni-klu.ac.at

pi is approximately 3.1416009869231245, Error is 0.0000083333333314

wall clock time = 0.002840

 

 

Termine:

 

Fragen:

·          Tel.: +43/463/2700 3621

·          Email: christian.timmerer@itec.uni-klu.ac.at