IP Library Granted Patent US 11,809,869
Granted Patent B2
US 11,809,869 · App. 15/858,937 · Granted Nov 7, 2023

Systems and methods to store a tile register pair to memory

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 (Chander, AZ); Menachem Adelman (Haifa, IL)
Assignee: Intel Corporation
G06F9/30145G06F9/30036G06F9/30043
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,809,869
App. No.
15/858,937
Granted
Nov 7, 2023
Kind
B2
Abstract

Embodiments detailed herein relate to systems and methods to store a tile register pair to memory. In one example, a processor includes: decode circuitry to decode a store matrix pair instruction having fields for an opcode and source and destination identifiers to identify source and destination matrices, respectively, each matrix having a PAIR parameter equal to TRUE; and execution circuitry to execute the decoded store matrix pair instruction to store every element of left and right tiles of the identified source matrix to corresponding element positions of left and right tiles of the identified destination matrix, respectively, wherein the executing stores a chunk of C elements of one row of the identified source matrix at a time.

Claims (39)

1. A processor comprising:

decode circuitry configured to decode a single store matrix pair instruction specifying an opcode, a first source matrix identifier, and a destination identifier; and

the execution circuitry configured to execute the decoded store matrix pair instruction as per the opcode to:

determine that a pair of matrices are to be stored to memory based on a value, the pair of matrices including a first two-dimensional source matrix and a second two-dimensional source matrix; and

store elements from element positions of the first two-dimensional source matrix to corresponding element positions of a first two-dimensional destination matrix in the memory, and store elements from element positions of the second two-dimensional source matrix to corresponding element positions of a second two-dimensional destination matrix in the memory, in response to the determination that the pair of matrices are to be stored to the memory based on the value.

2. The processor of claim 1 , wherein the opcode defines a size of each element of the pair of source matrices and the destination.

3. The processor of claim 2 , wherein the size of each element of is a doubleword.

4. The processor of claim 2 , wherein the size of each element of is a word.

5. The processor of claim 1 , wherein the pair of source matrices are each a plurality of registers to represent a matrix.

6. The processor of claim 1 , wherein the execution circuitry is to fault upon a determination of at least one of:

a number of configured tiles equals zero,

a pair indicator of the identified source matrix is not set to TRUE, and

a VALID parameter of at least one of the identified source matrix is not set to TRUE.

7. A system comprising:

a processor; and

an accelerator coupled to the processor, the accelerator including:

decode circuitry configured to decode a single store matrix pair instruction specifying an opcode, a first source matrix identifier, and a destination identifier; and

the execution circuitry configured to execute the decoded store matrix pair instruction as per the opcode to:

determine that a pair of matrices are to be stored to memory based on a value, the pair of matrices including a first two-dimensional source matrix and a second two-dimensional source matrix; and

store elements from element positions of the first two-dimensional source matrix to corresponding element positions of a first two-dimensional destination matrix in the memory, and store elements from element positions of the second two-dimensional source matrix to corresponding element positions of a second two-dimensional destination matrix in the memory, in response to the determination that the pair of matrices are to be stored to the memory based on the value.

8. The system of claim 7 , wherein the opcode defines a size of each element.

9. An apparatus comprising:

a plurality of memory controllers;

a processor coupled to the plurality of memory controllers, the processor having a plurality of cores, including a core to perform operations corresponding to an instruction, including to:

determine that a pair of matrices are to be stored to memory based on a value, the pair of matrices including a first two-dimensional source matrix and a second two-dimensional source matrix; and

store elements from element positions of the first two-dimensional source matrix to corresponding element positions of a first two-dimensional destination matrix in the memory, and store elements from element positions of the second two-dimensional source matrix to corresponding element positions of a second two-dimensional destination matrix in the memory, in response to the determination that the pair of matrices are to be stored to the memory based on the value.

10. The apparatus of claim 9 , wherein the core is to store every element of the first two-dimensional source matrix to the first two-dimensional destination matrix, and is to store every element of the second two-dimensional source matrix to the second two-dimensional destination matrix.

11. The apparatus of claim 9 , wherein the first and second two-dimensional destination matrices are next to one another in the memory.

12. The apparatus of claim 9 , wherein the first two-dimensional source matrix and the second two-dimensional source matrix are each stored in a plurality of registers of the processor.

13. The apparatus of claim 9 , wherein the first and second two-dimensional source matrices each have eight rows.

14. The apparatus of claim 9 , wherein the instruction has a field to specify a size of the elements of the first two-dimensional source matrix.

15. The apparatus of claim 9 , wherein the elements of the first two-dimensional source matrix are 16-bit elements.

16. The apparatus of claim 9 , wherein the plurality of cores comprise graphics cores.

17. The apparatus of claim 9 , wherein the plurality of cores are heterogeneous.

18. The apparatus of claim 9 , wherein the plurality of cores are heterogeneous graphics cores.

19. The apparatus of claim 9 , further comprising an instruction converter to convert the instruction into one or more instructions of a different instruction set executable by the core.

20. The apparatus of claim 9 , wherein the core is to store the elements from the element positions of each row of the first two-dimensional source matrix to the corresponding element positions of the first two-dimensional destination matrix, and is to store the elements from the element positions of each row of the second two-dimensional source matrix to the corresponding element positions of the second two-dimensional destination matrix.

21. The apparatus of claim 9 , further comprising a bus interface coupled to the processor.

22. The apparatus of claim 9 , further comprising an interconnect interface coupled to the processor.

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