Matrix computation engine
First Claim
Patent Images
1. An apparatus comprising:
- a processor configured to fetch a matrix computation instruction; and
a matrix computation engine coupled to the processor, wherein;
the matrix computation engine is configured to perform a matrix multiplication operation in response to the matrix computation instruction;
the matrix computation engine comprises at least two input memories configured to store input vectors of matrices for the matrix multiplication operation and an output memory configured to accumulate an output vector of matrices; and
the matrix computation engine comprises a multiply accumulation (MAC) circuit configured to perform the matrix multiplication operation on the input vectors of matrices, generating the output vector of matrices for the output memory.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, a matrix computation engine is configured to perform matrix computations (e.g. matrix multiplications). The matrix computation engine may perform numerous matrix computations in parallel, in an embodiment. More particularly, the matrix computation engine may be configured to perform numerous multiplication operations in parallel on input matrix elements, generating resulting matrix elements. In an embodiment, the matrix computation engine may be configured to accumulate results in a result memory, performing multiply-accumulate operations for each matrix element of each matrix.
25 Citations
20 Claims
-
1. An apparatus comprising:
-
a processor configured to fetch a matrix computation instruction; and a matrix computation engine coupled to the processor, wherein; the matrix computation engine is configured to perform a matrix multiplication operation in response to the matrix computation instruction; the matrix computation engine comprises at least two input memories configured to store input vectors of matrices for the matrix multiplication operation and an output memory configured to accumulate an output vector of matrices; and the matrix computation engine comprises a multiply accumulation (MAC) circuit configured to perform the matrix multiplication operation on the input vectors of matrices, generating the output vector of matrices for the output memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A matrix computation engine comprising:
-
a circuit configured to perform a matrix multiplication operation on a first vector operand and a second vector operand, producing a resulting output vector; a first operand memory coupled to the circuit, wherein the first operand memory is configured to store the first vector operand, wherein the first vector operand includes a first plurality of matrices having matrix elements of a first size; a second operand memory coupled to the circuit, wherein the second operand memory is configured to store a second vector operand, wherein the second vector operand includes a second plurality of matrices; wherein the circuit is configured to perform matrix multiplication operations on matrix elements having a second size greater than the first size; and the matrix computation engine includes a lookup table to map the matrix elements of the first plurality of matrices to the second size. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A matrix computation engine comprising:
-
a first operand memory configured to store a first plurality of matrices; a second operand memory configured to store a second plurality of matrices; and a plurality of multiply-accumulate circuits coupled to the first operand memory and the second operand memory, wherein each multiply-accumulate circuit of the plurality of multiply accumulate circuits is configured to multiply a respective matrix element of the first plurality of matrices and a corresponding matrix element of the second plurality of matrices. - View Dependent Claims (19, 20)
-
Specification