IP Library › Granted Patent US 10,534,838
Granted Patent B2
US 10,534,838 · App. 15/721,529 · Granted Jan 14, 2020

Bit matrix multiplication

Inventors: Dmitry Y. Babokin (Santa Clara, CA); Kshitij A. Doshi (Tempe, AZ); Vadim Sukhomlinov (Santa Clara, CA)
Assignee: Intel Corporation
G06F17/16G06F9/3001G06F9/30029G06F9/30036
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,534,838
App. No.
15/721,529
Granted
Jan 14, 2020
Kind
B2
Abstract

Detailed are embodiments related to bit matrix multiplication in a processor. For example, in some embodiments a processor comprising: decode circuitry to decode an instruction have fields for an opcode, an identifier of a first source bit matrix, an identifier of a second source bit matrix, an identifier of a destination bit matrix, and an immediate; and execution circuitry to execute the decoded instruction to perform a multiplication of a matrix of S-bit elements of the identified first source bit matrix with S-bit elements of the identified second source bit matrix, wherein the multiplication and accumulation operations are selected by the operation selector and store a result of the matrix multiplication into the identified destination bit matrix, wherein S indicates a plural bit size is described.

Claims (27)

1. A processor comprising:

decode circuitry to decode an instruction have fields for an opcode, an identifier of a first source multi-dimensional bit matrix, an identifier of a second source multi-dimensional bit matrix, an identifier of a destination multi-dimensional bit matrix, and an immediate; and

execution circuitry to execute the decoded instruction according to the opcode to perform a bit matrix multiplication of the identified first source multi-dimensional bit matrix with the identified second source multi-dimensional bit matrix, wherein the bit matrix multiplication comprises multiplication and accumulation operations, and circuits to perform the multiplication and accumulation operations are selected by an operation selector as provided by the immediate and store a result of the bit matrix multiplication into the identified destination multi-dimensional bit matrix.

2. The processor of claim 1 , wherein the immediate is an 8-bit immediate.

3. The processor of claim 1 , wherein four bits of the immediate are used to select the accumulation operation of the group of exclusive OR (XOR), AND, OR, and NOR.

4. The processor of claim 1 , wherein four bits of the immediate are used to select the multiplication operation of the group of exclusive OR (XOR), AND, OR, and NOR.

5. The processor of claim 1 , wherein the identified first source multi-dimensional bit matrix is an 8×8 bit matrix and the identified second source multi-dimensional bit matrix is an 8×64 bit matrix.

6. The processor of claim 1 , wherein the identified first source multi-dimensional bit matrix is an 64×8 bit matrix and the identified second source multi-dimensional bit matrix is an 8×8 bit matrix.

7. The processor of claim 1 , wherein the identified first source multi-dimensional bit matrix is an 8×64 bit matrix and the identified second source multi-dimensional bit matrix is an 64×64 bit matrix.

8. The processor of claim 1 , wherein the identified second source multi-dimensional bit matrix is stored in memory.

9. The processor of claim 1 , wherein the identified first source multi-dimensional bit matrix is an 64×8 bit matrix and the identified second source multi-dimensional bit matrix is an 64×8 bit matrix.

10. The processor of claim 1 , wherein the identified first source bit matrix is stored in memory.

11. The processor of claim 1 , wherein the bit matrix multiplication, comprises: for each bit position in the destination, multiply a value from each bit position of a corresponding row in the identified first source multi-dimensional bit matrix by a value of corresponding bit position of a corresponding column in the identified second source multi-dimensional bit matrix, accumulate each of the multiplications, and store a result of the accumulate.

12. A processor comprising:

decode circuitry to decode an instruction have fields for an opcode, an identifier of a first source multi-dimensional bit matrix, an identifier of a second source multi-dimensional bit matrix, an identifier of a destination multi-dimensional bit matrix, and an immediate; and

execution circuitry to execute the decoded instruction to perform a multiplication of a matrix of S-bit elements of the identified first source multi-dimensional bit matrix with S-bit elements of the identified second source multi-dimensional bit matrix, wherein the bit matrix multiplication comprises multiplication and accumulation operations, and circuits to perform the multiplication and accumulation operations are selected by the operation selector as provided by the immediate and store a result of the matrix multiplication into the identified destination multi-dimensional bit matrix, wherein S indicates a plural bit size.

13. The processor of claim 12 , wherein S indicates a bit size of 1, 2, 4, or 8.

14. The processor of claim 12 , wherein the immediate is an 8-bit immediate.

15. The processor of claim 12 , wherein four bits of the immediate are used to select the accumulation operation of the group of exclusive OR (XOR), AND, OR, and NOR.

16. The processor of claim 12 , wherein four bits of the immediate are used to select the multiplication operation of the group of exclusive OR (XOR), AND, OR, and NOR.

17. The processor of claim 12 , wherein the identified first source multi-dimensional bit matrix is an 8×8 bit matrix and the identified second source multi-dimensional bit matrix is an 8×64 bit matrix.

18. The processor of claim 12 , wherein the identified first source multi-dimensional bit matrix is an 64×8 bit matrix and the identified second source multi-dimensional bit matrix is an 8×8 bit matrix.

19. The processor of claim 12 , wherein the identified first source multi-dimensional bit matrix is an 8×64 bit matrix and the identified second source multi-dimensional bit matrix is an 64×64 bit matrix.

20. The processor of claim 12 , wherein the identified second source multi-dimensional bit matrix is stored in memory.

21. The processor of claim 12 , wherein the identified first source multi-dimensional bit matrix is an 64×8 bit matrix and the identified second source multi-dimensional bit matrix is an 64×8 bit matrix.

22. The processor of claim 12 , wherein the identified first source multi-dimensional bit matrix is stored in memory.

23. The processor of claim 12 , wherein the bit matrix multiplication, comprises: for each S-bit position group in the destination, multiply a S-bit group value each S-bit position group of a corresponding row in the identified first source multi-dimensional bit matrix by a value of corresponding S-bit position group of a corresponding column in the identified second source multi-dimensional bit matrix, accumulate each of the multiplications, and store a result of the accumulate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2018
From: BABOKIN, DMITRY Y.; DOSHI, KSHITIJ A.; SUKHOMLINOV, VADIM
To: INTEL CORPORATION
Reel/Frame 046182/0009 →
Continuity (1)
Related Publication 20190102357A1 · Apr 4, 2019