一种支持不同精度累加结果写回硬件的方法及装置制造方法及图纸

技术编号:35605041 阅读:23 留言:0更新日期:2022-11-16 15:27
本发明专利技术公开了一种支持不同精度累加结果写回硬件的方法及装置,涉及数据处理技术领域,包括:构建多个运算单元组成的二维脉动阵列;读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;对西向数据和北向数据进行乘加操作;累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;将缓存结果写回至本地局部存储器。本发明专利技术运算精度灵活可配,支持多种精度运算,同时累加结果写回电路支持写回精度灵活可配。灵活可配。灵活可配。

【技术实现步骤摘要】
一种支持不同精度累加结果写回硬件的方法及装置


[0001]本专利技术涉及数据处理
,特别是涉及一种支持不同精度累加结果写回硬件的方法及装置。

技术介绍

[0002]深度学习神经网络(Neutral Networks)面向应用,分为训练(training)和推理(inference)两个方向,均涉及多层网络运算,而每层网络包含大量的卷积与矩阵乘运算,对硬件运算处理能力提出了超高要求。推理和训练对运算量和数据精度要求均有所不同,前者运算量相对较少,数据精度要求较低;而训练对运算量和数据精度要求均比较高,所以针对推理的数据运算加速方式不再适用于训练数据的运算加速。
[0003]脉动阵列(Systolic Array)是常用的一种加速神经网络中矩阵乘和卷积运算的结构,各个处理单元(Processing Element, PE)与相邻处理单元相连,构建成一个二维运算阵列,数据在相邻处理单元间传输,减少了各处理单元直接访存需求,以数据流驱动方式实现运算加速。通过数据重用,减少对输入/输出数据的存取次数,进而降低访存带宽需求。可以有效解决运算速度远高于访存速度的访存瓶颈问题,访存一次可以在整个脉动阵列中流动并驱动运算多拍,通过多拍运算掩盖访存延迟,提高了运算性能,减少了访存带宽与访存开销。
[0004]例如:Google的TPU(Tensor Processing Unit)处理器,采用256*256个Cell单元构建超大脉动阵列,实现卷积运算加速,每个Cell单元固定支持8bit字节*8bit字节+16bit半字的定点运算,支持神经网络全推理流程加速;预先对卷积核和图片或语音等数据进行格式转换,卷积核经过旋转,变成脉动阵列的行输入权重weight数据,图片或语音数据经过重组,变成矩阵向量对应脉动阵列的列输入激活activation数据。权重在脉动阵列中从上向下流动,激活数据从左至右流动,通过数据流驱动两者在Cell单元中完成乘法,并与上方Cell单元传入的中间累加结果进行累加求和,累加结果为16位半字定点,在脉动阵列中从上向下传输。此外,在脉动阵列下方实现与Cell单元对应的累加器,实现中间结果累加,完成卷积运算加速。
[0005]但是上述TPU处理方式利用脉动阵列对卷积运算进行加速,仍然存在以下缺点:1、只适用于神经网络推理,固定支持8bit字节*8bit字节+16bit半字的定点运算,模式固定单一,运算精度较低,不适用于训练;2、由于固定实现8bit字节定点混合乘加运算,脉动阵列与累加器结果均固定为16bit半字定点,写回统一存储缓冲精度固定,灵活性差,应用范围窄。
[0006]因此,无论对于运算精度还是灵活性而言,进行合理高效的卷积运算加速都是非常有必要的。

技术实现思路

[0007]本专利技术的目的是提供一种支持不同精度累加结果写回硬件的方法及装置,运算精
度灵活可配,支持多种精度运算,同时累加结果写回电路支持写回精度灵活可配。
[0008]根据本专利技术的第一方面,提出一种支持不同精度累加结果写回硬件的方法,包括:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;将累加器缓冲中的缓存结果写回至本地局部存储器中。
[0009]进一步的,在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列时,阵列构建方式包括:由一个行数为16行,列数为16列的阵列单元组成的阵列;和/或由两个行数为8行,列数为8列的阵列单元组成的阵列。
[0010]进一步的,读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输,具体包括:采用北向数据加载读取本地局部存储器中的北向数据,将北向数据预加载在矩阵乘法加速单元中最北侧一行,每次加载一行;北向数据在二维脉动阵列中按行从北向南传输。
[0011]进一步的,读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输,具体包括:通过西向数据整形与加载读取本地局部存储器中的西向数据,并进行整形后缓存;将西向数据加载在矩阵乘法加速单元中最西侧一列,每次加载一列;西向数据在二维脉动阵列中按列从西向东传输。
[0012]进一步的,在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作,具体包括:西向数据到达运算单元后与缓存在运算单元内部的北向数据进行乘法运算;乘法结果与北边运算单元传输进来的累加数据进行加法,即完成乘加操作;把乘加结果向南边运算单元传输,实现乘加结果从北向南传输。
[0013]进一步的,累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加,具体包括:累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果;将累加结果与缓存在累加缓冲中的中间结果进行累加求和并缓存;直至完成所有中间结果累加。
[0014]进一步的,将累加器缓冲中的缓存结果写回至本地局部存储器中时,通过累加结果写回电路将累加器缓冲中的缓存结果写回至本地局部存储器中。
[0015]根据本专利技术的第二方面,提供了一种支持不同精度累加结果写回硬件的装置,包括:
阵列构建模块:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;北向数据加载模块:读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;西向数据加载模块:读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;乘加模块:在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;缓冲模块:接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;写回模块:将累加器缓冲中的缓存结果写回至本地局部存储器中。
[0016]根据本专利技术的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项的所述方法步骤。
[0017]根据本专利技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项的所述方法步骤。
[0018]本专利技术的有益效果为:本专利技术提供了一种支持不同精度累加结果写回硬件的方法及装置,运算精度灵活可配,支持多种精度运算,同时累加结果写回电路支持写回精度灵活可配;支持16*16+32的半精度混合浮点乘加运算、16*16+32或者双8*8+16定点混合乘加运算可配,则累加结果数据为32位单精度浮点、32位字定点或者双16位半字定点,保持了脉动阵列加载和写回结果数据的一致性;在脉动阵列中累加结果数据一直为双16位半字定点或32位单精度浮点,提高了中间结果运算精度,避免了精度损失,提高了推本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持不同精度累加结果写回硬件的方法,其特征在于,包括:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;将累加器缓冲中的缓存结果写回至本地局部存储器中。2.根据权利要求1所述的一种支持不同精度累加结果写回硬件的方法,其特征在于,在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列时,阵列构建方式包括:由一个行数为16行,列数为16列的阵列单元组成的阵列;和/或由两个行数为8行,列数为8列的阵列单元组成的阵列。3.根据权利要求1所述的一种支持不同精度累加结果写回硬件的方法,其特征在于,读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输,具体包括:采用北向数据加载读取本地局部存储器中的北向数据,将北向数据预加载在矩阵乘法加速单元中最北侧一行,每次加载一行;北向数据在二维脉动阵列中按行从北向南传输。4.根据权利要求1所述的一种支持不同精度累加结果写回硬件的方法,其特征在于,读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输,具体包括:通过西向数据整形与加载读取本地局部存储器中的西向数据,并进行整形后缓存;将西向数据加载在矩阵乘法加速单元中最西侧一列,每次加载一列;西向数据在二维脉动阵列中按列从西向东传输。5.根据权利要求1所述的一种支持不同精度累加结果写回硬件的方法,其特征在于,在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作,具体包括:西向数据到达运算单元后与缓存在运算单元内部的北向数据进行乘法运算;乘法结果与北边运算...

【专利技术属性】
技术研发人员:谭弘兵吴铁彬谢军郝子宇王迪
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1