数据处理集成电路、数据处理方法和机器可读存储介质技术

技术编号:38340396 阅读:13 留言:0更新日期:2023-08-02 09:20
本发明专利技术提供数据处理集成电路、数据处理方法以及机器可读存储介质。所述数据处理集成电路包括寄存器堆、加载存储单元以及运算核。加载存储单元从存储单元将数据加载至寄存器堆,以及将数据从寄存器堆存储至存储单元。运算核存取寄存器堆的数据。运算核在进行非标准浮点数操作前先进行第一类型转换操作,以将非标准浮点数操作的输入浮点数的数据类型从第一数据类型转换为适用于非标准浮点数操作的第一非标准浮点数类型。运算核在非标准浮点数操作后进行第二类型转换操作,以将非标准浮点数操作的输出浮点数的数据类型从第二非标准浮点数类型转换为适用于后续操作的第二数据类型。数类型转换为适用于后续操作的第二数据类型。数类型转换为适用于后续操作的第二数据类型。

【技术实现步骤摘要】
数据处理集成电路、数据处理方法和机器可读存储介质


[0001]本专利技术涉及一种数据处理技术,且特别涉及一种数据处理集成电路、数据处理方法和机器可读存储介质。

技术介绍

[0002]诸如中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、通用计算型GPU(general

purpose computing on GPU,GPGPU)等数据处理集成电路,其可以执行程序(program、操作序列)而完成诸如卷积神经网络(Convolutional Neural Network,CNN)运算、人工智能(artificial intelligence)运算等各种数据处理功能。一般而言,程序包括多个浮点数操作。浮点数操作会从内存加载(load)输入浮点数,以及/或是将处理结果(输出浮点数)存储(store)至内存。内存可以支持标准浮点数的存取。标准浮点数的数据类型包括fp32、bf16或是其他被产业标准所规范的浮点数类型。数据类型为fp32的标准浮点数包括32位(bits),其中第0~22个位为分数(fraction),第23~30个位为指数(exponent),而第31个位为正负号(sign)。数据类型为bf16的标准浮点数包括16位,其中第0~6个位为分数,第7~14个位为指数,而第15个位为正负号。标准浮点数已为众所周知,故在此不再赘述。
[0003]基于实际设计,标准浮点数可能不适于数据处理集成电路的优化(包括效能优化以及/或是精度优化)。因此,除了标准浮点数,数据处理集成电路的处理数据可能包括非标准浮点数。举例来说,非标准浮点数的数据类型可能包括bf19、bf20或是其他没有被产业标准所规范的浮点数类型。数据类型为bf19的非标准浮点数包括19位,其中第0~9个位为分数,第10~17个位为指数,而第18个位为正负号。数据类型为bf20的非标准浮点数包括20位,其中第0~10个位为分数,第11~18个位为指数,而第19个位为正负号(sign)。一般而言,内存不支持非标准浮点数的存取。如何使数据处理集成电路去非标准浮点数,是本
的诸多课题之一。

技术实现思路

[0004]本专利技术提供一种数据处理集成电路、数据处理方法以及机器可读存储介质,以进行非标准浮点数操作。
[0005]在根据本专利技术的实施例中,所述数据处理集成电路包括寄存器堆、加载存储单元以及多个运算核。加载存储单元耦接至寄存器堆。加载存储单元选择性地从存储单元将数据加载至寄存器堆,以及选择性地将数据从寄存器堆存储至存储单元。所述多个运算核耦接至寄存器堆。运算核存取寄存器堆的数据。所述多个运算核包括第一运算核。第一运算核在进行至少一个非标准浮点数操作前先进行第一类型转换操作,以将所述至少一个非标准浮点数操作的输入浮点数的数据类型从第一数据类型转换为适用于所述至少一个非标准浮点数操作的第一非标准浮点数类型。第一运算核在所述至少一个非标准浮点数操作后进行第二类型转换操作,以将所述至少一个非标准浮点数操作的输出浮点数的数据类型从第
二非标准浮点数类型转换为适用于第一后续操作的第二数据类型。
[0006]在根据本专利技术的实施例中,所述数据处理方法包括:标注至少一个非标准浮点数操作;在所述至少一个非标准浮点数操作前插入第一类型转换操作,以将所述至少一个非标准浮点数操作的输入浮点数的数据类型从第一数据类型转换为适用于所述至少一个非标准浮点数操作的第一非标准浮点数类型;以及在所述至少一个非标准浮点数操作后插入第二类型转换操作,以将所述至少一个非标准浮点数操作的输出浮点数的数据类型从第二非标准浮点数类型转换为适用于后续操作的第二数据类型。
[0007]在根据本专利技术的实施例中,所述机器可读存储介质用于存储非暂时性机器可读指令。当所述非暂时性机器可读指令由计算机执行时,可以实现所述数据处理方法。
[0008]基于上述,在程序(program、操作序列)中的非标准浮点数操作可以被标注,然后在一个或多个非标准浮点数操作前后插入类型转换操作。举例来说(但不限于此),非标准浮点数操作的输入浮点数的数据类型从标准浮点数类型转换为适用于所述非标准浮点数操作的非标准浮点数类型,然后在所述非标准浮点数操作后将所述非标准浮点数操作的输出浮点数的数据类型从非标准浮点数类型转换回适用于后续操作的标准浮点数类型。因此,数据处理集成电路可以进行非标准浮点数操作。
附图说明
[0009]图1是依照本专利技术的一实施例的一种计算机系统的电路方块(circuit block)示意图。
[0010]图2是依照本专利技术的一实施例的一种数据处理方法的流程示意图。
[0011]图3是依照本专利技术的另一实施例的一种数据处理方法的流程示意图。
[0012]图4是依照本专利技术的又一实施例的一种数据处理方法的流程示意图。
[0013]附图标记说明
[0014]10:存储单元
[0015]100:数据处理集成电路
[0016]110:加载存储单元
[0017]CORE_1、CORE_n:运算核
[0018]RF:寄存器堆
[0019]S210~S220、S310~S330、S410~S430:步骤
具体实施方式
[0020]现将详细地参考本专利技术的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
[0021]在本案说明书全文(包括权利要求)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以透过其他装置或某种连接手段而间接地连接至该第二装置。本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名组件(element)的名称,而并非用来限制组件数量的上限或下限,亦非用来限制组件的次序。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/
构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的组件/构件/步骤可以相互参照相关说明。
[0022]图1是依照本专利技术的一实施例的一种计算机系统的电路方块(circuit block)示意图。图1所示计算机系统包括存储单元10以及数据处理集成电路100。依照实际应用,存储单元10可以包括任何类型的可读取介质(readable medium)。在一些实施例中,存储单元10例如包括半导体内存、逻辑电路以及/或是存储装置。数据处理集成电路120耦接至存储单元10。举例来说,存储单元10例如包括寄存器(register)、缓存(cache)、内存(memory)或是其他存储手段。依照实际设计,数据处理集成电路100可以包括任何类型的集成电路。举例来说,数据处理集成电路100可以包括中央处理器(Central Process本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理集成电路,其特征在于,所述数据处理集成电路包括:寄存器堆;加载存储单元,耦接至所述寄存器堆,其中所述加载存储单元选择性地从存储单元将数据加载至所述寄存器堆,以及选择性地将数据从所述寄存器堆存储至所述存储单元;以及多个运算核,耦接至所述寄存器堆,其中所述多个运算核存取所述寄存器堆的数据,所述多个运算核包括第一运算核,所述第一运算核在进行至少一个非标准浮点数操作前先进行第一类型转换操作,以将所述至少一个非标准浮点数操作的输入浮点数的数据类型从第一数据类型转换为适用于所述至少一个非标准浮点数操作的第一非标准浮点数类型;以及所述第一运算核在所述至少一个非标准浮点数操作后进行第二类型转换操作,以将所述至少一个非标准浮点数操作的输出浮点数的数据类型从第二非标准浮点数类型转换为适用于第一后续操作的第二数据类型。2.根据权利要求1所述的数据处理集成电路,其特征在于,所述第一数据类型和所述第二数据类型包括标准浮点数类型。3.根据权利要求1所述的数据处理集成电路,其特征在于,所述第一数据类型和所述第二数据类型其中一个包括标准浮点数类型,以及所述第一数据类型和所述第二数据类型其中另一个包括第三非标准浮点数类型。4.根据权利要求1所述的数据处理集成电路,其特征在于,所述第一数据类型和所述第二数据类型其中一个包括第三非标准浮点数类型,以及所述第一数据类型和所述第二数据类型其中另一个包括第四非标准浮点数类型。5.根据权利要求1所述的数据处理集成电路,其特征在于,所述第一运算核包括矢量核或执行单元,所述第一类型转换操作包括将所述输入浮点数的数据类型从标准浮点数类型转换为所述第一非标准浮点数类型,以及所述第二类型转换操作包括将所述输出浮点数的数据类型从所述第二非标准浮点数类型转换为所述标准浮点数类型。6.根据权利要求1所述的数据处理集成电路,其特征在于,所述多个运算核还包括第二运算核,所述第二数据类型包括第三非标准浮点数类型,所述第一运算核在进行所述第二类型转换操作后将所述第三非标准浮点数类型的所述输出浮点数提供给所述第二运算核以使所述第二运算核进行所述第一后续操作,以及所述第一运算核在所述第一后续操作后进行第三类型转换操作,以将所述第一后续操作的输出浮点数的数据类型从所述第三非标准浮点数类型转换为适用于第二后续操作的第三数据类型。7.根据权利要求6所述的数据处理集成电路,其特征在于,所述第二运算核包括张量核。8.一种数据处理方法,其特征在于,所述数据处理方法包括:标注至少一个非标准浮点数操作;在所述至少一个非标准浮点数操作前插入第一类型转换操作,以将所述至少一个非标准浮点数操作的输入浮点数的数据类型从第一数据类型转换为适用于所述至少一个非标准浮点数操作的第一非标准浮点数类型;以及在所述至少一个非标准浮点数操作后插入第二类型转换操作,以将所述至少一个非标
准浮...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

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

1