CPC G06F 9/30178 (2013.01) [G06F 9/30036 (2013.01); G06F 9/3013 (2013.01); G06F 9/30145 (2013.01); G06F 9/3802 (2013.01)] | 18 Claims |
1. A system comprising:
a memory to store instructions;
execution circuitry to execute the instructions to perform operations to compress a first tile of a first source matrix to generate a first compressed tile, the first source matrix comprising a plurality of integer data elements and the first tile comprising a first subset of the integer data elements, wherein the first tile is to be compressed by packing one or more non-zero-valued integer data elements of the first subset of integer data elements over zero-valued integer data elements and storing a matrix position of the one or more non-zero-valued integer data element in an index; and
matrix multiplication circuitry to multiply the first compressed tile and a second tile of a second source matrix, the second tile comprising a second subset of integer data elements of the second source matrix, the matrix multiplication circuitry comprising:
a plurality of multiply-accumulate circuits to perform a plurality of fused multiply-add operations to multiply the second subset of integer data elements of the second source matrix by corresponding non-zero-valued integer data elements of the first source matrix identified based on the index to generate a plurality of products, and to add groups of the plurality of products to generate corresponding result data elements of a result matrix.
|