23.12.2012 Aufrufe

Vielteilchentheorien in Modellräumen mit diskreter Darstellung

Vielteilchentheorien in Modellräumen mit diskreter Darstellung

Vielteilchentheorien in Modellräumen mit diskreter Darstellung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.3 Programmiertechniken 53<br />

zu e<strong>in</strong>er gleichmäßigen Verteilung gelangt, ist es manchmal nötig Laufzeitmessungen der<br />

Prozeduren <strong>in</strong> den unterschiedlichen Tasks durchzuführen, um e<strong>in</strong>e asymmetrische Verteilung<br />

der Rechenzeiten auf die E<strong>in</strong>zelnen Prozessoren zu vermeiden. Bei sorgfältiger<br />

Vorgehensweise kann aber gerade bei der taskparallelen Programmierung, <strong>in</strong>sbesondere<br />

wenn die e<strong>in</strong>zelnen parallelen Blöcke jeweils viel Arbeit übernehmen können, e<strong>in</strong>e beachtliche<br />

Laufzeitverkürzung des Gesamtprogramms erzielt werden.<br />

Performance<br />

Inwieweit e<strong>in</strong> Programm parallelisiert werden kann, hängt selbstverständlich von den<br />

durchzuführenden Rechenoperationen ab. Es wird nie möglich se<strong>in</strong>, e<strong>in</strong> Programm komplett<br />

zu parallelisieren, da die Ergebnisse der verschiedenen parallelen Blöcke schließlich<br />

irgendwann zusammengefügt werden müssen. So wird man sich immer auf e<strong>in</strong>zelne Regionen<br />

des Programms beschränken, die gut parallelisiert werden können. Da, wie schon<br />

erwähnt, die parallelen Programmteile <strong>mit</strong>e<strong>in</strong>ander kommunizieren müssen, gibt e<strong>in</strong>e Performanceanalyse<br />

am besten Aufschluß darüber, ob und <strong>in</strong>wieweit es s<strong>in</strong>nvoll ist das Programm<br />

zu parallelisieren. E<strong>in</strong>ige Laufzeitmessungen für das zweidimensionale Hubbard–<br />

Modell für unterschiedliche maximale Polanzahlen und daraus resultierenden Dimensionen<br />

der SCGF–Matrix s<strong>in</strong>d <strong>in</strong> Tabelle 4.3.4 zusammengestellt. Es zeigt sich, daß schon für<br />

die kle<strong>in</strong>ste Matrixdimension e<strong>in</strong> Zeitgew<strong>in</strong>n durch Parallelisierung erzielt werden kann.<br />

Bei Laufzeiten von wenigen M<strong>in</strong>uten ist das allerd<strong>in</strong>gs nicht sonderlich relevant. In den<br />

ersten beiden Zeilen s<strong>in</strong>d die Laufzeiten für vier bzw. acht Prozessoren praktisch gleich.<br />

In diesen Fällen genügt es, das Programm <strong>mit</strong> vier Prozessoren arbeiten zu lassen, da<br />

das Plus an Rechenkapazität durch die nötige Kommunikation zunichte gemacht wird. In<br />

Modell Polzahl Dim. Mat. 1CPU 4CPU 8CPU<br />

t [h] t [h] t [h]<br />

4 × 4 32 37226 0.4 0.2 0.2<br />

4 × 4 48 129749 4.2 1.9 2.0<br />

6 × 6 72 393627 34.5 12.7 8.9<br />

Tabelle 4.3.4: Programmlaufzeiten <strong>in</strong> Abhängigkeit der Anzahl von Prozessoren für unterschiedliche<br />

maximale Polanzahlen und daraus resultierenden Matrixdimensionen. Alle<br />

Angaben beziehen sich auf das zweidimensionale Hubbard–Modell <strong>mit</strong> U =4und t =1.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!