|
+- -+ | 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
|