• Keine Ergebnisse gefunden

bei vier Prozessoren erh¨alt beispielsweise jeder Prozessorpn{2q2 Freiheitsgrade.) Die Indexmenge aller Frei- heitsgrade bezeichnen wir mitI, die des ProzesseskmitIk

N/A
N/A
Protected

Academic year: 2021

Aktie "bei vier Prozessoren erh¨alt beispielsweise jeder Prozessorpn{2q2 Freiheitsgrade.) Die Indexmenge aller Frei- heitsgrade bezeichnen wir mitI, die des ProzesseskmitIk"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Parallele L ¨osung großer Gleichungssysteme, Wintersemester 2012/13 Aufgabenblatt 3 Prof. Dr. Peter Bastian, Pavel Hron, Ole Klein Abgabe 16. November 2012 IWR, Universit¨at Heidelberg

BUNG6 DIE PARALLELERICHARDSON-ITERATION

Wir m ¨ochten das GleichungssystemAxbmit der Richardson-Iteration xpk 1qxpkq ωpbAxpkqq

l ¨osen. Die MatrixAsei die Steifigkeitsmatrix einerP1-Diskretisierung der Poissongleichung auf dem Einheitsquadrat. Dabei verwenden wir ein strukturiertes Dreiecksgitter mit N n2 Freiheitsgra- den (Dabei bezeichnetndie Anzahl der Freiheitsgrade auf einer Horizontalen oder Vertikalen des Gitters).

Um die Berechnung zu beschleunigen, m ¨ochten wir die Iteration parallel durchf ¨uhren. Daf ¨ur unterteilen wir das Einheitsquadrat inpkleinere Quadrate und verteilen die Freiheitsgrade in die- sen Untergebieten auf p Prozessoren. (Dabei nehmen wir an, das p eine Quadratzahl ist; bei vier Prozessoren erh¨alt beispielsweise jeder Prozessorpn{2q2 Freiheitsgrade.) Die Indexmenge aller Frei- heitsgrade bezeichnen wir mitI, die des ProzesseskmitIk. Jeder Prozessor speichert die zu seinen Freiheitsgraden geh ¨origen Eintr¨age vonxpkqund die relevanten Zeilen vonA.

Eine Iteration des parallelen Verfahrens besteht nun aus folgenden Schritten:

• Kommunikation der von den Nachbarprozessoren ben ¨otigten Eintr¨age vonxpkq

• Berechnung vonxpk 1q

1. Beschreiben Sie die IndexmengenIkund geben Sie an, mit welchen Prozessoren der Prozessor kwelche Eintr¨age vonxpkqkommunizieren muss.

2. Die Rechenzeit f ¨ur eine beliebige arithmetische Operation (Addition, Subtraktion oder Multi- plikation) betragetop, die Zeit zur ¨Ubertragung eines Bytes an einen anderen Prozessor tbyte, und die Zeit, um eine Nachricht aufzusetzen, seitmsg. Geben Sie eine Formel f ¨ur die Gesamt- rechenzeit f ¨ur eine Iteration aufp Knoten an. Die Eintr¨age vonxpkq seien mit doppelter Ge- nauigkeit gespeichert, so dass jeder Eintrag 8 Byte belegt. (Die Formel soll nur asymptotisch korrekt sein; beispielsweise muss nicht gesondert ber ¨ucksichtigt werden, dass die Matrixzeilen zu Randknoten weniger Eintr¨age haben.)

3. Geben Sie tabellarisch den Speedup des parallelen Verfahrens bei folgenden Parametern an:

top2ns tbyte20ns tmsg5000ns

nP t1024,4096u pP t1,4,16,256,4096u

12 Punkte

(2)

BUNG7 GEBIETZERLEGUNG

SieΩ€Rdein Lipschitz-Gebiet (offen, zusammenh¨angend und beschr¨ankt) und seif PH1pΩq gegeben. Das homogene Poisson-Problem lautet

∆upxq fpxq @xPΩ

upxq 0 @xP BΩ (1)

SeiΩ1,Ω2 eine Gebietzerlegung des GebietesΩ:

ΩΩ1YΩ2, Ω1XΩ2∅, Γ BΩ1X BΩ2, µpBΩiq ¡0,

und BΩi sind Lipschitz-stetig. Dann ist das Problem (1) dem folgenden Problem (im schwachem Sinne) equivalent, fallsf regul¨ar genug ist:

∆u1pxq fpxq @xPΩ1

u1pxq 0 @xP BΩ1zΓ u1pxq u2pxq @xPΓ Bu1pxq

Bn1

Bu2pxq

Bn2 @xPΓ

∆u2pxq fpxq @xPΩ2

u2pxq 0 @xP BΩ2

(2)

Reicht die Regularit¨at der Funktionf, d.h.f PH1pΩq?

Hinweis:

Betrachten Sie das Poisson-Problem auf dem GebietΩ p1,1q d2u

dx2 2δ up1q up1q 0

woδdie Dirac-Delta-Funktion ist. Finden Sie die eindeutige schwache L ¨osung und untersuchen Sie die Bedingungen auf dem ¨UbergangΓin (2).

4 Punkte

BUNG8 PARALLELEBERECHNUNG DERL2-NORM MITDUNE

In dieser Aufgabe soll die Berechnung derL2-Norm aus Aufgabe 1 parallelisiert werden. Dazu sollen Sie mehrere Prozesse ¨uber einen Teil des Gebietes integrieren und die Ergebnisse nachher aufsum- mieren. Die n ¨otigen Teile des Interfaces wurden in der ¨Ubung vorgestellt. Zus¨atzlich ist die Klas- seCollectiveCommunicationn ¨utzlich – schauen Sie sich am besten die Online-Dokumentation dieser Klasse an. Den im Konstruktoraufruf ben ¨otigten MPI-Communicator erhalten Sie mit der getCommunicator()-Methode derMPIHelper-Instanz.

Um DUNE auf dem eigenen Rechner mit Unterst ¨utzung paralleler Programmierung zu kompi- lieren, m ¨ussen Sie eine MPI-Bibliothek installiert haben, beispielseweise OpenMPI. In allen Linux- Distributionen gibt es fertige Pakete daf ¨ur. Außerdem m ¨ussen alle Pakete mittels

dune-common/bin/dunecontrol --configure-opts="--enable-parallel" all neu kompiliert werden. Auf den Rechnern im CIP-Pool ist DUNE bereits

”parallel“ kompiliert.

4 Punkte

Referenzen

ÄHNLICHE DOKUMENTE

Auf der Zahlengeraden können einfache Rechnungen

[r]

Aufbauend auf dem Vektorbegriff sollen Fertigkeiten zur Addition und Subtraktion von Vektoren, ihrer Zerlegung und Komponentendarstellung vermittelt werden..

Gib jeweils zwei Trinkbecher Apfelsaft und zwei Trinkbecher Wasser in den leeren Messbecher und lies die Füllhöhe ab.. Notiere die

Die Nutzung ist nur für den genannten Zweck gestattet, nicht jedoch für einen weiteren kommerziellen Gebrauch, für die Weiterleitung an Dritte oder für die Veröffentlichung im

nung hier in möglichster Kürze zu erläutern, um sie bekannter zu machen und zu zeigen, daß sie Resultate liefert, welche viel g·enauer sind als die nach

Schwer (Die Nenner müssen zuerst faktorisiert werden, damit die Brüche auf den Hauptnenner gebracht werden

• Formalbezogene Wortschatzbausteine können für eine Unterrichtseinheit oder auch länger auf einem Plakat an der Klassenraumwand hängen, damit die Schüler*innen jederzeit auf