cij : =
aik · bkj .
S := 0;
FOR i := 1 TO
DO
S := S + A'*B';
sende altes A' nach links;
empfange neues A' von rechts;
sende altes B' nach oben;
empfange neues B' von unten;
END
Anschließend verfügt jeder Prozessor über eine Teilmatrix der Ergebnismatrix C .
Die initiale Aufstellung erfordert
·
Kommunikationszeit.
In jeder der
Iterationen wird an Rechenzeit
(
)3 Schritte verbraucht, an Kommunikationszeit
O(
) .
Daraus folgt als Gesamtzeit
Somit beträgt der Overhead
Zu gegebener Effizienz von 50 % ergibt sich die Isoeffizienzfunktion
als
n 3 = n 2 ·
n =
, d.h., wächst p um den Faktor 4 ,
so muß n um den Faktor 2 wachsen.
| Matrizenmultiplikation nach Cannon in einem 4 × 4 -wraparound-Gitter | |
| (a) Initiale Verschiebungen für Matrix A | |
| (b) Initiale Verschiebungen für Matrix B | |
| (c) A und B in initialer Aufstellung. 1. Shift des Cannon-Algorithmus als Pfeile angedeutet. | |
| (d) Teilmatrixpositionen nach dem 1. Shift | |
| (e) Teilmatrixpositionen nach dem 2. Shift | |
| (f) Teilmatrixpositionen nach dem 3. Shift |