IP Library Granted Patent US 11,816,483
Granted Patent B2
US 11,816,483 · App. 15/859,268 · Granted Nov 14, 2023

Systems, methods, and apparatuses for matrix operations

Inventors: Raanan Sade (Kibutz Sarid, IL); Simon Rubanovich (Haifa, IL); Amit Gradstein (Binyamina, IL); Zeev Sperber (Zichron Yackov, IL); Alexander Heinecke (San Jose, CA); Robert Valentine (Kiryat Tivon, IL); Mark J. Charney (Lexington, MA); Bret Toll (Hillsboro, OR); Jesus Corbal (King City, OR); Elmoustapha Ould-Ahmed-Vall (Chandler, AZ); Menachem Adelman (Haifa, IL)
Assignee: Intel Corporation
G06F9/30036G06F9/30101G06F17/16
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 11,816,483
App. No.
15/859,268
Granted
Nov 14, 2023
Kind
B2
Abstract

Embodiments detailed herein relate to matrix (tile) operations. For example, decode circuitry to decode an instruction having fields for an opcode and a memory address, and execution circuitry to execute the decoded instruction to store configuration information about usage of storage for two-dimensional data structures at the memory address.

Claims (28)

1. An apparatus comprising:

decode circuitry configured to decode at least an instance of a single instruction having an opcode and memory location information, wherein the opcode is to indicate execution circuitry is to retrieve configuration information about how storage of the apparatus was configured as two-dimensional data structures to be used by execution circuitry configured to perform two-dimensional matrix operations and store the retrieved configuration information as description data at a memory location to be identified from the memory location information, wherein the description data is to include a first byte to store a palette identifier, a second byte to store a value to indicate a row to be used to restart, wherein the value to indicate a row to be used to restart is to be retrieved from a first register, and a third byte is to store a value to indicate a position of the row to be used to restart, wherein the value to indicate a position of the row to be used to restart is to be retrieved from a second register;

execution circuitry, in response to the decoded instance of the single instruction, to be configured to execute the decoded instance of the single instruction according to the opcode.

2. The apparatus of claim 1 , wherein the storage is a plurality of packed data registers and the two-dimensional data structures are overlaid on the plurality of packed data registers.

3. The apparatus of claim 1 , wherein the storage is a plurality of packed data registers and memory, and the two-dimensional data structures are overlaid on the plurality of packed data registers and memory.

4. The apparatus of claim 1 , wherein the memory location is to be accessed using information to be stored in a scale-index-base format.

5. The apparatus of claim 1 , wherein the description data comprises: an index into a table which is to store a number of bytes in a two-dimensional data structure, and bytes per row of the two-dimensional data structure and indications of a number of rows and columns per two-dimensional data structure.

6. The apparatus of claim 5 , wherein the description data is to further comprise an indication of pairs two-dimensional data structures.

7. The apparatus of claim 1 , wherein the description data is retrieved from at least one register of the apparatus.

8. A method comprising:

decoding an instance of a single instruction having an opcode and memory location information, wherein the opcode is to indicate an execution of the decoded instruction is to cause retrieving of the configuration information about how storage of the apparatus was configured as two-dimensional data structures to be used by execution circuitry configured to perform two-dimensional matrix operations and store the retrieved configuration information as description data at a memory location to be identified from the memory location information, wherein the description data is to include a first byte to store a palette identifier, a second byte to store a value to indicate a row to be used to restart, wherein the value to indicate a row to be used to restart is to be retrieved from a first register, and a third byte is to store a value to indicate a position of the row to be used to restart, wherein the value to indicate a position of the row to be used to restart is to be retrieved from a second register;

executing the decoded instruction according to the opcode.

9. The method of claim 8 , wherein the storage is a plurality of packed data registers and the two-dimensional data structures are overlaid on the plurality of packed data registers.

10. The method of claim 8 , wherein the storage is a plurality of packed data registers and memory, and the two-dimensional data structures are overlaid on the plurality of packed data registers and memory.

11. The method of claim 8 , wherein the memory location is accessed using information stored in a scale-index-base format.

12. The method of claim 8 , wherein the description data comprises:

an index into a table which is to store a number of bytes in a two-dimensional data structure, and bytes per row of the two-dimensional data structure and indications of a number of rows and columns per two-dimensional data structure.

13. The method of claim 12 , wherein the description data is to further comprise an indication of pairs two-dimensional data structures.

14. The method of claim 8 , wherein the description data is retrieved from at least one register of the apparatus.

15. A non-transitory machine readable medium storing an at least an instance of a single instruction, wherein a processor upon encountering the instance of the single instruction is to perform a method comprising:

decoding the instance of the single instruction having an opcode and memory location information, wherein the opcode is to indicate an execution of the decoded instruction is to cause retrieving configuration information about how storage of the apparatus was configured as two-dimensional data structures to be used by execution circuitry configured to perform two-dimensional matrix operations and store the retrieved configuration information as description data at a memory location to be identified from the memory location information, wherein the description data is to include a first byte to store a palette identifier, a second byte to store a value to indicate a row to be used to restart, wherein the value to indicate a row to be used to restart is to be retrieved from a first register, and a third byte is to store a value to indicate a position of the row to be used to restart, wherein the value to indicate a position of the row to be used to restart is to be retrieved from a second register; and

executing the decoded instruction according to the opcode.

16. The non-transitory machine readable medium of claim 15 , wherein the storage is a plurality of packed data registers and the two-dimensional data structures are overlaid on the plurality of packed data registers.

17. The non-transitory machine readable medium of claim 15 , wherein the storage is a plurality of packed data registers and memory, and the two-dimensional data structures are overlaid on the plurality of packed data registers and memory.

18. The non-transitory machine readable medium of claim 15 , wherein the memory location is accessed using information stored in a scale-index-base format.

19. The non-transitory machine readable medium of any of claim 15 , wherein the description data comprises: an index into a table which is to store a number of bytes in a two-dimensional data structure, and bytes per row of the two-dimensional data structure and indications of a number of rows and columns per two-dimensional data structure.

20. The non-transitory machine readable medium of claim 19 , wherein the description data is to further comprise an indication of pairs two-dimensional data structures.

21. The apparatus of claim 1 , wherein 64 bytes are to be written to memory.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2018
From: ADELMAN, MENACHEM
To: INTEL CORPORATION
Reel/Frame 047728/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2018
From: TOLL, BRET; CORBAL, JESUS; OULD-AHMED-VALL, ELMOUSTAPHA
To: INTEL CORPORATION
Reel/Frame 047514/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2018
From: SADE, RAANAN; RUBANOVICH, SIMON; GRADSTEIN, AMIT; SPERBER, ZEEV; HEINECKE, ALEXANDER; VALENTINE, ROBERT; CHARNEY, MARK J.
To: INTEL CORPORATION
Reel/Frame 045462/0094 →
Continuity (1)
Related Publication 20190042540A1 · Feb 7, 2019
Cited By (7)
US 12,236,242 US 12,260,213 US 12,282,525 US 12,282,773 US 12,314,717 US 12,536,020 US 12,650,839