通用图形处理器的寄存器共享方法、装置、设备及介质与流程

xiaoxiao2026-07-21  28


本发明涉及芯片存储领域,特别涉及一种通用图形处理器的寄存器共享方法、装置、设备及介质。


背景技术:

1、在高性能计算领域,通用图形处理单元(general-purpose computing ongraphics processing units,gpgpu)的利用已经成为加速科学和工程计算的重要手段。gpgpu的核心优势在于能够将图形处理单元(graphics processing unit,gpu)用于非图形任务,从而实现大规模并行计算,而这种优势得益于gpgpu特有的存储架构。在gpgpu的架构设计中,实现线程级并行性(thread-level parallelism,tlp)是通过为每个执行线程分配独立的寄存器空间来实现的。这种设计策略,虽然极大地增强了gpgpu处理大规模并行任务的能力,但同时也导致了显著的硬件资源消耗。

2、具体而言,gpgpu运行过程当中,每个线程都需要独立地维护数十个寄存器文件来保障数据的存储效率,这带来了巨大的芯片面积需求,直接影响了芯片的制造成本和复杂性。此外,因为每次线程执行都需要进行大量的寄存器访问操作,同时增加了寄存器文件的动态功耗。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种通用图形处理器的寄存器共享方法、装置、设备及介质,可以构建线程内独立寄存器与线程间共享寄存器并行机制,该机制可根据数据特性,适配不同的寄存器存储访问方案,在提高寄存器文件资源利用率的同时,减少寄存器访问次数、降低动态功耗。其具体方案如下:

2、第一方面,本技术公开了一种通用图形处理器的寄存器共享方法,应用于通用图形处理器,包括:

3、将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配;

4、若所述若干哈希地址在预设共享寄存器中对应的键值均与所述若干线程寄存器地址匹配,则从所述预设共享寄存器中仅读取所述若干线程寄存器地址中任一线程寄存器地址对应的目标寄存器数据,通过所述任一线程寄存器地址对应的目标线程发射所述目标寄存器数据,并将相应的写回结果写入所述预设共享寄存器;

5、对若干线程写回至对应线程寄存器的写回数据进行数据差异判断,若存在数据差异,则通过所述若干线程对应的线程寄存器保存所述写回数据,若不存在数据差异,则通过所述预设共享寄存器仅保存所述若干线程中任一线程对应的写回数据。

6、可选的,所述将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配,包括:

7、接收若干线程寄存器地址,并通过哈希算法计算所述若干线程寄存器地址分别对应的若干哈希索引,并通过所述若干哈希索引确定相应的若干哈希地址;

8、确定所述若干哈希地址在预设共享寄存器中对应的键值,并判断所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配。

9、可选的,所述将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配之后,还包括:

10、若所述若干哈希地址在预设共享寄存器中对应的键值不完全与所述若干线程寄存器地址匹配,则确定不匹配的线程寄存器地址,以得到非匹配线程寄存器地址;

11、确定与所述非匹配线程寄存器地址对应的线程寄存器,得到非匹配目标线程寄存器,以通过与所述非匹配目标线程寄存器对应的线程发射所述非匹配目标线程寄存器中的数据,并将相应的写回结果写入所述非匹配目标线程寄存器。

12、可选的,所述对若干线程写回至对应线程寄存器的写回数据进行数据差异判断,包括:

13、根据预设数据切片阈值对若干线程写回至对应线程寄存器的写回数据进行数据切片,并将得到的切片后数据按比特位输入至预设重复数据判断逻辑中的与门以及或非门;

14、通过所述与门以及所述或非门对所述切片后数据进行差异判断。

15、可选的,所述通过所述与门以及所述或非门对所述切片后数据进行差异判断,包括:

16、若所述与门和所述或非门的输出均为0,则表征当前比特位存在数据差异,并停止数据差异判断;

17、若所述与门的输出为1,则表征所述当前比特位不存在数据差异,且所述若干线程对应的若干写回数据在所述当前比特位均为1;

18、若所述或非门的输出为1,则表征所述当前比特位不存在数据差异,且所述若干写回数据在所述当前比特位均为0。

19、可选的,所述预设数据切片阈值为8比特。

20、可选的,所述若不存在数据差异,则通过所述预设共享寄存器仅保存所述若干线程中任一线程对应的写回数据,包括:

21、提取所述若干线程中任一线程对应的目标写回数据,并确定所述目标写回数据对应的目标寄存器地址;

22、计算所述目标寄存器地址在所述预设共享寄存器中对应的目标哈希索引,并将所述目标写回数据保存至与所述目标哈希索引对应的位置。

23、第二方面,本技术公开了一种通用图形处理器的寄存器共享装置,应用于通用图形处理器,包括:

24、地址匹配判断模块,用于将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配;

25、执行结果保存模块,用于若所述若干哈希地址在预设共享寄存器中对应的键值均与所述若干线程寄存器地址匹配,则从所述预设共享寄存器中仅读取所述若干线程寄存器地址中任一线程寄存器地址对应的目标寄存器数据,通过所述任一线程寄存器地址对应的目标线程发射所述目标寄存器数据,并将相应的写回结果写入所述预设共享寄存器;

26、写回数据保存模块,用于对若干线程写回至对应线程寄存器的写回数据进行数据差异判断,若存在数据差异,则通过所述若干线程对应的线程寄存器保存所述写回数据,若不存在数据差异,则通过所述预设共享寄存器仅保存所述若干线程中任一线程对应的写回数据。

27、第三方面,本技术公开了一种电子设备,包括:

28、存储器,用于保存计算机程序;

29、处理器,用于执行所述计算机程序以实现如前述的通用图形处理器的寄存器共享方法。

30、第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述的通用图形处理器的寄存器共享方法。

31、本技术中,首先将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配;若所述若干哈希地址在预设共享寄存器中对应的键值均与所述若干线程寄存器地址匹配,则从所述预设共享寄存器中仅读取所述若干线程寄存器地址中任一线程寄存器地址对应的目标寄存器数据,通过所述任一线程寄存器地址对应的目标线程发射所述目标寄存器数据,并将相应的写回结果写入所述预设共享寄存器;对若干线程写回至对应线程寄存器的写回数据进行数据差异判断,若存在数据差异,则通过所述若干线程对应的线程寄存器保存所述写回数据,若不存在数据差异,则通过所述预设共享寄存器仅保存所述若干线程中任一线程对应的写回数据。由此可见,通过本技术的方法,可以在接收到若干线程寄存器地址后,将线程寄存器地址转换为哈希地址,然后确定得到的若干哈希地址在预设共享寄存器中对应的键值与若干线程寄存器地址是否匹配,如果匹配,则可以在预设共享寄存器中仅读取任一线程寄存器地址对应的目标寄存器数据,并通过相应的线程发射目标寄存器数据,然后将写回结果写入预设共享寄存器。在写回阶段,可以对若干线程的写回数据进行数据差异判断,并在存在数据差异时,通过线程对应的线程寄存器保存写回数据,在不存在数据差异时,通过预设共享寄存器保存任一线程对应的写回数据。这样一来,可以构建线程内独立寄存器与线程间共享寄存器并行机制,该机制可根据数据特性,适配不同的寄存器存储访问方案,在提高寄存器文件资源利用率的同时,减少寄存器访问次数、降低动态功耗。


技术特征:

1.一种通用图形处理器的寄存器共享方法,其特征在于,应用于通用图形处理器,包括:

2.根据权利要求1所述的通用图形处理器的寄存器共享方法,其特征在于,所述将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配,包括:

3.根据权利要求1所述的通用图形处理器的寄存器共享方法,其特征在于,所述将接收的若干线程寄存器地址转换为相应的若干哈希地址,并确定所述若干哈希地址在预设共享寄存器中对应的键值与所述若干线程寄存器地址是否匹配之后,还包括:

4.根据权利要求1所述的通用图形处理器的寄存器共享方法,其特征在于,所述对若干线程写回至对应线程寄存器的写回数据进行数据差异判断,包括:

5.根据权利要求4所述的通用图形处理器的寄存器共享方法,其特征在于,所述通过所述与门以及所述或非门对所述切片后数据进行差异判断,包括:

6.根据权利要求4所述的通用图形处理器的寄存器共享方法,其特征在于,所述预设数据切片阈值为8比特。

7.根据权利要求1至6任一项所述的通用图形处理器的寄存器共享方法,其特征在于,所述若不存在数据差异,则通过所述预设共享寄存器仅保存所述若干线程中任一线程对应的写回数据,包括:

8.一种通用图形处理器的寄存器共享装置,其特征在于,应用于通用图形处理器,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的通用图形处理器的寄存器共享方法。


技术总结
本申请公开了一种通用图形处理器的寄存器共享方法、装置、设备及介质,涉及芯片存储领域,包括:将接收的若干线程寄存器地址转换为若干哈希地址,并确定若干哈希地址在预设共享寄存器中对应的键值与若干线程寄存器地址是否匹配;若匹配,则从预设共享寄存器中仅读取任一线程寄存器地址对应的目标寄存器数据,并通过对应的目标线程发射目标寄存器数据,并将相应的写回结果写入预设共享寄存器;对若干线程写回至对应线程寄存器的写回数据进行数据差异判断,若存在数据差异,则通过若干线程对应的线程寄存器保存写回数据,若不存在数据差异,则通过预设共享寄存器仅保存任一线程对应的写回数据。由此,可以减少寄存器访问次数、降低动态功耗。

技术研发人员:周凯,王帅,赵鑫鑫,姜凯
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:
技术公布日:2024/9/23
转载请注明原文地址:https://www.famiwei.com/read-9024990.html

最新回复(0)