IP Library › Granted Patent US 11,847,452
Granted Patent B2
US 11,847,452 · App. 17/360,562 · Granted Dec 19, 2023

Systems, methods, and apparatus for tile configuration

Inventors: Menachem Adelman (Haifa, IL); Robert Valentine (Kiryat Tivon, IL); Zeev Sperber (Zikhron Yaakov, IL); Mark J. Charney (Lexington, MA); Bret L. Toll (Hillsboro, OR); Rinat Rappoport (Haifa, IL); Jesus Corbal (King City, OR); Dan Baum (Haifa, IL); Alexander F. Heinecke (San Jose, CA); Elmoustapha Ould-Ahmed-Vall (Chandler, AZ); Yuri Gebil (Nahariya, IL); Raanan Sade (Kibutz Sarid, IL)
Assignee: Intel Corporation
G06F9/30036G06F7/485G06F7/4876G06F7/762G06F9/3001G06F9/3016G06F9/30032G06F9/30043G06F9/30109G06F9/30112G06F9/30134G06F9/30145G06F9/30149G06F9/30185G06F9/30196G06F9/3818G06F9/3836G06F17/16G06F2212/454
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,847,452
App. No.
17/360,562
Granted
Dec 19, 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 set a tile configuration for the processor to utilize tiles in matrix operations based on a description retrieved from the memory address, wherein a tile a set of 2-dimensional registers are discussed.

Claims (28)

1. A processor comprising:

decode circuitry to decode an instance of a single instruction having fields for an opcode and a memory address; and

execution circuitry to execute the decoded instance of the single instruction to set a tile configuration for the processor to utilize tiles in arithmetic or Boolean matrix operations based on a description retrieved from the memory address, wherein a tile is a set of 2-dimensional registers.

2. The processor of claim 1 , wherein the configuration comprises a palette identifier and details regarding a number of rows and columns per tile of the palette, wherein up to 8 tiles are to be detailed.

3. The processor of claim 2 , wherein the palette identifier is an index into a palette table defining a number of bytes per tile and bytes per row of the tile.

4. The processor of claim 1 , wherein the configuration is stored in a single packed data register.

5. The processor of claim 1 , wherein the configuration is stored in a plurality of packed data registers, one packed data register per configured tile.

6. The processor of claim 1 , wherein the execution circuitry to general a fault upon a value of a number of rows for a tile being zero and a number of columns for the row being non-zero.

7. The processor of claim 1 , wherein the description is 64 bytes in size.

8. A method comprising:

decoding an instance of a single instruction having fields for an opcode and a memory address; and

executing the decoded instance of the single instruction to set a tile configuration for a processor to utilize tiles in matrix operations based on a description retrieved from the memory address, wherein a tile is a set of 2-dimensional registers.

9. The method of claim 8 , wherein the configuration comprises a palette identifier and details regarding a number of rows and columns per tile of the palette.

10. The method of claim 9 , wherein the palette identifier is an index into a palette table defining a number of bytes per tile and bytes per row of the tile.

11. The method of claim 8 , wherein the configuration is stored in a single packed data register.

12. The method of claim 8 , wherein the configuration is stored in a plurality of packed data registers, one packed data register per configured tile.

13. The method of claim 8 , further comprising:

faulting upon a value of a number of rows for a tile being zero and a number of columns for the row being non-zero.

14. The method of claim 8 , wherein the description is 64 bytes in size.

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

decoding the instance of the single instruction having fields for an opcode and a memory address; and

executing the decoded instance of the single instruction to set a tile configuration for the processor to utilize tiles in arithmetic or Boolean matrix operations based on a description retrieved from the memory address, wherein a tile is a set of 2-dimensional registers.

16. The non-transitory machine-readable medium of claim 15 , wherein the configuration comprises a palette identifier and details regarding a number of rows and columns per tile of the palette.

17. The non-transitory machine-readable medium of claim 16 , wherein the palette identifier is an index into a palette table defining a number of bytes per tile and bytes per row of the tile.

18. The non-transitory machine-readable medium of claim 15 , further comprising:

faulting upon a value of a number of rows for a tile being zero and a number of columns for the row being non-zero.

19. The processor of claim 1 , wherein bytes 2-15 of the description are zero.

20. The processor of claim 1 , wherein the description is further to indicate a row of a tile to be used to restart a matrix operation.

Continuity (3)
Continuation 16487777
Provisional Application 62473732 · Mar 20, 2017
Related Publication 20220043652A1 · Feb 10, 2022
Cited By (5)
US 12,260,213 US 12,282,773 US 12,314,717 US 12,536,020 US 12,650,839