一种GPU缓存方法及装置、电子设备和存储介质制造方法及图纸

技术编号:37371874 阅读:14 留言:0更新日期:2023-04-27 07:16
本公开涉及计算机技术领域,公开了一种GPU缓存方法及装置、电子设备和存储介质,所述方法包括:获取GPU缓存配置请求,其中,所述GPU缓存配置请求中包括第一类型缓存行和第二类型缓存行之间的配置比例,所述第一类型缓存行用于缓存支持缓存替换的数据,所述第二类型缓存行用于缓存不执行缓存替换的数据;基于所述配置比例,对所述GPU缓存中的缓存行进行分类,得到具有所述配置比例的多个第一类型缓存行和多个第二类型缓存行。本公开实施例可以有效降低大量不变数据的读取延时,提高数据读取效率。率。率。

【技术实现步骤摘要】
一种GPU缓存方法及装置、电子设备和存储介质


[0001]本公开涉及计算机
,尤其涉及一种GPU缓存方法及装置、电子设备和存储介质。

技术介绍

[0002]在图像处理器(Graphics Processing Unit,GPU)内部通常存在多级缓存(cache),这种多级的缓存需要处理的数据往往具有较强的空间局部性和时间局部性。GPU内部的缓存主要用来加速图像数据的处理,在GPU流水线(pipeline)中,通过多级的缓存结构可以加速访问由GPU图像处理单元写往外部数据存储模块的数据,这种内存架构模型对于不断变化的数据结构往往具有较好的性能。但是,遵从传统的缓存设计特性,数据读取过程中,从最原始查找的数据地址(物理地址或虚拟地址)进行缓存查询,得到缓存查询结果(hit

miss),进行缓存替换策略,分配缓存行(cache line),到写入缓存行中的数据存储单元,往往需要2

6个时钟周期(cycle)的延时,不同分级的缓存(cache level)的延时存在差异。此外,写入缓存行中的数据存储单元,再回读反馈回数据读取方,也需要不同程度的延时。现有的GPU缓存方法,在大数据场景下存在读写阻塞,数据读取效率较低。

技术实现思路

[0003]本公开提出了一种GPU缓存方法及装置、电子设备和存储介质的技术方案。
[0004]根据本公开的一方面,提供了一种GPU缓存方法,包括:获取GPU缓存配置请求,其中,所述GPU缓存配置请求中包括第一类型缓存行和第二类型缓存行之间的配置比例,所述第一类型缓存行用于缓存支持缓存替换的数据,所述第二类型缓存行用于缓存不执行缓存替换的数据;基于所述配置比例,对所述GPU缓存中的缓存行进行分类,得到具有所述配置比例的多个第一类型缓存行和多个第二类型缓存行。
[0005]在一种可能的实现方式中,所述方法还包括:针对任意一个处于非空闲状态的第一类型缓存行,获取所述第一类型缓存行对应的缓存持续等级控制请求,其中,所述缓存持续等级控制请求中包括缓存持续等级标识,所述缓存持续等级标识用于指示所述第一类型缓存行中缓存的数据保留在所述第一类型缓存行中的时间长短。
[0006]在一种可能的实现方式中,所述方法还包括:根据所述多个第一类型缓存行和所述多个第二类型缓存行在所述GPU缓存中的分布,确定缓存行类型标识矩阵,其中,所述缓存行类型标识矩阵用于指示所述GPU缓存中每个缓存行的缓存行类型。
[0007]在一种可能的实现方式中,所述方法还包括:接收数据访问请求,其中,所述数据访问请求中包括数据请求地址;基于所述数据请求地址在所述GPU缓存中进行缓存查询,确定缓存查询结果;在所述缓存查询结果为缓存未命中时,基于所述数据请求地址,确定目标缓存行类型;基于所述目标缓存行类型和所述缓存行类型标识矩阵,在所述GPU缓存中确定目标缓存行;从外部数据存储模块读取所述数据请求地址对应的目标数据存储至所述目标缓存行,以及输出所述目标数据。
[0008]在一种可能的实现方式中,所述基于所述目标缓存行类型和所述缓存行类型标识矩阵,在所述GPU缓存中确定目标缓存行,包括:在所述目标缓存行类型为第二类型时,基于所述缓存行类型标识矩阵,将所述GPU缓存中处于空闲状态的一个第二类型缓存行确定为所述目标缓存行。
[0009]在一种可能的实现方式中,所述基于所述目标缓存行类型和所述缓存行类型标识矩阵,在所述GPU缓存中确定目标缓存行,包括:在所述目标缓存行类型为第一类型时,基于所述缓存行类型标识矩阵,确定所述GPU缓存中是否存在处于空闲状态的至少一个第一类型缓存行;在确定存在处于空闲状态的至少一个第一类型缓存行时,将处于空闲状态的一个第一类型缓存行确定为所述目标缓存行。
[0010]在一种可能的实现方式中,所述方法还包括:在确定不存在处于空闲状态的第一类型缓存行时,根据所述GPU缓存中每个第一类型缓存行对应的缓存持续等级标识,确定处于非空闲状态的一个第一类型缓存行为所述目标缓存行。
[0011]在一种可能的实现方式中,所述从外部数据存储模块读取所述数据请求地址对应的目标数据存储至所述目标缓存行,包括:删除所述目标缓存行中当前缓存的数据;将所述目标数据存储至所述目标缓存行。
[0012]在一种可能的实现方式中,所述缓存持续等级标识包括下述之一:第一缓存持续等级标识,用于指示所述第一类型缓存行中缓存的数据保留在所述第一类型缓存行中持续不变;第二缓存持续等级标识,用于指示所述第一类型缓存行中缓存的数据支持一次缓存替换,缓存替换后的数据保留在所述第一类型缓存行中持续不变;第三缓存持续等级标识,用于指示所述第一类型缓存行中缓存的数据保留在所述第一类型缓存行中第一时长;第四缓存持续等级标识,用于指示所述第一类型缓存行中缓存的数据保留在所述第一类型缓存行中第二时长,其中,所述第二时长大于所述第一时长。
[0013]根据本公开的一方面,提供了一种GPU缓存方法,包括:针对GPU缓存中任意一个处于非空闲状态的缓存行,获取第一类型缓存行对应的缓存持续等级控制请求,其中,所述缓存持续等级控制请求中包括缓存持续等级标识,所述缓存持续等级标识用于指示所述缓存行中缓存的数据保留在所述缓存行中的时间长短。
[0014]在一种可能的实现方式中,所述缓存持续等级标识包括下述之一:第一缓存持续等级标识,用于指示所述缓存行中缓存的数据保留在所述缓存行中持续不变;第二缓存持续等级标识,用于指示所述缓存行中缓存的数据支持一次缓存替换,缓存替换后的数据保留在所述缓存行中持续不变;第三缓存持续等级标识,用于指示所述缓存行中缓存的数据保留在所述缓存行中第一时长;第四缓存持续等级标识,用于指示所述缓存行中缓存的数据保留在所述缓存行中第二时长,其中,所述第二时长大于所述第一时长。
[0015]根据本公开的一方面,提供了一种GPU缓存装置,包括:获取模块,用于获取GPU缓存配置请求,其中,所述GPU缓存配置请求中包括第一类型缓存行和第二类型缓存行之间的配置比例,所述第一类型缓存行用于缓存支持缓存替换的数据,所述第二类型缓存行用于缓存不执行缓存替换的数据;分类模块,用于基于所述配置比例,对所述GPU缓存中的缓存行进行分类,得到具有所述配置比例的多个第一类型缓存行和多个第二类型缓存行。
[0016]根据本公开的一方面,提供了一种GPU缓存装置,包括:获取模块,用于针对GPU缓存中任意一个处于非空闲状态的缓存行,获取第一类型缓存行对应的缓存持续等级控制请
求,其中,所述缓存持续等级控制请求中包括缓存持续等级标识,所述缓存持续等级标识用于指示所述缓存行中缓存的数据保留在所述缓存行中的时间长短。
[0017]根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
[0018]根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU缓存方法,其特征在于,包括:获取GPU缓存配置请求,其中,所述GPU缓存配置请求中包括第一类型缓存行和第二类型缓存行之间的配置比例,所述第一类型缓存行用于缓存支持缓存替换的数据,所述第二类型缓存行用于缓存不执行缓存替换的数据;基于所述配置比例,对所述GPU缓存中的缓存行进行分类,得到具有所述配置比例的多个第一类型缓存行和多个第二类型缓存行。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对任意一个处于非空闲状态的第一类型缓存行,获取所述第一类型缓存行对应的缓存持续等级控制请求,其中,所述缓存持续等级控制请求中包括缓存持续等级标识,所述缓存持续等级标识用于指示所述第一类型缓存行中缓存的数据保留在所述第一类型缓存行中的时间长短。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:根据所述多个第一类型缓存行和所述多个第二类型缓存行在所述GPU缓存中的分布,确定缓存行类型标识矩阵,其中,所述缓存行类型标识矩阵用于指示所述GPU缓存中每个缓存行的缓存行类型。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收数据访问请求,其中,所述数据访问请求中包括数据请求地址;基于所述数据请求地址在所述GPU缓存中进行缓存查询,确定缓存查询结果;在所述缓存查询结果为缓存未命中时,基于所述数据请求地址,确定目标缓存行类型;基于所述目标缓存行类型和所述缓存行类型标识矩阵,在所述GPU缓存中确定目标缓存行;从外部数据存储模块读取所述数据请求地址对应的目标数据存储至所述目标缓存行,以及输出所述目标数据。5.根据权利要求4所述的方法,其特征在于,所述基于所述目标缓存行类型和所述缓存行类型标识矩阵,在所述GPU缓存中确定目标缓存行,包括:在所述目标缓存行类型为第二类型时,基于所述缓存行类型标识矩阵,将所述GPU缓存中处于空闲状态的一个第二类型缓存行确定为所述目标缓存行。6.根据权利要求4所述的方法,其特征在于,所述基于所述目标缓存行类型和所述缓存行类型标识矩阵,在所述GPU缓存中确定目标缓存行,包括:在所述目标缓存行类型为第一类型时,基于所述缓存行类型标识矩阵,确定所述GPU缓存中是否存在处于空闲状态的至少一个第一类型缓存行;在确定存在处于空闲状态的至少一个第一类型缓存行时,将处于空闲状态的一个第一类型缓存行确定为所述目标缓存行。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在确定不存在处于空闲状态的第一类型缓存行时,根据所述GPU缓存中每个第一类型缓存行对应的缓存持续等级标识,确定处于非空闲状态的一个第一类型缓存行为所述目标缓存行。8.根据权利要求7所述的方法,其特征在于,所述从外部数据存储模块读取所述数据请求地址对应的目标数据存储至所述目标缓存行,包括:
删除所述目标...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1