The AI Engine-ML includes hardware instructions for matrix multiplication. You can use different matrix sizes based on operand bit-width. In the following table, the notation MxKxN means you multiply a first operand with M rows and K columns by a second operand with K rows and N columns.
Matrix Multiplication Modes for Real Types
8b x 4b |
8b x 8b |
16b x 8b |
8b x 16b |
16b x 16b |
32b x 16b |
16b x 32b |
32b x 32b |
bfloat16 x bfloat16 |
|---|---|---|---|---|---|---|---|---|
4x16x8 |
4x8x4 |
4x4x4 |
4x4x8 |
4x4x4 |
2x4x8 |
2x4x8 |
4x2x4 |
4x8x4 |
8x16x8 |
4x16x4 |
8x4x4 |
4x4x4 |
2x4x8 |
4x4x4 |
4x4x4 |
4x2x4 |
|
4x32x8 |
8x8x4 |
4x8x4 |
4x4x8 |
4x2x4 |
8x2x4 |
|||
2x8x8 |
4x4x8 |
4x2x8 |
||||||
4x8x8 |
||||||||
2x16x8 |
||||||||
4x16x8 |
Matrix Multiplication modes for complex types
c16b x 16b |
c16b x c16b |
c32b x c16b |
c32b x c32b |
|---|---|---|---|
2x4x8 |
1x4x8 |
1x2x4 |
1x2x8 |
4x4x4 |
1x2x8 |
||
2x2x8 |
|||
1x4x8 |
|||
2x4x8 |