片上网络数据处理方法、存储介质、计算机设备和装置制造方法及图纸

技术编号:23985586 阅读:34 留言:0更新日期:2020-04-29 13:22
本申请涉及一种片上网络数据处理方法,所述方法应用于片上网络处理系统,所述片上网络处理系统用于执行机器学习计算,所述片上网络处理系统包括:存储装置以及计算装置;所述方法包括:通过所述片上网络处理系统中的第一计算装置访问所述片上网络处理系统中的存储装置,获取第一运算数据;通过所述第一计算装置对所述第一运算数据进行运算,得到第一运算结果;将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置。该方法能够减少运算开销,提高数据读写效率。

On chip network data processing method, storage medium, computer equipment and device

【技术实现步骤摘要】
片上网络数据处理方法、存储介质、计算机设备和装置
本申请涉及信息处理
,特别是涉及一种片上网络数据处理方法、存储介质、计算机设备和装置。
技术介绍
随着半导体工艺技术的发展,在单一芯片中集成上亿晶体管已经成为现实。片上网络(NetworkonChip,NoC)能够在单芯片上集成大量的计算资源,并且实现片上通信。由于神经网络中需要进行大量的计算,其中有一些计算需要并行处理,例如正向运算、反向运算、权值更新等。在晶体管数目众多的芯片体系结构中,芯片设计将面临访存开销大,带宽阻塞多,数据读写效率低等问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够减少运算开销,提高数据读写效率的片上网络数据处理方法、存储介质、计算机设备和装置。第一方面,提供一种片上网络数据处理方法,所述方法应用于片上网络处理系统,所述片上网络处理系统用于执行机器学习计算,所述片上网络处理系统包括:存储装置以及计算装置;所述方法包括:通过所述片上网络处理系统中的第一计算装置访问所述片上网络处理系统中的存储装置,获取第一运算数据;通过所述第一计算装置对所述第一运算数据进行运算,得到第一运算结果;将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置。第二方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法所提及的步骤。第三方面,本申请实施例提供了一种片上网络数据处理系统,包括存储器、多核处理器以及存储在所述存储器上并可在所述多核处理器上运行的计算机程序,其特征在于,所述多核处理器执行所述计算机程序时实现上述方法所提及的步骤。第四方面,本申请实施例提供了一种片上网络数据处理装置,所述片上网络处理装置用于执行机器学习计算,包括:获取模块,用于通过所述片上网络处理系统中的第一计算装置访问所述片上网络处理系统中的存储装置,获取第一运算数据;运算模块,用于通过所述第一计算装置对所述第一运算数据进行运算,得到第一运算结果;发送模块,用于将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置。上述片上网络数据处理方法、存储介质、计算机设备和装置,通过在设置于同一片上的多个计算装置之间建立连接,使多个计算装置之间能够进行数据传输,并且在计算过程中,对输入数据以及生成的中间计算结果进行分时和复用,从而降低了访存过程中的能耗开销,减少了存储带宽阻塞,同时提高了数据的读写效率。附图说明图1为一个实施例中片上网络处理系统1100的结构示意图;图2为一个实施例中片上网络处理系统1200的结构示意图;图3为一个实施例中片上网络处理系统1300的结构示意图;图4为一个实施例中片上网络处理系统1400的结构示意图;图5a一个实施例中片上网络处理系统1500的结构示意图;图5b一个实施例中片上网络处理系统15000的结构示意图;图6为一个实施例中片上网络处理系统1600的结构示意图;图7为一个实施例中片上网络处理系统1700的结构示意图;图8为一个实施例中片上网络处理系统1800的结构示意图;图9为一个实施例中片上网络处理系统1900的结构示意图;图10a为一个实施例中片上网络处理系统1910的结构示意图;图10b为一个实施例中片上网络处理系统19100的结构示意图;图11为一个实施例中片上网络处理系统1920的结构示意图;图12为一个实施例中片上网络处理系统1930的结构示意图;图13为一个实施例中计算装置的结构示意图;图14为另一个实施例中计算装置的结构示意图;图15为一个实施例中主处理电路的结构示意图;图16为另一个实施例中计算装置的结构示意图;图17为另一个实施例中计算装置的结构示意图;图18为一个实施例中树型模块的结构示意图;图19为另一个实施例中计算装置的结构示意图;图20为另一个实施例中计算装置的结构示意图;图21为另一个实施例中计算装置的结构示意图;图22为一个实施例中组合处理装置的结构示意图;图23为另一个实施例中组合处理装置的结构示意图;图24为一个实施例中板卡的结构示意图;图25为一个实施例中片上网络数据处理方法的流程示意图;图26为另一个实施例中片上网络数据处理方法的流程示意图;图27为另一个实施例中片上网络数据处理方法的流程示意图;图28为另一个实施例中片上网络数据处理方法的流程示意图;图29为另一个实施例中片上网络数据处理方法的流程示意图;图30为另一个实施例中片上网络数据处理方法的流程示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在一个实施例中,提供了一种片上网络处理系统,该系统包括:存储装置和多个计算装置,所述存储装置和多个所述计算装置设置于同一片上,其中,至少一个计算装置与所述存储装置连接,并且至少两个计算装置之间相互连接。其中,片上网络(NetworkonChip,NoC)是指在单芯片上集成大量的计算资源以及连接这些资源的片上通信网络,各芯片中的模块通过标准化的网络接口(NIC)接入网络,使用共享的网络资源和目的模块进行通信。具体地,所述存储装置和多个所述计算装置设置于同一片上指的是,将存储装置和多个计算装置集成在同一芯片上。处理器核和片外存储装置之间通过NoC相连,NoC还支持处理器多个核之间的通信。本申请实施例中的片上网络处理系统都是基于NoC来实现片上通信。另外,本申请实施例中的片上网络处理系统既可以进行片内存储,也可以进行片外存储,也就是说,神经网络处理器处理过程中的运算数据既可以存储在片内的存储装置,也可以存储在片外的存储装置;由于片上网络处理系统的片内存储容量有本文档来自技高网...

【技术保护点】
1.一种片上网络数据处理方法,其特征在于,所述方法应用于片上网络处理系统,所述片上网络处理系统用于执行机器学习计算,所述片上网络处理系统包括:存储装置以及计算装置;所述方法包括:/n通过所述片上网络处理系统中的第一计算装置访问所述片上网络处理系统中的存储装置,获取第一运算数据;/n通过所述第一计算装置对所述第一运算数据进行运算,得到第一运算结果;/n将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置。/n

【技术特征摘要】
1.一种片上网络数据处理方法,其特征在于,所述方法应用于片上网络处理系统,所述片上网络处理系统用于执行机器学习计算,所述片上网络处理系统包括:存储装置以及计算装置;所述方法包括:
通过所述片上网络处理系统中的第一计算装置访问所述片上网络处理系统中的存储装置,获取第一运算数据;
通过所述第一计算装置对所述第一运算数据进行运算,得到第一运算结果;
将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置。


2.根据权利要求1所述的方法,其特征在于,所述计算装置包括:运算单元以及控制器单元;
所述通过所述片上网络处理系统中的第一计算装置访问所述片上网络处理系统中的存储装置,获取第一运算数据,包括:
所述第一计算装置中的控制器单元从所述存储装置中获取所述第一运算数据以及计算指令。


3.根据权利要求2所述的方法,其特征在于,所述运算单元包括:一个主处理电路和多个从处理电路;
所述通过所述第一计算装置对所述第一运算数据进行运算,得到第一运算结果,包括:
通过所述第一计算装置中的控制器单元解析所述计算指令,得到多个运算指令,所述第一计算装置中的控制器单元将所述多个运算指令以及所述第一运算数据发送给所述第一计算装置中的主处理电路;
通过所述第一计算装置中的主处理电路对所述第一运算数据执行前序处理,以及与所述第一计算装置中的多个从处理电路之间的传输数据和运算指令;
所述第一计算装置中的多个从处理电路依据从所述第一计算装置中的主处理电路传输的运算数据以及运算指令,并行执行中间运算得到多个中间结果,并将所述多个中间结果传输给所述第一计算装置中的主处理电路;
所述第一计算装置中的主处理电路对所述多个中间结果执行后续处理,得到所述计算指令的第一运算结果。


4.根据权利要求3所述的方法,其特征在于,所述将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置,包括:
所述第一计算装置中的控制器单元将所述第一运算结果发送至所述片上网络处理系统中的第二计算装置。


5.根据权利要求3所述的方法,其特征在于,所述机器学习计算包括:人工神经网络运算,所述第一运算数据包括:输入神经元数据和权值数据;所述第一运算结果为输出神经元数据。


6.根据权利要求5所述的方法,其特征在于,所述计算装置还包括:存储单元和直接内存访问单元,所述存储单元包括:寄存器、缓存中任意组合;
所述缓存用于存储所述第一运算数据;
所述寄存器用于存储所述第一运算数据中的标量。


7.根据权利要求5所述的方法,其特征在于,所述控制器单元包括:指令存储单元、指令处理单元和存储队列单元;
所述指令存储单元存储所述人工神经网络运算关联的计算指令;
所述指令处理单元对所述计算指令解析得到多个运算指令;
所述存储队列单元存储指令队列,所述指令队列包括:按所述指令队列的前后顺序待执行的多个运算指令和/或计算指令。


8.根据权利要求7所述的方法,其特征在于,所述主处理电路包括:依赖关系处理单元;
所述依赖关系处理单元确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,将所述第一运算指令缓存在所述指令存储单元内,在所述第零运算指令执行完毕后,从所述指令存储单元提取所述第一运算指令传输至所述运算单元;
所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需数据的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,确定所述第一运算指令与所述第零运算指令不具有关联关系。


9.根据权利要求2所述的方法,其特征在于,所述运算单元包括:树型模块,所述树型模块包括:一个根端口和多个支端口,所述树型模块的根端口连接所述主处理电路,所述树型模块的多个支端口分别连接多个从处理电路中的一个从处理电路;
所述树型模块转发所述主处理电路与所述多个从处理电路之间的数据块、权值以及运算指令。


10.根据权...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

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

1