加法树计算装置和方法及计算设备与流程

文档序号:37281909发布日期:2024-03-12 21:21阅读:21来源:国知局
加法树计算装置和方法及计算设备与流程

本发明涉及芯片电路,具体涉及一种加法树装置和方法及计算设备。


背景技术:

1、随着人工智能技术的快速发展,像卷积神经网络算法、transformer等算法已经大量应用于机器视觉、大语言模型等众多领域中。然而,卷积神经网络、transformer等人工智能算法包含大量的浮点数或定点数数乘累加运算,这些运算如果在cpu上运行,将耗费大量的计算时间。特别是针对一些实时性要求很高的应用领域(如车载自动驾驶领域),如果计算时间过长将阻碍人工智能算法在日常应用中的部署。因此近些年出现了诸如gpu、谷歌tpu等专门用于加速人工智能算法计算的专用芯片。因为像卷积神经网络、transformer等算法中包含大量浮点数或定点数乘累加运算,人工智能专用芯片设计过程中如何提高浮点数或定点数乘累加运算速度便成为十分重要的话题之一。

2、在芯片电路设计中,提高浮点数或定点数乘累加运算速度的方法有提高运算电路的时钟频率、提高运算电路的并行度、提高运算电路的流水线程度等等。其中提高运算电路并行度的方法可采用例化众多乘法器、加法器等计算单元,并行地执行乘累加运算。而将众多乘法器的计算结果相加到一起,就会采用加法树电路。

3、传统的加法树只能够对单一的数据类型进行加法运算处理,对于定点数加法树,数据通过多级加法器进行加法运算,就得到最终的运算结果。相比之于定点数加法树,浮点数加法树就要相对复杂很多。浮点数加法树由浮点数加法器构成,浮点数加法器结构复杂,且对比于定点数加法器,增加了指数比较,指数移位等复杂操作,在每一层级的每一加法器做加法运算之前都进行这样的处理,十分繁琐复杂。

4、除了复杂的数据处理流程外,在应用传统浮点数加法树计算浮点数据两两相加的过程中需要依据两个浮点数彼此的指数差进行移位,如果需要交换浮点数据的位置,就可能导致计算结果不一样。举例来说,假设4个浮点数相加,四个浮点数分别是0.987、1.23、12.3、123,浮点数尾数位宽为3位,尾数相加的加法器位宽为3位。那么浮点数按照0.987、1.23、12.3、123的顺序做相加运算时,计算结果为137。但如果按照0.987、123、1.23、12.3的顺序做相加运算时,计算结果为136。显而易见的这样繁琐的计算步骤并没保证加法运算的精度及运算速度,反而占用了更多的计算机资源。

5、为此,需要一种技术方案,能够在提高加法树预算精度的同时简化运算过程提高运算速度。


技术实现思路

1、本技术旨在提供一种加法树计算装置和方法及计算设备,通过对定点数加法树芯片电路的改造设计,实现了对浮点数和定点数双数据类型的加法高速、高精度运算。

2、根据本技术的一方面,提供一种加法树计算装置,用于浮点数及定点数的加法运算,所述加法树计算装置包括数据输入模块、第一多路选择器、传输控制模块、融合计算模块、数据规格化输出模块,所述融合计算模块具有第一入口和第二入口,其中:

3、所述数据输入模块接收输入数据及计算类型指令;

4、所述传输控制模块根据所述计算类型指令控制所述第一多路选择器将浮点数送入所述融合计算模块的所述第一入口,或将定点数送入所述融合计算模块的所述第二入口;

5、所述融合计算模块用于执行定点数加法运算以及浮点数加法运算,输出运算结果到所述数据规格化输出模块;

6、所述传输控制模块根据所述计算类型指令控制所述数据规格化输出模块对所述运算结果进行输出处理,并输出最终计算结果。

7、根据一些实施例,所述融合计算模块中包括预处理模块、第二多路选择器及定点加法树模块,其中:

8、所述预处理模块通过所述第一入口接收浮点数,并将预处理结果送入所述第二多路选择器;

9、所述第二多路选择器通过所述第二入口接收来自所述第一多路选择器的定点数,并根据所述传输控制模块的控制输出所述定点数或所述预处理结果;

10、所述定点加法树接收所述第二多路选择器的输出用以执行定点加法运算。

11、根据一些实施例,所述预处理模块包括指数差模块、尾数对齐模块及指数寄存器阵列,其中:

12、所述指数差模块用于输入的浮点数与浮点数基准指数之间的指数差计算;

13、所述尾数对齐模块应用计算出的指数差对浮点数进行尾数移位;

14、所述指数寄存器阵列用于存储所述浮点数基准指数,所述浮点数基准指数可通过所述指数差模块对输入的浮点数进行指数比较获得或预先设定。

15、指数之间。

16、根据一些实施例,所述数据规格化输出模块包括:第三多路选择器、规格化处理单元、第四多路选择器,其中:

17、所述第三多路选择器根据所述传输控制模块的控制,将所述融合计算模块的运算结果送入所述规格化处理单元或所述第四多路选择器;

18、所述规格化处理单元用于将输入的运算结果根据浮点数规格进行规格化操作,将所述规格化的结果数据送入所述第四多路选择器中;

19、所述第四多路选择器根据所述传输控制模块的控制,输出最终计算结果。

20、根据一些实施例,所述规格化处理单元配置为:

21、读取所述指数寄存器阵列中存储的浮点数基准指数,对所述浮点加法运算结果进行数据规格化操作和舍入处理,输出符合规格的浮点数。

22、根据本技术的其他方面,提供一种用于加法树计算装置的方法,实现浮点数及定点数的加法运算,所述方法包括:

23、接收输入数据,所述输入数据为定点数或浮点数;

24、将浮点数送入第一计算通道;

25、将定点数数据送入第二计算通道;

26、对来自第一计算通道或第二通道的输入数据进行定点加法运算;

27、根据数据类型对运算结果进行输出处理。

28、根据一些实施例,将浮点数送入第一计算通道,还包括:

29、将输入的浮点数按照所述浮点数基准指数计算各个浮点数的指数差,所述浮点数基准指数可通过对输入的浮点数进行指数比较获得或预先设定;;

30、按照所述各个浮点数的指数差对所述浮点数进行尾数移位。

31、根据一些实施例,对来自第一通道或第二通道的输入数据进行定点加法运算,包括:

32、接收所述尾数移位后的浮点数和/或所述定点数并送入定点加法树;

33、利用所述定点加法树进行加法运算,得到运算结果。

34、根据一些实施例,根据数据类型对运算结果进行输出处理,包括:

35、若为浮点数,将运算结果做规则化处理后输出规格化后的结果数据作为最终计算结果;

36、若为定点数数据,则输出所述运算结果作为最终计算结果。

37、根据本技术的其他方面,提供一种芯片电路,能够实现以上所述的装置。

38、根据本技术的另一方面,提供一种计算设备,包括:

39、处理器;以及

40、存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的方法。

41、根据本技术的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。

42、根据本技术的实施例,通过对两种不同类型的输入数据进行分通道处理,将复杂的浮点数加法计算应用融合改造的定点数加法树芯片电路实现,不仅实现了加法树对不同数据类型加法融合运算,并在此基础上避免了由于反复调整浮点数据相加顺序带来的计算精度及运算速度问题,真正意义上应用简单的加法树芯片电路实现了高精度、高运算速度的多数据类型加法运算。

43、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1