技术新讯 > 计算推算,计数设备的制造及其应用技术 > 用于分派的高速缓存阻塞的制作方法  >  正文

用于分派的高速缓存阻塞的制作方法

  • 国知局
  • 2024-09-11 14:36:47

背景技术:

1、并行处理单元诸如图形处理单元(gpu)和其他多线程处理单元通常实施同时对多个数据集执行单个程序的多个实例的多个处理元件(其也被称为处理器核心或计算单元)。例如,处理元件可实施单指令多数据(simd)协议以利用多个处理器核心对多个数据集同时执行相同指令。

2、分层执行模型定义使用不同数据集执行的指令的内核。例如,对应于(例如,显示器的像素)的工作项(本文中也称为线程或流)的网格的分派访问存储在并行处理单元的高速缓存处的数据集。通过连续分派来修改和读取诸如表面或纹理的一些数据集。例如,被称为生产者分派的第一分派将数据写入高速缓存,并且被称为消耗者/生产者分派的后续分派读取和修改由生产者分派写入的数据。消耗者分派读取由先前分派写入的数据。然而,可存储在高速缓存处的数据量受高速缓存的大小约束,并且由生产者分派产生的数据量经常超过高速缓存的存储容量,从而导致高速缓存的“抖动”。此类数据通常在其可由后续分派读取之前从高速缓存中逐出。

技术实现思路

1、在一个示例中,一种方法包括:执行工作项的第一分派的第一部分,该第一分派的第一部分将数据写入到高速缓存,该第一分派包括第一多个部分。由该第一分派的第一部分写入到高速缓存的数据量不超过高速缓存的存储容量。响应于工作项的第一分派的第一部分完成执行,该方法还包括:执行工作项的第二分派的第一部分,该第二分派的第一部分读取由第一分派的第一部分写入到高速缓存的数据,该第二分派包括第二多个部分。

2、在一些示例中,该方法还包括:响应于工作项的第二分派的第一部分完成执行而执行工作项的第三分派的第一部分,该第三分派的第一部分读取由第一分派的第一部分和第二分派的第一部分中的至少一者写入到高速缓存的数据。该第三分派包括第三多个部分。在一些示例中,该方法还包括:响应于工作项的第二分派的第一部分完成执行而执行工作项的第一分派的第二部分,该第一分派的第二部分将数据写入到高速缓存。

3、在一些示例中,该方法还包括:响应于工作项的第一分派的第二部分完成执行而执行工作项的第二分派的第二部分,该第二分派的第二部分读取由第一分派的第一部分和第一分派的第二部分中的至少一者写入到高速缓存的数据。在一些示例中,工作项的第一分派的第一部分大于工作项的第二分派的第一部分。

4、在一些示例中,该方法还包括:将工作项的第一分派划分成第一多个部分以及将工作项的第二分派划分成第二多个部分。在一些示例中,第一多个部分和第二多个部分的大小不均匀。

5、在另一示例中,一种方法包括:将工作项的第一分派划分成第一多个部分,该第一分派将数据写入到高速缓存;将工作项的第二分派划分成第二多个部分,该第二分派从高速缓存读取由第一分派写入的数据;以及将第一多个部分的执行与第二多个部分的执行交织。在一些示例中,该方法还包括:将工作项的第三分派划分成第三多个部分,该第三分派从高速缓存读取由第一分派和第二分派中的至少一者写入的数据,并且将第三多个部分的执行与第一多个部分的执行和第二多个部分的执行交织。

6、在一些示例中,第一多个部分的第一部分大于第二多个部分的第一部分。在一些示例中,由第一多个部分的第一部分写入到高速缓存的数据量不超过高速缓存的存储容量。在一些示例中,第一多个部分和第二多个部分的大小不均匀。在一些示例中,交织包括:执行第一多个部分的第一部分,并且响应于第一多个部分的第一部分完成执行,执行第二多个部分的第一部分。

7、在另一示例中,一种设备包括高速缓存和处理器,该处理器被配置为:执行工作项的第一分派的第一部分,该第一分派的第一部分将数据写入到高速缓存,其中该第一分派包括第一多个部分,并且由第一分派的第一部分写入到高速缓存的数据量不超过高速缓存的存储容量。该处理器被配置为:响应于工作项的第一分派的第一部分完成执行而执行工作项的第二分派的第一部分,该第二分派的第一部分读取由第一分派的第一部分写入到高速缓存的数据,其中第二分派包括第二多个部分。

8、在一些示例中,该处理器还被配置为:响应于工作项的第二分派的第一部分完成执行而执行工作项的第三分派的第一部分,该第三分派的第一部分读取由第一分派的第一部分和第二分派的第一部分中的至少一者写入到高速缓存的数据,其中第三分派包括第三多个部分。在一些示例中,处理器还被配置为:响应于工作项的第二分派的第一部分完成执行而执行工作项的第一分派的第二部分,该第一分派的第二部分将数据写入到高速缓存。

9、在一些示例中,该处理器还被配置为:响应于工作项的第一分派的第二部分完成执行而执行工作项的第二分派的第二部分,该第二分派的第二部分读取由第一分派的第一部分和第一分派的第二部分中的至少一者写入到高速缓存的数据。在一些示例中,工作项的第一分派的第一部分大于工作项的第二分派的第一部分。

10、在一些示例中,该处理器还被配置为:将工作项的第一分派划分成第一多个部分以及将工作项的第二分派划分成第二多个部分。在一些示例中,第一多个部分和第二多个部分的大小不均匀。

技术特征:

1.一种方法,所述方法包括:

2.根据权利要求1所述的方法,所述方法还包括:

3.根据权利要求1所述的方法,所述方法还包括:

4.根据权利要求3所述的方法,所述方法还包括:

5.根据权利要求1至4中任一项所述的方法,其中工作项的所述第一分派的所述第一部分大于工作项的所述第二分派的所述第一部分。

6.根据权利要求1至5中任一项所述的方法,所述方法还包括:

7.根据权利要求1至6中任一项所述的方法,其中所述第一多个部分和所述第二多个部分的大小不均匀。

8.一种方法,所述方法包括:

9.根据权利要求8所述的方法,所述方法还包括:

10.根据权利要求8至9中任一项所述的方法,其中所述第一多个部分的第一部分大于所述第二多个部分的第一部分。

11.根据权利要求10所述的方法,其中由所述第一多个部分的所述第一部分写入到所述高速缓存的数据量不超过所述高速缓存的存储容量。

12.根据权利要求8至11中任一项所述的方法,其中所述第一多个部分和所述第二多个部分的大小不均匀。

13.8至12中任一项所述的方法,其中交织包括:

14.一种设备,所述设备包括:

15.根据权利要求14所述的设备,其中所述处理器还用于以下操作:

16.根据权利要求14所述的设备,其中所述处理器还用于以下操作:

17.根据权利要求16所述的设备,其中所述处理器还用于以下操作:

18.根据权利要求14至17中任一项所述的设备,其中工作项的所述第一分派的所述第一部分大于工作项的所述第二分派的所述第一部分。

19.根据权利要求14至18中任一项所述的设备,其中所述处理器还用于以下操作:

20.根据权利要求14至19中任一项所述的设备,其中所述第一多个部分和所述第二多个部分的大小不均匀。

技术总结一种处理系统[100]将工作项的连续分派[135]划分成各部分[145]。该连续分派通过屏障[202]、[204]彼此分开,每个屏障指示前一分派的工作项必须在随后分派的工作项可以开始执行之前完成执行。在一些实施方案中,该处理系统将第一分派的各部分的执行与消耗由该第一分派产生的数据的后续分派的各部分的执行交织。该处理系统由此减少由生产者分派写入到本地高速缓存[120]的数据量,同时为后续消耗者(或消耗者/生产者)分派保留数据局部性并促进处理效率。技术研发人员:所罗伯·沙玛,哈希姆·哈希米,帕沃·佩西,米卡·托米,詹保罗·托马西,杰里米·卢卡奇,盖纳迪·里盖受保护的技术使用者:超威半导体公司技术研发日:技术公布日:2024/9/9

本文地址:https://www.jishuxx.com/zhuanli/20240911/291577.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。