数据处理装置、数据处理方法及相关装置与流程

文档序号:34667015发布日期:2023-07-05 14:47阅读:22来源:国知局
数据处理装置、数据处理方法及相关装置与流程

本申请涉及神经网络处理器,特别是一种数据处理装置、数据处理方法及相关装置。


背景技术:

1、随着现有技术的发展,为了增强装置人工智能的能力,通常会在系统中集成神经网络处理器(neural network processing unit,npu),一般采用“数据驱动并行计算”的架构,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。如何降低npu的功耗成为了一个难题。


技术实现思路

1、有鉴于此,本申请提供了一种数据处理装置、数据处理方法及相关装置,可以通过特定的存储空间架构减小神经网络处理器中缓存控制电路的面积,降低数据写入和读取的功耗。

2、第一方面,本申请实施例提供了一种数据处理装置,包括神经网络处理器,所述神经网络处理器包括处理单元阵列和m个存储模块,所述处理单元阵列包括m列处理单元集,m为正偶数;

3、每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的m个环形缓存空间组成至多m/2个循环缓存空间,每个循环缓存空间包括至少2个至多m个环形缓存空间;

4、每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前n-1行首部地址空间和后n-1行尾部地址空间,n为卷积核的大小nxn,n为大于1且小于x的正整数;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后n-1行尾部影子空间与其后一个环形缓存空间的前n-1行首部地址空间存在第一映射关系,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前n-1行首部影子空间与其前一个环形缓存空间的n-1行尾部地址空间存在第二映射关系;

5、所述m个存储模块用于分布式存储第一数据,所述m列处理单元集用于从所述m个存储模块中读取分布式存储的所述第一数据。

6、第二方面,本申请实施例提供了一种数据处理方法,应用于如本申请实施例第一方面所述的数据处理装置,所述方法包括:

7、根据第一数据的通道数n将所述第一数据划分为n个第一子数据,所述第一数据表示待存储的数据,n为小于或等于m/2的正整数;

8、将每个第一子数据写入int(m/n)个环形缓存空间组成的循环缓存空间中,任意一个循环缓存空间用于存储任意一个第一子数据。

9、第三方面,本申请实施例提供了一种系统级芯片,所述神经网络处理器包括处理单元阵列和m个存储模块,所述处理单元阵列包括m列处理单元集,m为正偶数;每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的m个环形缓存空间组成至多m/2个循环缓存空间,每个循环缓存空间包括至少2个至多m个环形缓存空间;每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前n-1行首部地址空间和后n-1行尾部地址空间,n为卷积核的大小nxn,n为大于1且小于x的正整数;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后n-1行尾部影子空间与其后一个环形缓存空间的前n-1行首部地址空间存在第一映射关系,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前n-1行首部影子空间与其前一个环形缓存空间的n-1行尾部地址空间存在第二映射关系;所述神经网络处理器用于:

10、根据第一数据的通道数n将所述第一数据划分为n个第一子数据,所述第一数据表示待存储的数据,n为小于或等于m/2的正整数;

11、将每个第一子数据写入int(m/n)个环形缓存空间组成的循环缓存空间中,任意一个循环缓存空间用于存储任意一个第一子数据。

12、第四方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行如本申请实施例第二方面任一项所述的方法中的步骤的指令。

13、第五方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如本申请实施例第二方面任一项所述的方法。

14、第六方面,本申请实施例提供了一种计算机产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第二方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

15、可见,通过上述数据处理装置、数据处理方法及相关装置,包括神经网络处理器,所述神经网络处理器包括处理单元阵列和m个存储模块,所述处理单元阵列包括m列处理单元集,m为正偶数;每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的m个环形缓存空间组成至多m/2个循环缓存空间,每个循环缓存空间包括至少2个至多m个环形缓存空间;每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前n-1行首部地址空间和后n-1行尾部地址空间,n为卷积核的大小nxn,n为大于1且小于x的正整数;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后n-1行尾部影子空间与其后一个环形缓存空间的前n-1行首部地址空间存在第一映射关系,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前n-1行首部影子空间与其前一个环形缓存空间的n-1行尾部地址空间存在第二映射关系;所述m个存储模块用于分布式存储第一数据,所述m列处理单元集用于从所述m个存储模块中读取分布式存储的所述第一数据。可以减小神经网络处理器中缓存控制电路的面积,降低数据写入和读取的功耗。



技术特征:

1.一种数据处理装置,其特征在于,包括神经网络处理器,所述神经网络处理器包括处理单元阵列和m个存储模块,所述处理单元阵列包括m列处理单元集,m为正偶数;

2.一种数据处理方法,其特征在于,应用于权利要求1所述的数据处理装置,所述方法包括:

3.根据权利要求2所述的方法,其特征在于,所述将每个第一子数据写入int(m/n)个环形缓存空间组成的循环缓存空间中,包括:

4.根据权利要求1所述的方法,其特征在于,所述将每个第一子数据写入int(m/n)个环形缓存空间组成的循环缓存空间中之后,所述方法还包括:

5.根据权利要求2-4任一项所述的方法,其特征在于,所述通过每个处理单元集读取所述每个循环缓存空间中的第一子数据,包括:

6.根据权利要求5所述的方法,其特征在于,所述依次循环读取int(m/n)个环形缓存空间的int(m/n)*x)行y轮以读取所述每个第一子数据,包括:

7.一种系统级芯片,其特征在于,所述神经网络处理器包括处理单元阵列和m个存储模块,所述处理单元阵列包括m列处理单元集,m为正偶数;每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的m个环形缓存空间组成至多m/2个循环缓存空间,每个循环缓存空间包括至少2个至多m个环形缓存空间;每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前n-1行首部地址空间和后n-1行尾部地址空间,n为卷积核的大小nxn,n为大于1且小于x的正整数;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后n-1行尾部影子空间与其后一个环形缓存空间的前n-1行首部地址空间存在第一映射关系,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前n-1行首部影子空间与其前一个环形缓存空间的n-1行尾部地址空间存在第二映射关系;所述神经网络处理器用于:

8.根据权利要求7所述的系统级芯片,其特征在于,所述在通过每个处理单元集读取所述每个循环缓存空间中的第一子数据方面,所述神经网络处理器具体用于:

9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求2至6任一项所述的数据处理方法。

10.一种计算机存储介质,其特征在于,所述计算机介质存储用于电子设备执行的程序代码,所述程序代码包括如权利要求2至6任一项所述的方法。


技术总结
本申请提供了一种数据处理装置、数据处理方法及相关装置,包括神经网络处理器,首先,根据第一数据的通道数n将所述第一数据划分为n个第一子数据,所述第一数据表示待存储的数据,n为小于或等于M/2的正整数;将每个第一子数据写入INT(M/n)个环形缓存空间组成的循环缓存空间中,任意一个循环缓存空间用于存储任意一个第一子数据。可以通过特定的存储空间架构减小神经网络处理器中缓存控制电路的面积,降低数据写入和读取的功耗。

技术研发人员:高迪
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1