P&K MPI2
Kurzbeschreibung der Multicore-Version von TALDIA und AUSTAL2000
Product has been archived / Produkt wurde archiviert
Parallelisierung der Ausbreitungsrechnung (austalMPI)
Zur Parallelisierung des Rechenlaufes werden gleichzeitig auf den angeforderten Cores austal2000-Prozesse mit identischen Eingangsdaten gestartet. Intern verändert jeder Prozess einige Eingangsparameter:
- Die Qualitätsstufe (QS in austal2000.txt) wird herabgesetzt. Mit jeder Core-Verdopplung sinkt QS um eins. Zwei Cores reduzieren QS um eins, vier Cores um zwei, etc.
- Der Massenstrom aller Stoffe wird durch die Anzahl der Cores geteilt
- Der Startwert für Zufallszahlen (SD in austal2000.txt) wird für alle Cores unterschiedlich gesetzt. Der erste Core erhält SD = 1000, die zweite SD = 2000 usw. Für jeden Core wird SD um den Wert 1000 erhöht.
Nach jedem Zeitschritt werden die Ergebnisse aller Cores zusammen gefasst. Dabei addiert sich der Massenstrom wieder zum ursprünglichen Wert und die Qualitätsminderung wird durch die höhere Anzahl unabhängiger Rechnungen kompensiert.
Die Absenkung von QS ist der Grund für den schnelleren Ablauf der Berechnung.
Parallelisierung der Windfeldberechnung (taldiaMPI)
Das Programm berechnet für unterschiedliche Ausbreitungsklassen und Windrichtungen unabhängige Windfelder. Nach Maßgabe der Core-Anzahl übernimmt jeder Core die Erzeugung einer Auswahl von Windfeldern. Nach Ablauf der Gesamtrechnung werden die Ergebnisse in einem gemeinsamen lib-Verzeichnis zusammengeführt.
Verifikation
Die modifizierten austal2000-Quelltexte sind über die Web-Seite www.Petersen-Kade.com einsehbar.
Zur praktischen Prüfung wurden mit der Version 2.3.2 der Programme austal2000 und taldia einerseits und austalMPI und taldiaMPI andererseits die Beispiele a2k-1.0.6-test-area.zip und a2k-1.0.6-test-scatter.zip von der Webseite www.umweltbundesamt.de sowie zusätzliche komplexe Beispiele durchgerechnet.
Der Vergleich der Ergebnisse beider Szenarien ergab statistische Abweichungen, die in jedem Fall auf den Unterschied in der Seed-Konstanten (Startwert des Zufallzahlen-generators) zurückgeführt werden konnten.
Dies sind Abweichungen, die auch dann entstehen, wenn eine Rechnung mit nur einem Prozessor mit abweichendem Seed-Wert ausgeführt wird.