Patent ID: 11928176
Assignee: ARM LIMITED
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 3:
4. A system, comprising:
a processor coupled to a memory; and
a matrix multiply accelerator (MMA) having an array of processing engines (PEs) each having a single multiplier circuit, coupled to the processor, configured to:
generate a bitmap based on a first matrix having a plurality of elements; and
compress the first matrix into a compressed first matrix having fewer elements than the first matrix;
multiply, based on the bitmap, the compressed first matrix and a second matrix to generate an output matrix over a number of calculation cycles based upon a sparsity ratio of the first matrix before compression, from which the compressed first matrix is derived, the bitmap including a plurality of bit positions, each bit position corresponding to a different element of the first matrix, said multiply including:
for each element i,j of the output matrix, calculate a dot product of an ith row of the compressed first matrix and a ith column of the second matrix based on the bitmap; or

multiply, based on the bitmap, the second matrix and the compressed first matrix and to generate the output matrix over a number of calculation cycles based upon the sparsity ratio of the first matrix before compression, from which the compressed first matrix is derived, said multiply including:
for each element i,j of the output matrix, calculate a dot product of an ith row of the second matrix and a jth column of the compressed first matrix based on the bitmap,

where the MMA includes:
a scalar register to store the bitmap;
a first vector register to store the compressed first matrix;
a second vector register to store the second matrix;
an output vector register to store the output matrix; and,
with each PE of the array of PEs coupled to the scalar register, the first vector register, the second vector register and the output vector register, and each PE configured to calculate the dot product for a different element of the output matrix.