1. Basics of Matrix Multiplication - 2025.1 English - XD098

Vitis Tutorials: Getting Started (XD098)

Document ID
XD098
Release Date
2025-06-17
Version
2025.1 English

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 |