Die Laufzeit wird bestimmt von den beiden diagonal
gegenüberliegenden Teilmatrizen, bei denen n 2/p Daten über eine
Länge von 2 transportiert werden müssen.
Die lokale Transposition dauert n 2/p Schritte.
Daraus resultieren eine Laufzeit von
O(n 2/p · ) und Kosten von
O(n 2 · ) .
Eine Beschleunigung wird durch die rekursive
Struktur der Matrixtransposition möglich.
Sei eine 2er-Potenz. Es sei jede der p Teilmatrizen gemäß ihrem laufenden Index einem Hypercubeprozessor zugeordnet. Aufgrund der Hypercubestruktur sind B00,B01,B10,B11 jeweils Subwürfel, deren Adressen folgende Gestalt haben:
0..0.., 0..1.., 1..0.. bzw. 1..1..Dadurch sind die jeweils auszutauschenden Teilmatrizen nur 2 Kanten entfernt.
0,4 0,5 0,6 0,7 000100 000101 000110 000111 1,4 1,5 1,6 1,7 001100 001101 001110 001111 2,4 2,5 2,6 2,7 010100 010101 010110 010111 3,4 3,5 3,6 3,7 011100 011101 011110 011111
Indizes innerhalb der rechten oberen Teilmatrix B01 und ihre Adressen in einem Hypercube der Dimension 6 |
Also entstehen (log ) Phasen, in denen jeweils gleichzeitig Matrizen der Größe n 2/p über 2 Links ausgetauscht werden. Die lokale Transposition benötigt Schritte. Daraus resultiert eine Laufzeit Tp = O(n 2/p · log ) . Der Overhead beträgt
T0(W,p) = p · Tp - W = O(n 2 · log - n 2) = O(n 2 · log ) .