一种计算系统的制作方法

文档序号:35707293发布日期:2023-10-12 08:08阅读:26来源:国知局
一种计算系统的制作方法

本发明涉及计算,尤其涉及一种计算系统。


背景技术:

1、深度学习计算中,权重数据(weight)和特征数据(feature)之间的卷积运算需到进行大量mac(乘累加)运算,其中特征数据和权重数据共有7个独立的维度。因此进行计算时,共有7层独立的数据循环,通过配置这7个维度计算的计算顺序和相应的计算指令,可以实现不同的优化方式。

2、传统指令架构,指令仅配置到计算执行层,即所有指令需要预先写入到处理器中,上层的多个维度循环,均通过更多的计算执行层指令迭代实现。如计算执行层为一个乘累加(mac)运算,需要大量的数据搬移指令配合(mac指令的两个输入数据来源和输出数据存储),如权重数据和特征数据搬移至计算模块,中间计算结果的存储指令等,这些指令会占用大量存储空间。


技术实现思路

1、本发明提供一种计算系统,用以实现在对深度学习网络计算的同时,降低计算指令所需的存储空间。

2、本发明实施例提供一种计算系统,包括:外部存储器和处理器;

3、所述外部存储器,存储有用于计算深度学习网络的训练数据集,以及与所述训练数据集对应的配置表,所述配置表中包括特征维度和权重维度分别对应的信息;

4、所述处理器,被配置执行以下操作:

5、接收深度学习网络计算请求,所述深度学习网络计算请求中包括配置表标识;

6、确定所述外部存储器中所述配置表标识对应的配置表,根据确定的配置表中特征维度和权重维度分别对应的信息,获取输入特征数据和输入权重数据;

7、对所述输入特征数据和所述输入权重数据进行计算,得到输出数据。

8、在一个可选实施例中,所述配置表中特征维度和权重维度分别对应的信息至少包括:优先级、总循环次数、输入数据起始地址、输入数据偏移量,所述优先级用于表示循环顺序。

9、所述处理器包括:计算模块和存储模块;

10、所述计算模块,用于根据所述配置表中特征维度和权重维度分别对应的优先级和总循环次数进行循环计算,从所述外部存储器中循环获取特征维度和权重维度分别对应的输入数据起始地址、输入数据偏移量,并根据获取的输入数据起始地址和输入数据偏移量,获取输入特征数据和输入权重数据;

11、所述存储模块,用于存储根据所述输入特征数据和所述输入权重数据计算得到的输出数据。

12、在一个可选实施例中,所述配置表中特征维度和权重维度分别对应的信息还包括:数据量;

13、所述计算模块,用于根据获取的输入数据起始地址、输入数据偏移量获取当前循环中特征维度和权重维度分别对应的当前数据起始位置;

14、所述计算模块,用于根据特征维度和权重维度分别对应的当前数据起始位置以及所述数据量,获取输入特征数据和输入权重数据。

15、在一个可选实施例中,所述配置表中特征维度和权重维度分别对应的信息还包括:分块深度;

16、所述处理器,用于根据所述配置表中特征维度和权重维度分别对应的优先级和总循环次数进行循环计算,根据当前循环次数和分块深度计算特征维度和权重维度对应的输入数据偏移块;

17、所述处理器,还用于将特征维度和权重维度对应的输入数据偏移块存储到中间存储器。

18、在一个可选实施例中,所述处理器包括计算模块和存储模块;

19、所述计算模块,用于根据所述配置表中特征维度和权重维度分别对应的优先级和总循环次数,从所述中间存储器中循环获取特征维度和权重维度分别对应的输入数据起始地址、输入数据偏移量,并根据获取的输入数据起始地址和输入数据偏移量,获取输入特征数据和输入权重数据;

20、所述存储模块,用于存储根据所述输入特征数据和所述输入权重数据计算得到的输出数据。

21、在一个可选实施例中,所述计算模块,还用于根据特征维度和权重维度分别对应的当前循环次数,计算特征维度和权重维度分别对应的输入数据偏移量。

22、在一个可选实施例中,所述输入特征数据包括特征数量、特征通道、特征矩阵行、特征矩阵列;所述输入权重数据包括卷积核数量、特征通道、卷积核行、卷积行列。

23、在一个可选实施例中,所述计算模块,用于通过下述公式对所述输入特征数据和所述输入权重数据进行计算,得到输出数据:

24、output[n][k][h][w]+=feature[n][c][h+r-1][w+s-1]*weight[k][c][r][s];

25、其中,所述输出数据为output[n][k][h][w],所述n为特征数量,所述k为特征通道,所述h为特征矩阵行,所述w为特征矩阵列;所述c为卷积核数量,所述r为卷积核行,所述s为卷积行列。

26、在一个可选实施例中,所述配置表中还包括:输出数据起始地址、输出数据偏移量;

27、所述计算模块,用于根据所述特征数量、所述特征通道、所述特征矩阵行、所述特征矩阵列、所述卷积核数量、所述卷积核行、所述卷积行列,确定对应的输出数据起始地址和输出数据偏移量;

28、所述存储模块,用于将feature[n][c][h+r-1][w+s-1]*weight[k][c][r][s]的计算结果,存储到根据所述输出数据起始地址和输出数据偏移量确定的存储位置处;

29、所述计算模块,用于对所述存储模块内存储的对应于同一个输出数据起始地址的计算结果进行累加,得到所述输出数据output[n][k][h][w]。

30、在一个可选实施例中,所述计算模块,用于根据所述特征数量、所述特征通道、所述特征矩阵行和所述特征矩阵列计算所述输出数据起始地址;

31、所述计算模块,用于根据所述特征通道、所述卷积核数量、所述卷积核行和所述卷积行列计算所述输出数据偏移量。

32、本发明提供的一种计算系统,该计算系统包括:外部存储器和处理器;外部存储器存储有用于计算深度学习网络的训练数据集,以及与训练数据集对应的配置表,该配置表中包括特征维度和权重维度分别对应的信息;处理器被配置执行以下操作:接收深度学习网络计算请求,深度学习网络计算请求中包括配置表标识;确定外部存储器中配置表标识对应的配置表,根据确定的配置表中特征维度和权重维度分别对应的信息,获取输入特征数据和输入权重数据;对输入特征数据和输入权重数据进行计算,得到输出数据。与现有技术中将所有的指令预先写入到处理器中相比,本申请可以根据配置表直接产生多层嵌套循环所需要的大量指令(根据确定的配置表中特征维度和权重维度分别对应的信息,获取输入特征数据和输入权重数据;对输入特征数据和输入权重数据进行计算得到输出数据),然后基于产生的指令进行深度学习网络计算,从而通过本发明实现了在对深度学习网络计算的同时,降低计算指令所需的存储空间。



技术特征:

1.一种计算系统,其特征在于,所述计算系统包括:外部存储器和处理器;

2.根据权利要求1所述的计算系统,其特征在于,所述配置表中特征维度和权重维度分别对应的信息至少包括:优先级、总循环次数、输入数据起始地址、输入数据偏移量,所述优先级用于表示循环顺序。

3.根据权利要求2所述的计算系统,其特征在于,所述配置表中特征维度和权重维度分别对应的信息还包括:数据量;

4.根据权利要求2所述的计算系统,其特征在于,所述配置表中特征维度和权重维度分别对应的信息还包括:分块深度;

5.根据权利要求4所述的计算系统,其特征在于,所述处理器包括计算模块和存储模块;

6.根据权利要求2或5所述的计算系统,其特征在于,所述计算模块,还用于根据特征维度和权重维度分别对应的当前循环次数,计算特征维度和权重维度分别对应的输入数据偏移量。

7.根据权利要求6所述的计算系统,其特征在于,所述输入特征数据包括特征数量、特征通道、特征矩阵行、特征矩阵列;所述输入权重数据包括卷积核数量、特征通道、卷积核行、卷积行列。

8.根据权利要求7所述的计算系统,其特征在于,所述计算模块,用于通过下述公式对所述输入特征数据和所述输入权重数据进行计算,得到输出数据:

9.根据权利要求8所述的计算系统,其特征在于,所述配置表中还包括:输出数据起始地址、输出数据偏移量;

10.根据权利要求9所述的计算系统,其特征在于,


技术总结
本发明公开了一种计算系统,用以在对深度学习网络计算时,降低指令所需的存储空间。该计算系统包括:外部存储器和处理器;所述外部存储器,存储有用于计算深度学习网络的训练数据集,以及与训练数据集对应的配置表,所述配置表中包括特征维度和权重维度分别对应的信息;所述处理器,被配置执行以下操作:接收深度学习网络计算请求,深度学习网络计算请求中包括配置表标识;确定所述外部存储器中所述配置表标识对应的配置表,根据确定的配置表中特征维度和权重维度分别对应的信息,获取输入特征数据和输入权重数据;对所述输入特征数据和所述输入权重数据进行计算,得到输出数据。

技术研发人员:雷亚雄,高曰超
受保护的技术使用者:北京思丰可科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1