Next: 4.3.2 Nichtüberlappende Knoten
Up: 4.3.1 Nichtüberlappende Elemente
Previous: 4.3.1.3 Skalarprodukt.
4.3.1.4 Matrix-mal-Vektor Multiplikation.
Im folgenden sehen wir uns die Matrix-mal-Vektor Multiplikationen
von Vektoren und Matrizen der verschiedenen Typen an. Eine andere
Darstellung findet man in [Gro94].
- 1.
- Typ-II Matrix
Typ-I Vektor ergibt einen Type-II Vektor.
Tatsächlich ergibt sich aus Definition (4.1) :
 |
(4.7) |
Die Ausführung der Summation (d.h. Kommunikation) führt zu einem
Typ-I Vektor.
- 2.
- Typ-II Matrix
Typ-II Vektor erfordert eine
Vektorkonvertierung bevor obige Multiplikation ausgeführt werden
kann.
- 3.
- Typ-I Matrix
Typ-I Vektor kann nicht mit beliebigen
Typ-I Matrizen
berechnet werden.
Zur genaueren Analyse werfen wir einen Blick auf den Knoten
in Abb. 4.5 und die
Operation
.
Die lokale Multiplikation
sollte als Ergebnis einen Typ-I
Vektor
im Knoten
hervorbringen.
In obigen Gleichungen unterscheiden sich die Terme 4 und 5 der rechten
Seiten, so daß die Prozessoren 2 und 4 anstelle des eindeutigen
Resultats zwei verschiedene besitzen.
Der Grund dafür liegt im Informationstransport durch die Matrix
von einem Prozessor
zu einem Knoten welcher zusätzlich
auch noch zu Prozessor
gehört. In anderen Worten -
der Transport von Information von einem Knoten
zu einem
Knoten
ist nur dann erlaubt, wenn die Menge der Prozessoren,
zu denen Knoten
gehört,
eine Teilmenge der Prozessoren ist,
welche Knoten
besitzen (
).
Stellt man die Matrixeinträge als gerichteten Graphen dar, so
heißt dies z.B., daß in Abb. 4.5 die Einträge
,
,
,
,
,
,
,
,
,
,
in der Matrix
nicht erwünscht sind.
Somit vermeidet nur eine Matrix der Form
 |
(4.8) |
mit Blockdiagonalmatrizen
,
,
solche unerwünschten Einträge.
Während die Blockdiagonalstruktur von
durch die
Datenaufteilung garantiert ist, muß das FE-Netz für die restlichen
Matrizen die folgenden Anforderungen erfüllen :
- (a)
- Keine Verbindung zwischen Crosspoints, welche zu verschiedenen
Mengen von Teilgebieten gehören.
- (b)
- Keine Verbindung zwischen Kanten, welche zu verschiedenen
Mengen von Teilgebieten gehören.
Bedingung 3a kann einfach durch dadurch erreicht werden, daß
auf jeder Gebietskante mind. ein zusätzlicher Kantenknoten
plaziert wird (Achtung bei Verbindung quer durch das Teilgebiet).
Ein 2D Netzgenerators für Dreiecke mit linearen Ansatzfunktionen
kann leicht so
modifiziert werden, daß Bedingung 3b eingehalten wird,
z.B. wird die Kante zwischen den Knoten
und
vermieden.
Abb. 4.6 zeigt das geänderte Netz.
Diese Vorgehen ist nur bei bestimmten finiten Elementen
möglich !
Bei Verwendung von Tetraedern mit linearen Ansatzfunktionen
kann Bedingung 3b auch in 3D Netzgeneratoren
eingebaut werden.
Abbildung 4.6:
Nichtüberlappende Elemente mit Diskretisierung bei angepaßtem Netz.
 |
- 4.
- Wie im vorangegangen Punkt kann Typ-I Matrix
Typ-II Vektor
nicht mit allgemeinen Typ-I Matrizen
durchgeführt werden.
Das Ergebnis sollte ein Typ-II Vektor sein.
Nehmen wir an, die (auch hier notwendigen)
Bedingungen 3a and 3b seien durch das Netz
(Abb. 4.6) erfüllt. Richten wir unsere Aufmerksamkeit
auf die Operation
.
Lokal auf Prozessor 4 ausgeführt liefert
Wegen der Eigenschaften des Typ-II Vektors
fehlen im Resultat
die Teile
und
.
Im Unterschied zum vorigen Punkt ist der Transport von Information
von Knoten
zu Knoten
nur zulässig, falls
die Menge der Prozessoren zu denen
gehört eine Teilmenge der
Prozessoren von Knoten
ist (
).
In Abb.4.6 sind z.B.
und
erlaubt, aber nicht die umgekehrte Richtung.
Damit kann nur eine Matrix der Form
 |
(4.9) |
mit Blockdiagonalmatrizen
,
,
für diese Art der Matrix-mal-Vektor
Multiplikation benutzt werden.
Bemerkung: Die Punkte 3 und 4
können unter der Bedingung, daß
,
,
blockdiagonal sind (durch das Netz in Abb. 4.6 garantiert) kombiniert
werden.
Bezeichnen
,
und
das streng untere bzw. streng obere Dreiecks und die Diagonale von
,
kann die Typ I Matrix-mal-Vektor Operation für alle Vektortypen aufgeschrieben
werden.
Jede dieser Multiplikationen benötigt genau zwei Vektortypumwandlungen,
jedoch beeinflußt die konkrete Wahl der Vektortypen die
Anzahl der Kommunikationsschritte.
Die Faktorisierung der Matrix
in eine obere und untere
Dreiecksmatrix
und
,
die den Bedingungen 3 bzw. 4 genügen müssen,
kann auf zwei Weisen geschehen. Zum einem gilt
und andererseits
Die fehlenden Gleichungen können leicht mittels Typkonvertierung
erhalten werden.
Bei der Faktorisierung beeinflußt die konkrete Wahl der Vektortypen
die Anzahl und Art der der Konvertierungen.
Next: 4.3.2 Nichtüberlappende Knoten
Up: 4.3.1 Nichtüberlappende Elemente
Previous: 4.3.1.3 Skalarprodukt.
Gundolf Haase
1998-12-22