next up previous
Next: 5.4.4.3 Variante 3 : Gauß-Seidel-Blocklöser Up: 5.4.4 Das parallele Verfahren Previous: 5.4.4.1 Variante 1 : formales

   
5.4.4.2 Variante 2 : Gauß-Seidel-$\omega $-Jacobi

Die schlechte Parallelisierung von Variante 1 war eng mit der Datenabhängigkeit der Iterierten auf dem Koppelrand verbunden. Benutzt man in (5.3b) und (5.3d) nur die jeweiligen $(k-1)$-ten Iterierten, vermeidet man diese Datenabhängigkeit und benötigt auch keinerlei Voraussetzungen an die Vernetzung.
Genauso wie zwischen den Blöcken ''$V,E,I$'' wird im Teilgebietsinneren die Gauß-Seidel-Iteration ausgeführt. Durch die partielle Anwendung der $\omega $-Jacobi Iteration ist die Konvergenzgeschwindigkeit etwas geringer als beim vollen Gauß-Seidel Verfahren.
 \begin{algorithmus}% latex2html id marker 17501
[H]\caption{Paralleler Gau\ss{}-...
... \\
\multicolumn{3}{l}{ \mbox{\textbf{\sf end}}}
\end{array}$\end{algorithmus}
Die in Algorithmus 5.10 vorkommende Operation $\underline{{\ensuremath{\color{red} \mathfrak{d} } }} \circledast \underline{{\ensuremath{\color{red} \mathfrak{w} } }}$ bezeichnet die komponentenweise Multiplikation zweier Vektoren. Außerdem wurde berücksichtigt, daß im Teilgebietsinneren (''$I$'') alle akkumulierten Teilvektoren und -matrizen stets identisch den verteilt gespeicherten Varianten sind.
Berücksichtigt man, daß die Crosspoints (''$V$'') und die Interfacedaten (''$E$'') in jedem Falle getrennt akkumuliert werdem, dann wird pro Iterationsschritt nur genausoviel Kommunikation wie beim $\omega $-Jacobi Verfahren (Algorithmus 5.6) benötigt !
Falls kein Abbruchtest nötig ist, z.B. bei Verwendung als Glätter mit einer fixen Anzahl von Schritten, dann kann man die Berechnung der Skalarprodukte weglassen und $\underline{{\ensuremath{\color{green} {\sf r}} }}$ identisch  $\underline{{\ensuremath{\color{red} \mathfrak{w} } }}$ wählen.

Gundolf Haase
1998-12-22