|
+- -+
| 1 |
v = | 1 |
| 1 |
+- -+
|
+- -+
| 1 0 0 |
A = | 1 0 0 |
| 1 0 0 |
+- -+
|
+- -+ +- -+ +- -+
| 1 | | 5 | | 6 |
| 2 | + | 4 | = | 7 |
| 3 | | 1 | | 4 |
+- -+ +- -+ +- -+
|
(The elements are added row-wise)
(The addition operation is applied to all rows)
+- -+
|A11 A12 A13|
A = |A21 A22 A23|
|A31 A32 A33|
+- -+
Then:
|
But each row of matrix A uses DIFFERENT operands (data)
|
While going through the example, make a note that the same operations are performed on each column.
Initialization step (done once):
|
Processing Row 1:
|
|
|
Processing Row 2:
|
And so on....
|
The Cray has multiple system busses:
|
So it can fetch multiple operands from memory at the same time - But ONLY IF the operands are stored in DIFFERENT memory banks
To perform this step in the matrix multiplication:
|
It must
|