数据处理方法、装置、计算机设备、存储介质制造方法及图纸

技术编号:37081162 阅读:28 留言:0更新日期:2023-03-29 19:56
本申请涉及一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:接收数据操作指令;所述操作指令是线程调度单元对初始指令进行译码后得到的;所述数据操作指令携带寄存器类型以及指令变量;根据所述寄存器类型以及所述指令变量进行计算,得到与所述数据操作指令对应的映射地址;所述映射地址包括行地址、数据块地址以及偏移量;基于所述映射地址中的所述行地址、所述数据块地址以及所述偏移量,在内存中进行数据操作。采用本方法能够提高寄存器存储空间利用率。用本方法能够提高寄存器存储空间利用率。用本方法能够提高寄存器存储空间利用率。

【技术实现步骤摘要】
数据处理方法、装置、计算机设备、存储介质


[0001]本申请涉及寄存器
,特别是涉及一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]图形处理器GPU(Graphics Processing Unit)是一种由大量的计算单元组成的大规模并行计算架构。GPU并行程序的核心是线程(wave),一个线程就是程序中的一个单一指令流,多个线程组合在一起形成了并行计算网络,进而形成了并行程序。
[0003]线程执行指令时,支持不同长度的数据计算,其中有半精度数据(half precision,HP)、单精度数据(full precision,FP)和双精度数据(dual precision,DP),每种数据均可存储整型和浮点型数据。在执行指令时,会遇到输入、输出数据类型混合使用的情况,这就意味着寄存器需要对HP、FP、DP数据混合管理,这对寄存器存储数据带来了不小的挑战。
[0004]传统技术中,是将寄存器空间分割成三份,分别独立存储HP、FP、DP类型的数据,但是由于未被指令调用的数据类型空间不会被使用,造成寄存器存储空间的浪费。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高寄存器存储空间利用率的数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种数据处理方法。所述方法包括:
[0007]接收数据操作指令;所述数据操作指令是线程调度单元对初始指令进行译码后得到的;所述数据操作指令携带寄存器类型以及指令变量;
[0008]根据所述寄存器类型以及所述指令变量进行计算,得到与所述数据操作指令对应的映射地址;所述映射地址包括行地址、数据块地址以及偏移量;
[0009]基于所述映射地址中的所述行地址、所述数据块地址以及所述偏移量,在内存中进行数据操作
[0010]在其中一个实施例中,上述根据所述寄存器类型以及所述指令变量进行计算,得到不同数据类型对应的映射地址,包括:
[0011]当所述寄存器类型为矢量寄存器时,根据所述指令变量以及矢量计算规则得到矢量数据映射地址;
[0012]当所述寄存器类型为标量寄存器时,根据所述指令变量以及标量规则计算得到标量数据映射地址。
[0013]在其中一个实施例中,当所述寄存器类型为矢量寄存器时,所述指令变量包括线程编号、执行模式、单元位置、数据类型、矢量逻辑地址、数据块数目以及行数;当所述寄存器类型为标量寄存器时,所述指令变量包括所述线程编号、所述数据类型以及标量逻辑地址。
[0014]在其中一个实施例中,上述当所述寄存器类型为矢量寄存器时,根据所述指令变量以及矢量计算规则得到矢量数据映射地址,包括:
[0015]根据所述行数、所述线程编号、所述单元位置以及数据类型、所述执行模式以及所述矢量逻辑地址进行计算,得到矢量行地址;
[0016]根据所述单元位置、所述数据类型以及所述数据块数目进行计算,得到矢量数据块地址;
[0017]根据所述单元位置、所述数据类型以及所述矢量数据块地址进行计算,得到矢量偏移量。
[0018]在其中一个实施例中,上述当所述寄存器类型为标量寄存器时,根据所述指令变量以及标量规则计算得到标量数据映射地址,包括:
[0019]根据所述线程编号,得到标量行地址;
[0020]根据所述标量逻辑地址以及所述数据类型,得到标量数据块地址;
[0021]根据所述标量逻辑地址、所述数据类型以及所述标量数据块地址,得到标量偏移量。
[0022]在其中一个实施例中,上述方法还包括:
[0023]获取进行数据操作所得到的目标数据;
[0024]将所述目标数据发送至计算单元,所述计算单元用于根据所述目标数据以单指令流多数据流的方式进行计算操作得到计算数据。
[0025]第二方面,本申请还提供了一种数据处理装置。所述装置包括:
[0026]接收模块,用于接收数据操作指令;所述数据操作指令是线程调度单元对初始指令进行译码后得到的;所述数据操作指令携带寄存器类型以及指令变量;
[0027]映射模块,用于根据所述寄存器类型以及所述指令变量进行计算,得到与所述数据操作指令对应的映射地址;所述映射地址包括行地址、数据块地址以及偏移量;
[0028]操作模块,用于基于所述映射地址中的所述行地址、所述数据块地址以及所述偏移量,在内存中进行数据操作。
[0029]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一个实施例中的方法的步骤。
[0030]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一个实施例中的方法的步骤。
[0031]第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例中的方法的步骤。
[0032]上述数据处理方法、装置、计算机设备、存储介质和计算机程序产品,WVR(Wave Register Unit,线程寄存单元)接收数据操作指令,并对数据操作指令进行译码,得到寄存器类型以及指令变量,然后WVR就可以根据寄存器类型以及指令变量进行计算,得到与数据操作指令对应的映射地址;其中,映射地址包括行地址、数据块地址以及偏移量。这样,WVR就可以根据映射地址中的行地址、数据块地址以及偏移量,在内存中进行数据操作。由于根据映射地址中的行地址、数据块地址以及偏移量可以确定数据在寄存器中的具体位置,因
此在对数据存储的时候可以进行混合存储,不必为不同类型的数据开辟单独的存储地址,进而提高寄存机的存储空间利用率。
附图说明
[0033]图1为一个实施例中数据处理方法的流程示意图;
[0034]图2为一个实施例中数据块内部结构示意图;
[0035]图3为一个实施例中VRF的共享空间示意图;
[0036]图4为一个实施例中的SRF的共享空间示意图;
[0037]图5为一个实施例中寄存器地址映射示意图;
[0038]图6为一个实施例中的SIMD32模式示意图;
[0039]图7为另一个实施例中的SIMD32模式示意图;
[0040]图8为一个实施例中的SIMD64模式示意图;
[0041]图9为一个数据处理方法的流程示意图;
[0042]图10为一个实施例中数据处理装置的结构框图。
具体实施方式
[0043]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0044]在一个实施例中,如图1所示,提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述数据处理方法包括:接收数据操作指令;所述数据操作指令是线程调度单元对初始指令进行译码后得到的;所述数据操作指令携带寄存器类型以及指令变量;根据所述寄存器类型以及所述指令变量进行计算,得到与所述数据操作指令对应的映射地址;所述映射地址包括行地址、数据块地址以及偏移量;基于所述映射地址中的所述行地址、所述数据块地址以及所述偏移量,在内存中进行数据操作。2.根据权利要求1所述的方法,其特征在于,所述根据所述寄存器类型以及所述指令变量进行计算,得到不同数据类型对应的映射地址,包括:当所述寄存器类型为矢量寄存器时,根据所述指令变量以及矢量计算规则得到矢量数据映射地址;当所述寄存器类型为标量寄存器时,根据所述指令变量以及标量规则计算得到标量数据映射地址。3.根据权利要求2所述的方法,其特征在于,当所述寄存器类型为矢量寄存器时,所述指令变量包括线程编号、执行模式、单元位置、数据类型、矢量逻辑地址、数据块数目以及行数;当所述寄存器类型为标量寄存器时,所述指令变量包括所述线程编号、所述数据类型以及标量逻辑地址。4.根据权利要求3所述的方法,其特征在于,所述当所述寄存器类型为矢量寄存器时,根据所述指令变量以及矢量计算规则得到矢量数据映射地址,包括:根据所述行数、所述线程编号、所述单元位置以及数据类型、所述执行模式以及所述矢量逻辑地址进行计算,得到矢量行地址;根据所述单元位置、所述数据类型以及所述数据块数目进行计算,得到矢量数据块地址;根据所述单元位置、所述数据类型以及所述矢量数据块地址进行计算,得到矢量偏移量。5.根据权利要求...

【专利技术属性】
技术研发人员:毕艺飞张淮声李宝华
申请(专利权)人:格兰菲智能科技有限公司
类型:发明
国别省市:

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

1