数据处理装置、方法、电子设备和存储介质制造方法及图纸

技术编号:38663552 阅读:26 留言:0更新日期:2023-09-02 22:45
本公开提供了一种数据处理装置,涉及人工智能技术领域,尤其涉及芯片技术领域。该装置包括:存储单元,配置为存储多个待处理数据,待处理数据包括除数和被除数;以及处理单元,配置为:响应于确定除法运算单元无可用资源用于利用多个待处理数据中第一目标待处理数据执行除法运算,读取第一目标待处理数据;根据预设值和第一目标待处理数据的除数,确定第一目标待处理数据的初始中间参数;以及根据第一目标待处理数据的除数、被除数和初始中间参数,执行乘法运算,得到目标运算结果,作为第一待处理数据的除法运算结果。本公开还提供了一种数据处理方法、电子设备和存储介质。电子设备和存储介质。电子设备和存储介质。

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


[0001]本公开涉及人工智能
,尤其涉及芯片
更具体地,本公开提供了一种数据处理装置、方法、电子设备和存储介质。

技术介绍

[0002]随着人工智能技术的发展,人工智能芯片的并行处理模块可以包括除法运算单元。除法运算单元例如可以利用单精度浮点数实现除法运算。

技术实现思路

[0003]本公开提供了一种数据处理装置、方法、设备以及存储介质。
[0004]根据本公开的一方面,提供了一种数据处理装置,该装置包括:存储单元,配置为存储多个待处理数据,待处理数据包括除数和被除数;以及处理单元,配置为:响应于确定除法运算单元无可用资源用于利用多个待处理数据中第一目标待处理数据执行除法运算,读取第一目标待处理数据;根据预设值和第一目标待处理数据的除数,确定第一目标待处理数据的初始中间参数;以及根据第一目标待处理数据的除数、被除数和初始中间参数,执行乘法运算,得到目标运算结果,作为第一待处理数据的除法运算结果。
[0005]根据本公开的另一方面,提供了一种电子设备,包括本公开提供的数据处理装置。
[0006]根据本公开的另一方面,提供了一种数据处理方法,该方法包括:响应于确定除法运算单元无可用资源用于利用多个待处理数据中第一目标待处理数据执行除法运算,读取第一目标待处理数据,其中,待处理数据包括除数和被除数;根据预设值和第一目标待处理数据的除数,确定第一目标待处理数据的初始中间参数;以及根据第一目标待处理数据的除数、被除数和初始中间参数,执行乘法运算,得到目标运算结果,作为第一待处理数据的除法运算结果。
[0007]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
[0008]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
[0009]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的方法。
[0010]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0012]图1是根据本公开的一个实施例的数据处理装置的示意框图;
[0013]图2是根据本公开的一个实施例的除法运算单元和处理单元的原理图;
[0014]图3A至图3F是根据本公开的一个实施例的处理单元和存储单元的示意图;
[0015]图4是根据本公开的一个实施例的电子设备的示意图;
[0016]图5是根据本公开的一个实施例的数据处理方法的流程图;以及
[0017]图6是根据本公开的一个实施例的可以应用数据处理方法的电子设备的框图。
具体实施方式
[0018]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0019]除法运算单元可以支持特定数据类型的数据。例如,单精度浮点数例如可以是32位的浮点数(Float32)。半精度浮点数例如可以是16位的浮点数(Float16)。若一除法运算单元可以利用32位的浮点数实现除法运算,该除法运算单元难以利用16位的浮点数或整型数据(int)实现除法运算,导致计算效率下降。此外,若除法指令过多,除法运算单元处于繁忙状态,也可以导致计算效率下降。
[0020]为了提高除法运算的执行效率,本公开提供了一种数据处理装置,下面将进行进一步说明。
[0021]图1是根据本公开的一个实施例的数据处理装置的示意框图。
[0022]如图1所示,数据处理装置100可以包括存储单元110和处理单元120。
[0023]存储单元110,可以配合为存储多个待处理数据。
[0024]在本公开实施例中,待处理数据可以包括除数和被除数。待处理数据可以与除法指令对应。例如,除法指令可以与以下公式对应:
[0025][0026]x可以为被除数,d可以为除数。f(x,d)可以为与除法指令对应的运算结果。
[0027]处理单元120,配置为:响应于确定除法运算单元无可用资源用于利用多个待处理数据中第一目标待处理数据执行除法运算,读取第一目标待处理数据。根据预设值和第一目标待处理数据的除数,确定第一目标待处理数据的初始中间参数。根据第一目标待处理数据的除数、被除数和初始中间参数,执行乘法运算,得到目标运算结果,作为第一待处理数据的除法运算结果。
[0028]在本公开实施例中,处理单元可以是人工智能芯片上支持单指令多数据流(Single Instruction Multiple Data,SIMD)指令集的处理单元。单指令多数据流指令集可以基于一个指令同时对多个数据进行运算。
[0029]在本公开实施例中,若待处理的除法指令较多,导致大量除法指令阻塞,可以确定除法运算单元无可用资源用于执行被阻塞的除法指令。与被阻塞的除法指令对应的待处理数据可以作为第一目标待处理数据。接下来,处理单元可以读取第一目标待处理数据。
[0030]在本公开实施例中,可以对与除法指令对应的公式进行级数展开,对除法指令进行转换,得到至少一个乘法指令。例如,可以对与除法指令对应的公式进行展开,将上述公
式一涉及的除法运算转换多个乘法运算。可以理解,级数展开可以包括傅立叶级数展开和多项式级数展开。多项式级数展开例如包括:泰勒级数展开、切比雪夫级数展开和勒让德多项式展开。
[0031]在本公开实施例中,预设值可以与除数相关的收敛范围有关。若级数展开时,与除数对应的收敛范围的最大值为2,预设值可以为2。
[0032]在本公开实施例中,可以将预设值和除数之差,作为初始中间参数。
[0033]在本公开实施例中,在精度要求较低的情况下,可以将除数与初始中间参数的乘积,作为除法运算结果。
[0034]在本公开实施例中,在精度要求较高的情况下,可以根据第一目标待处理数据的除数、被除数和初始中间参数,多次迭代地执行乘法运算,得到运算结果。
[0035]通过本公开实施例,在除法运算单元无可用资源的情况下,可以利用处理单元执行除法指令,以提高数据处理效率,加快指令的执行效率。
[0036]可以理解,上文对本公开的装置进行了说明,下面将对确定除法运算单元有无可用资源的一些方式进行说明。
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,包括:存储单元,配置为存储多个待处理数据,所述待处理数据包括除数和被除数;以及处理单元,配置为:响应于确定除法运算单元无可用资源用于利用多个所述待处理数据中第一目标待处理数据执行除法运算,读取所述第一目标待处理数据;根据预设值和所述第一目标待处理数据的除数,确定所述第一目标待处理数据的初始中间参数;以及根据所述第一目标待处理数据的除数、被除数和初始中间参数,执行乘法运算,得到目标运算结果,作为所述第一待处理数据的除法运算结果。2.根据权利要求1所述的装置,其中,所述处理单元还配置为执行以下操作以根据所述第一目标待处理数据的除数、被除数和初始中间参数,执行乘法运算:根据所述第一目标待处理数据的除数、被除数和初始中间参数,K次迭代地执行乘法运算,其中,K为大于1的整数。3.根据权利要求2所述的装置,其中,所述处理单元还配置为执行以下操作以K次地迭代执行乘法运算:根据所述预设值和第k

1级除数,确定第k级中间参数,其中,k为大于1且小于或等于K的整数;根据第k级中间参数和第k

1级被除数,执行乘法运算,得到第k级被除数;以及根据第k

1级除数和第k级中间参数,执行乘法运算,得到第k级除数。4.根据权利要求2所述的装置,其中,所述处理单元还配置为执行以下操作以K次地迭代执行乘法运算:根据初始中间参数和被除数,执行乘法运算,得到第1级被除数;以及根据初始中间参数和除数,执行乘法运算,得到第1级除数。5.根据权利要求2所述的装置,其中,所述处理单元还配置为执行以下操作以K次地迭代执行乘法运算:将第K级被除数作为所述目标运算结果。6.根据权利要求2所述的装置,其中,所述第一目标待处理数据为多个,所述存储单元包括除数寄存器和被除数寄存器;所述处理单元还配置为执行以下操作以读取所述第一目标待处理数据:将多个所述第一目标待处理数据的除数分别写入所述除数寄存器;以及将多个所述第一目标待处理数据的被除数分别写入所述被除数寄存器。7.根据权利要求6所述的装置,其中,所述存储单元还包括参数寄存器;所述处理单元还配置为执行以下操作以确定所述第一目标待处理数据的初始中间参数:将多个第一目标待处理数据的初始中间参数写入参数寄存器。8.根据权利要求7所述的装置,其中,所述处理单元还配置为执行以下操作以K次迭代地执行乘法运算:响应于确定与所述第一目标待处理数据的第k

1次乘法运算执行完成,从所述除数寄存器加载所述第一目标待处理数据的第k

1级除数;
根据所述预设值和所述第k

1级除数,确定第k级中间参数;以及将第k级中间参数写入所述参数寄存器中与第k

1级中间参数对应的存储空间。9.根据权利要求8所述的装置,其中,所述处理单元还配置为执行以下操作以K次迭代地执行乘法运算:从所述参数寄存器加载所述第k级中间参数;从所述被除数寄存器加载所述第一目标待处理数据的第k

1级被除数;根据第k级中间参数和第k

1级被除数,执行乘法运算,得到第k级被除数;以及将第k级被除数写入所述被除数寄存器中与第k

1级被除数对应的存储空间。10.根据权利要求8所述的装置,其中,所述处理单元还配置为执行以下操作以K次迭代地执行乘法运算:根据第k

1级除数和第k级中间参数,执行乘法运算,得到第k级除数;以及将所述第k级除数写入所述除数寄存器中与第k

1级除数对应的存储空间。11.根据权利要求1所述的装置,其中,所述处理单元还配置为:响应于确定所述待处理数据的数据类型与所述除法运算单元的数据类型不一致,确定所述除法运算单元无可用资源用于利用所述待处理数据执行除法运算。12.根据权利要求1所述的装置,其中,所述处理单元还配置为:响应于确定所述除法运算单元处于繁忙状态,确定所述除法运算单元无可用资源用于利用所述待处理数据执行除法运算。13.一种电子设备,包括如权利要求1至12任一项所述的数据处理装置。14.一种数据处理方法,包括:响应于...

【专利技术属性】
技术研发人员:韩志华高大珩冯晨欧阳剑
申请(专利权)人:昆仑芯北京科技有限公司
类型:发明
国别省市:

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

1