IP Library Granted Patent US 10,621,088
Granted Patent B2
US 10,621,088 · App. 15/525,033 · Granted Apr 14, 2020

Apparatus and method to improve memory access performance between shared local memory and system global memory

Inventors: Jianghong Du (Shanghai, CN); Yong Jiang (Shanghai, CN); Lei Shen (Shanghai, CN); Yuanyuan Li (Shanghai, CN)
Assignee: Intel Corporation
G06F12/0804G06F12/023G06F12/0284G06F2212/1024G06F2212/302
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,621,088
App. No.
15/525,033
Granted
Apr 14, 2020
Kind
B2
Abstract

An apparatus, method and machine-readable storage medium to improve memory access performance between shared local memory and system global memory are described. The method comprises grouping two or more work groups to form a super workgroup, and positioning a portion of a memory space into one or more super shared local memories (Super SLMs), wherein the memory space which is shared within the super workgroup forms at least one Super SLM of the one or more Super SLMs. The apparatus comprises: a plurality of execution units; a cache memory having a portion which operates as a shared local memory (SLM), which is shared with the plurality of execution units, at least one of which operates on a work group of a sub-slice, wherein the SLM is shared within the work group; and at least one Super-SLM for providing shared memory accessible by different work groups in the sub-slice, wherein the at least one of the execution units operates on the different work groups. A last work group may write data back to a system global memory (SGM) from a Super-SLM.

Claims (33)

1. A non-transitory machine readable storage medium having instructions stored thereon, that when executed, cause a processor to perform a method comprising:

grouping two or more work groups to form a super-workgroup, wherein the number of work groups forming the super-workgroup is a dynamic number, which is not a fixed number of workgroups during operation; and

partitioning a portion of a memory space into one or more super-shared local memories (Super-SLMs), wherein memory space, which is shared within the super-workgroup forms at least one Super-SLM of the one or more Super-SLMs.

2. The non-transitory machine readable storage medium of claim 1 having further instructions stored thereon that when executed cause the processor to perform the method comprising: writing data to a global memory by the super-workgroup.

3. The non-transitory machine readable storage medium of claim 1 , wherein at least one work group includes a plurality of work items.

4. The non-transitory machine readable storage medium of claim 3 , wherein memory space within a work group from among the two or more work groups comprises a shared local memory (SLM).

5. The non-transitory machine readable storage medium of claim 4 , wherein the SLM is separate from the super-SLM.

6. The non-transitory machine readable storage medium of claim 4 , wherein the SLM is a subset of the super-SLM.

7. The non-transitory machine readable storage medium of claim 1 having further instructions that when executed cause the processor to perform a further method which comprises: determining, for the super-workgroup, a last work group in a sub-slice.

8. The non-transitory machine readable storage medium of claim 7 having further instructions that when executed cause the processor to further perform a method which comprises: generating the last work group when all other work groups in the super-workgroup complete their operations.

9. The non-transitory machine readable storage medium of claim 7 having further instructions that when executed cause the processor to further perform a method which comprises: writing, by the last work group, data back to a global memory from the Super-SLM.

10. The non-transitory machine readable storage medium of claim 1 , wherein the portion of the memory space is at least one of: a cache; a First-in-First-Out (FIFO); or a logical partitioned memory.

11. The non-transitory machine readable storage medium of claim 1 , wherein the work groups that form the super-workgroup is generated by a scheduler.

12. The non-transitory machine readable storage medium of claim 1 , wherein the dynamic number of work groups depends on a number of workgroups in a sub-slice.

13. The non-transitory machine readable storage medium of claim 1 , wherein the dynamic number of work groups depends on when a last workgroup is determined or generated.

14. An apparatus comprising:

a plurality of execution units;

a cache memory having a portion which operates as a shared local memory (SLM), which is shared with the plurality of execution units, at least one of the execution units being configured to operate on a work group of a sub-slice, wherein the SLM is shared within the work group; and

at least one Super-SLM to provide shared memory accessible by a number of different work groups in the sub-slice, wherein the at least one of the execution units is configured to operate on the different work groups, wherein the different work groups are grouped to form a super-workgroup, and wherein the number of the different work groups that forms a super-work group is a dynamic number of work groups, which is not a fixed number of workgroups during operation.

15. The apparatus of claim 14 , wherein the super-workgroup is configured to write data to a global memory of the apparatus.

16. The apparatus of claim 14 further comprising a scheduler to determine, for the super-workgroup, a last work group in a sub-slice.

17. The apparatus of claim 16 , wherein the scheduler is operable to service the last work group when all other work groups in the super-workgroup complete their operations.

18. The apparatus of claim 16 wherein the last work group is configured to write data back to a global memory from the Super-SLM.

19. The apparatus of claim 14 , wherein the Super-SLM comprises a super set of the SLM.

20. A system comprising:

an input/output (I/O) interface;

a memory;

a graphics processor coupled to the memory via the I/O interface, the graphics processor including:

a plurality of execution units;

a cache memory having a portion which operates as a shared local memory (SLM), which is shared with the plurality of execution units, at least one of the execution units being configured to operate on a work group of a sub-slice, wherein the SLM is shared within the work group; and

at least one Super-SLM to provide shared memory accessible by different work groups in the sub-slice, wherein the at least one of the execution units is configured to operate on the different work groups, wherein the number of the different work groups that forms a super workgroup is a dynamic number of work groups, which is not a fixed number of workgroups during operation; and

a wireless interface to allow the graphics processor to communicate with another device.

21. The system of claim 20 , wherein the I/O interface comprises a Double Data Rate (DDR) compliant interface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODU CT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072915/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: DU, JIANGHONG; JIANG, YONG; SHEN, LEI; LI, YUANYUAN
To: INTEL CORPORATION
Reel/Frame 044028/0869 →
Continuity (1)
Related Publication 20170364440A1 · Dec 21, 2017