一种按照比特精度进行权重拆分的卷积运算加速方法

    公开(公告)号:CN112434801A

    公开(公告)日:2021-03-02

    申请号:CN202011192684.1

    申请日:2020-10-30

    摘要: 本发明公开了一种按照比特精度进行权重拆分的卷积运算加速方法,包括:1)对于卷积核中每一个权重W,遍历比较其每一个比特位,标记出所有比特数据中的非零元素ck×k’,q,同时将此位置所属的权重Wk×k’对应的输入特征图数据FIk×k’标记,传递给FIk×k’,q’,未被标记处的FIk×k’,q’用“0”补上;2)对于每一个比特位,累加被归类给予当前比特的所有输入数据;3)将每q比特下的累加结果乘以2q;4)对移位计算获得的结果再次进行累加,以获得当前卷积运算的输出特征图数据FO;迭代地重复步骤1)至4),则可生成所有卷积通道的输出特征图数据。本发明使得卷积运算摆脱了对片上DSP资源的依赖,提高了卷积运算可以达到的计算并行度的上限。

    一种Winograd卷积运算加速方法及加速模块

    公开(公告)号:CN113283587A

    公开(公告)日:2021-08-20

    申请号:CN202110588325.6

    申请日:2021-05-28

    IPC分类号: G06N3/04 G06N3/08 G06F15/78

    摘要: 本发明提供一种Winograd卷积运算加速方法及加速模块,对于非3×3形状的卷积运算,使用基于步长的卷积核拆分方法将输入矩阵拆分或者填充为4×4的输入矩阵,将卷积核矩阵拆分或者填充为3×3的卷积核矩阵;使用卷积核转换矩阵G和输入矩阵转换矩阵BT对3×3的卷积核矩阵和4×4的输入矩阵分别进行Winograd变换,得到变换后的卷积核矩阵U和输入矩阵V;对变换后的卷积核矩阵U中的元素uξ,v按照比特级精度进行权重拆分,通过累加运算和移位运算得到矩阵Z;对矩阵Z进行Winograd变换,获得卷积运算的输出矩阵。本发明不但能合理利用片上资源、降低计算复杂度,且可以兼容大多数尺寸的卷积运算。

    一种Winograd卷积运算加速方法及加速模块

    公开(公告)号:CN113283587B

    公开(公告)日:2023-09-19

    申请号:CN202110588325.6

    申请日:2021-05-28

    IPC分类号: G06N3/0464 G06N3/08 G06F15/78

    摘要: 本发明提供一种Winograd卷积运算加速方法及加速模块,对于非3×3形状的卷积运算,使用基于步长的卷积核拆分方法将输入矩阵拆分或者填充为4×4的输入矩阵,将卷积核矩阵拆分或者填充为3×3的卷积核矩阵;使用卷积核转换矩阵G和输入矩阵转换矩阵BT对3×3的卷积核矩阵和4×4的输入矩阵分别进行Winograd变换,得到变换后的卷积核矩阵U和输入矩阵V;对变换后的卷积核矩阵U中的元素uξ,v按照比特级精度进行权重拆分,通过累加运算和移位运算得到矩阵Z;对矩阵Z进行Winograd变换,获得卷积运算的输出矩阵。本发明不但能合理利用片上资源、降低计算复杂度,且可以兼容大多数尺寸的卷积运算。

    一种按照比特精度进行权重拆分的卷积运算加速方法

    公开(公告)号:CN112434801B

    公开(公告)日:2022-12-09

    申请号:CN202011192684.1

    申请日:2020-10-30

    摘要: 本发明公开了一种按照比特精度进行权重拆分的卷积运算加速方法,包括:1)对于卷积核中每一个权重W,遍历比较其每一个比特位,标记出所有比特数据中的非零元素ck×k’,q,同时将此位置所属的权重Wk×k’对应的输入特征图数据FIk×k’标记,传递给FIk×k’,q’,未被标记处的FIk×k’,q’用“0”补上;2)对于每一个比特位,累加被归类给予当前比特的所有输入数据;3)将每q比特下的累加结果乘以2q;4)对移位计算获得的结果再次进行累加,以获得当前卷积运算的输出特征图数据FO;迭代地重复步骤1)至4),则可生成所有卷积通道的输出特征图数据。本发明使得卷积运算摆脱了对片上DSP资源的依赖,提高了卷积运算可以达到的计算并行度的上限。