In this tutorial we will use a simple AI Engine Kernel to perform Matrix multiplication of a [4x4] matrix (let’s call it A) with a [4x1] matrix (let’s call it B).
A = | a11 a12 a13 a14 | B = | b1 |
| a21 a22 a23 a24 | | b2 |
| a31 a32 a33 a34 | | b3 |
| a41 a42 a43 a44 | | b4 |
A x B will result in a [4x1] matrix (let’s call it C).
C[1][1] = | a11 * b1 + a12 * b2 + a13 * b3 + a14 * b4 |
C[2][1] = | a21 * b1 + a22 * b2 + a23 * b3 + a24 * b4 |
C[3][1] = | a31 * b1 + a32 * b2 + a33 * b3 + a34 * b4 |
C[4][1] = | a41 * b1 + a42 * b2 + a43 * b3 + a44 * b4 |
Here is an example of simple matrix multiplication:
A = | 1 2 3 4 | b = | 1 | A x B = | 1*1 + 2*2 + 3*3 + 4*4 = 1 + 4 + 9 + 16 = 30 |
| 5 6 7 8 | | 2 | | 5*1 + 6*2 + 7*3 + 8*4 = 5 + 12 + 21 + 32 = 70 |
| 9 10 11 12 | | 3 | | 9*1 + 10*2 + 11*3 + 12*4 = 9 + 20 + 33 + 48 = 110 |
| 13 14 15 16 | | 4 | | 13*1 + 14*2 + 15*3 + 16*4 = 13 + 28 + 45 + 64 = 150 |
C = | 30 |
| 70 |
| 110 |
| 150 |