System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据移动优化及科学运算,特别是一种处理单元数组及其运作方法。
技术介绍
1、在数据密集型科学计算中,相比于对数据进行算术操作,从内存获取数据消耗更多功率并导致更多延迟。为了尽可能地减少数据采集次数,需要在运算单元(processingelement,pe) 之间设计一种高效率的数据交换机制,使得一次数据采集可以在多个算术操作被再利用。为了这个目的,需要在每个时序和处理器分配数据空间,并设计处理器之间的数据路径以按时传送数据。
2、一个经典的方法是以线性拓扑连接多个处理器。线性数据路径可以在每个时步(timestep) 传送一笔数据。然而,如果处理器需要取得多笔资料才能完成一次计算,而且处理器不使用本地储存,则处理器必须在每个时序立即将资料传送给邻居,否则计算会被阻塞。然而,此方法的计算需要花费多个阶段才能被完成,而且每个阶段都需要占用相同数量的带宽。
3、藉由利用本地储存,每个处理器都可以存取所需的数据,并在不会干扰其他处理器的状况下全速运行。然而,这种方式在多个储存装置储存重复的数据,造成严重的储存负担。
技术实现思路
1、有鉴于此,本专利技术提出一种处理单元数组及其运作方法。
2、依据本专利技术一实施例的一种处理单元数组及其运作方法,所述处理单元数组包括线性排列的n个处理单元,n大于或等于2,且所述处理单元数组的运作方法包括:以所述处理单元执行第一数据传输程序,其中i的初始值为1,且所述第一数据传输程序包括:以所述处理单元中的第
3、依据本专利技术一实施例的一种处理单元数组,包括:线性排列的n个处理单元,其中n大于或等于2,所述n个处理单元的每一者包括一处理器及一内存,从而所述n个处理单元包括n个处理器及n个内存,其中:所述n个内存用于储存p个数据,且p大于n;所述n 个内存中的第一个内存至第n个内存分别用于储存所述p个数据中的第1个数据至第n个数据;所述n个内存中的所述第n个内存用于储存所述p个数据中的第(n+1)个资料;所述n 个处理器的每一者依据对应的所述内存储存的数据进行运算,或依据从其他处理单元接收到的数据进行运算;以及(n-1)个传输电路,所述(n-1)个传输电路的每一者电性连接至所述n 个处理单元中彼此相邻的左处理单元及右处理单元,所述(n-1)个传输电路的每一者用于从所述左处理单元接收一数据并传送所述数据至所述右处理单元,或从所述右处理单元接收另一数据并传送所述另一数据至所述左处理单元。
4、依据本专利技术另一实施例的一种处理单元数组,包括:排列为m列n行的m×n个处理单元,其中m、n皆大于或等于2,所述m×n个处理单元的每一者包括一处理器,一列内存、一行内存,从而所述m×n个处理单元包括m×n个处理器,所述m列的每一者具有n 个列内存,所述n行的每一者具有m个行内存;其中位于同一列的所述n个列内存用于储存p个数据,且p大于n;位于同一列的所述n个列内存中的第一个列内存至第n个列内存分别用于储存所述p个数据中的第1个数据至第n个数据;位于同一列的所述n个列内存中的所述第n个列内存用于储存所述p个数据中的第(n+1)个资料;位于同一列的所述n个处理器的每一者依据对应的所述列内存储存的数据进行运算,或依据从其他处理单元接收到的数据进行运算;位于同一行的所述m个行内存用于储存q个数据,且q大于m;位于同一行的所述m个行内存中的第一个行内存至第m个行内存分别用于储存所述q个数据中的第 1个数据至第m个数据;位于同一行的所述m个行内存中的所述第m个行内存用于储存所述q个数据中的第(m+1)个资料;位于同一行的所述m个处理器的每一者依据对应的所述行内存储存的数据进行运算,或依据从其他处理单元接收到的数据进行运算;(m×n-m)个列传输电路,其中:所述列传输电路的每一者电性连接至所述m列中的每一者所具有的所述n 个处理单元中彼此相邻的左处理单元及右处理单元;及所述列传输电路的每一者用于从所述左处理单元接收一列数据并传送所述列数据至所述右处理单元,或从所述右处理单元接收另一列数据并传送所述另一列数据至所述左处理单元;以及(m×n-n)个行传输电路,其中:所述行传输电路的每一者电性连接至所述n行中的每一者所具有的所述m个处理处理单元中彼此相邻的上处理单元及下处理单元;及所述行传输电路的每一者用于从所述上处理单元接收一行数据并传送所述行数据至所述下处理单元,或从所述下处理单元接收另一行数据并传送所述另一行数据至所述上处理单元。
5、综上所述,本专利技术提出的处理单元数组及其运作方法,在不同处理单元内的多个内存分配共享的、非重复的数据区块。由于数据区块被分散在各个处理单元中,在不同的计算阶段,只有一个处理单元持有数据并且有资格将数据传送给其他处理单元。因此,随着时间的推移,数据传送方向会发生变化。本专利技术提出的方法可以减少资料传送方向变化的次数。本专利技术至少适用于卷积神经网络运算及矩阵乘法运算,这两种科学计算都被认为是现代深度学习中最重要的工作。
本文档来自技高网...【技术保护点】
1.一种处理单元数组的运作方法,其特征在于,所述处理单元数组包括线性排列的N个处理单元,N大于或等于2,且所述处理单元数组的运作方法包括:
2.根据权利要求1所述的处理单元数组的运作方法,其特征在于,在执行所述第一数据传输程序之前,所述方法还包括:
3.根据权利要求1所述的处理单元数组的运作方法,其特征在于,所述处理单元依据第一顺序储存一组数据的第一部分,所述处理单元中的一或多个依据第二顺序储存所述组数据的第二部分,其中所述第一顺序为从1递增至N,所述第二顺序相反于所述第一顺序,所述第一部分包括所述处理单元每一者的所述第一数据,以及所述第二部分包括所述一或多个处理单元的每一者的所述第二数据。
4.根据权利要求1所述的处理单元数组的运作方法,其特征在于,还包括:当J等于1时且所述第J个处理单元储存有未使用过的所述第一数据时,以所述处理单元再次执行所述第一数据传输程序。
5.根据权利要求1所述的处理单元数组的运作方法,其特征在于,所述处理单元中的第I个处理单元将所述第一数据传输至所述处理单元中除了本身以外的所述一或多个处理单元包括:
...【技术特征摘要】
1.一种处理单元数组的运作方法,其特征在于,所述处理单元数组包括线性排列的n个处理单元,n大于或等于2,且所述处理单元数组的运作方法包括:
2.根据权利要求1所述的处理单元数组的运作方法,其特征在于,在执行所述第一数据传输程序之前,所述方法还包括:
3.根据权利要求1所述的处理单元数组的运作方法,其特征在于,所述处理单元依据第一顺序储存一组数据的第一部分,所述处理单元中的一或多个依据第二顺序储存所述组数据的第二部分,其中所述第一顺序为从1递增至n,所述第二顺序相反于所述第一顺序,所述第一部分包括所述处理单元每一者的所述第一数据,以及所述第二部分包括所述一或多个处理单元的每一者的所述第二数据。
4.根据权利要求1所述的处理单元数组的运作方法,其特征在于,还包括:当j等于1时且所述第j个处理单元储存有未使用过的所述第一数据时,以所述处理单元再次执行所述第一数据传输程序。<...
【专利技术属性】
技术研发人员:林裕盛,陈佩君,陈维超,
申请(专利权)人:英业达科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。