System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 计算装置、计算方法、电子设备及存储介质制造方法及图纸_技高网

计算装置、计算方法、电子设备及存储介质制造方法及图纸

技术编号:42545134 阅读:6 留言:0更新日期:2024-08-27 19:47
一种计算装置、计算方法、电子设备及存储介质。该计算装置包括比较模块、移位模块和加法模块,比较模块配置为比较第一输入参数和第二输入参数的阶码值的大小;移位模块配置为根据阶码值的大小关系,输入参数进行移位处理;加法模块配置为根据移位处理后的第一输入参数、第二输入参数和第i轮累加操作对应的进位标识符得到第i+1轮累加操作的中间加和结果;移位模块还配置为根据第i+1轮累加操作的中间加和结果得到第i+1轮累加操作的输出结果,第i+1轮累加操作的输出结果包括第i+1轮累加操作的尾数加和结果和第i+1轮累加操作对应的进位标识符。该计算装置能够简化计算逻辑,减少时间开销。

【技术实现步骤摘要】

本公开的实施例涉及一种计算装置、计算方法、电子设备及存储介质


技术介绍

1、浮点数据广泛应用于神经网络领域,尤其在模型训练方面,使用的几乎都是浮点数据类型。在神经网络加速器中浮点加法器数量众多,浮点加法运算单元的面积会直观地反映到整个神经网络加速器的面积上。

2、浮点加法运算的复杂度远高于整型数据加法,通常需要将浮点加法分解成多个步骤才能保证最终的时序(timing)收敛。但是这种多步骤运算往往会带来数据依赖问题,避免数据依赖问题通常需要在其他影响功耗和性能的方面做出牺牲。如果不能避免数据依赖问题,又会导致神经网络加速器的吞吐量成倍下降。因此一种速度更快,面积更小的浮点加法运算单元对于神经网络处理器的性能(例如ppa:performance,power,area)至关重要。


技术实现思路

1、本公开至少一些实施例提供一种计算装置,该计算装置配置为依次执行n-1轮累加操作以得到n个类型为浮点数的输入数据的累加结果,其中,n为正整数且大于2,所述n-1轮累加操作包括依次顺序执行的第i轮累加操作以及第i+1轮累加操作,i为正整数且小于等于n-2,所述计算装置包括比较模块、移位模块以及加法模块,其中,所述比较模块配置为接收所述第i+1轮累加操作的第一输入参数以及第二输入参数,比较所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小,其中,所述第一输入参数为所述第i轮累加操作的输出结果,所述第i轮累加操作的输出结果包括所述第i轮累加操作的尾数加和结果以及所述第i轮累加操作对应的进位标识符,所述第i轮累加操作对应的进位标识符指示所述第i轮累加操作的尾数加和结果是否进行进位,所述第二输入参数为所述n个输入数据中未进行过所述累加操作的一个输入数据;述移位模块配置为根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,其中,所述移位处理后的第一输入参数与所述移位处理后的第二输入参数的阶码值相同;所述加法模块配置为根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果;所述移位模块还配置为根据所述第i+1轮累加操作的中间加和结果得到所述第i+1轮累加操作的输出结果,其中,所述第i+1轮累加操作的输出结果包括所述第i+1轮累加操作的尾数加和结果以及所述第i+1轮累加操作对应的进位标识符。

2、例如,在本公开至少一些实施例提供的计算装置中,所述移位模块执行根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,包括执行以下操作:响应于所述第一输入参数的阶码值大于或等于所述第二输入参数的阶码值,对所述第二输入参数进行移位,得到所述移位处理后的第二输入参数,并将所述第一输入参数作为移位处理后的第一输入参数,其中,所述移位处理后的第二输入参数的阶码值等于所述第一输入参数的阶码值;响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值,对所述第一输入参数进行移位,得到所述移位处理后的第一输入参数,并将所述第二输入参数作为移位处理后的第二输入参数,其中,所述移位处理后的第一输入参数的阶码值等于所述第二输入参数的阶码值。

3、例如,在本公开至少一些实施例提供的计算装置中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:响应于所述第一输入参数的阶码值大于或等于所述第二输入参数的阶码值,计算所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符的加和,作为所述第i+1轮累加操作的中间加和结果。

4、例如,在本公开至少一些实施例提供的计算装置中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值,将所述设置所述第i轮累加操作对应的进位标识符指示所述第i轮累加操作的尾数加和结果不进行进位,计算所述移位处理后的第一输入参数以及所述移位处理后的第二输入参数的加和作为所述第i+1轮累加操作的中间加和结果。

5、例如,在本公开至少一些实施例提供的计算装置中,所述移位模块执行根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,还包括执行以下操作:响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值,设置所述第i轮累加操作对应的进位标识符指示所述第i轮累加操作的尾数加和结果不进行进位,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:计算所述移位处理后的第一输入参数、所述移位处理后的第二输入参数的加和作为所述第i+1轮累加操作的中间加和结果。

6、例如,在本公开至少一些实施例提供的计算装置中,所述移位模块执行响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值,对所述第一输入参数进行移位,得到所述移位处理后的第一输入参数,并将所述第二输入参数作为移位处理后的第二输入参数,包括执行以下操作:响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值以及所述第i轮累加操作对应的进位标识符指示所述第i轮累加操作的尾数加和结果进行进位,对所述第一输入参数的尾数从第m+1位起补充m个1,得到中间第一输入参数,其中,m为输入数据的尾数位数,将所述中间第一输入参数进行移位,得到移位处理后的第一输入参数,并将所述第二输入参数作为所述移位处理后的第二输入参数,其中,所述中间第一输入参数进行移位的位数为n,n为正整数,所述移位处理后的第一输入参数的阶码值等于所述移位处理后的第二输入参数的阶码值;所述加法模块配置为根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:在所述移位处理后的第一输入参数的尾数的第2m+n位加1,并与所述移位处理后的第二输入参数相加,作为所述第i+1轮累加操作的中间加和结果。

7、例如,在本公开至少一些实施例提供的计算装置中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:响应于所述第一输入参数的阶码值小于所述第二输本文档来自技高网...

【技术保护点】

1.一种计算装置,配置为依次执行N-1轮累加操作以得到N个类型为浮点数的输入数据的累加结果,其中,N为正整数且大于2,所述N-1轮累加操作包括依次顺序执行的第i轮累加操作以及第i+1轮累加操作,i为正整数且小于等于N-2,

2.根据权利要求1所述的计算装置,其中,所述移位模块执行根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,包括执行以下操作:

3.根据权利要求2所述的计算装置,其中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:

4.根据权利要求2所述的计算装置,其中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:

5.根据权利要求2所述的计算装置,其中,所述移位模块执行根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,还包括执行以下操作:

6.根据权利要求2所述的计算装置,其中,所述移位模块执行响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值,对所述第一输入参数进行移位,得到所述移位处理后的第一输入参数,并将所述第二输入参数作为移位处理后的第二输入参数,包括执行以下操作:

7.根据权利要求2所述的计算装置,其中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:

8.根据权利要求1所述的计算装置,其中,所述移位模块执行根据所述第i+1轮累加操作的中间加和结果得到所述第i+1轮累加操作的输出结果,包括执行以下操作:

9.根据权利要求8所述的计算装置,其中,所述移位模块执行根据所述中间加和结果确定规格化结果,包括执行以下操作:

10.根据权利要求9所述的计算装置,其中,所述移位模块执行根据所述规格化结果的尾数部分确定所述第i+1轮累加操作对应的进位标识符,包括执行以下操作:

11.根据权利要求1-10中任一项所述的计算装置,其中,所述移位模块为多路复用树。

12.根据权利要求11所述的计算装置,其中,所述多路复用树的级数根据所述输入数据的尾数位数的两倍确定。

13.一种计算方法,用于依次执行N-1轮累加操作以得到N个类型为浮点数的输入数据的累加结果,其中,N为正整数且大于2,所述N-1轮累加操作包括依次顺序执行的第i轮累加操作和第i+1轮累加操作,i为正整数且小于等于N-2,所述计算方法包括:

14.一种电子设备,包括根据权利要求1-12中任一项所述的计算装置。

15.一种电子设备,包括:

16.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,

...

【技术特征摘要】

1.一种计算装置,配置为依次执行n-1轮累加操作以得到n个类型为浮点数的输入数据的累加结果,其中,n为正整数且大于2,所述n-1轮累加操作包括依次顺序执行的第i轮累加操作以及第i+1轮累加操作,i为正整数且小于等于n-2,

2.根据权利要求1所述的计算装置,其中,所述移位模块执行根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,包括执行以下操作:

3.根据权利要求2所述的计算装置,其中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:

4.根据权利要求2所述的计算装置,其中,所述加法模块执行根据所述移位处理后的第一输入参数、所述移位处理后的第二输入参数以及所述第i轮累加操作对应的进位标识符得到所述第i+1轮累加操作的中间加和结果,包括执行以下操作:

5.根据权利要求2所述的计算装置,其中,所述移位模块执行根据所述第一输入参数的阶码值以及所述第二输入参数的阶码值的大小关系,对所述第一输入参数或所述第二输入参数进行移位处理,得到移位处理后的第一输入参数、移位处理后的第二输入参数,还包括执行以下操作:

6.根据权利要求2所述的计算装置,其中,所述移位模块执行响应于所述第一输入参数的阶码值小于所述第二输入参数的阶码值,对所述第一输入参数进行移位,得到所述移位处理后的第一输入参数,并将所述第二输入参数作为...

【专利技术属性】
技术研发人员:孙福海李炳男罗仕麟刘佳宏闫安斌张瑞凯王青野
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

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

1