System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及一种包括存储器的处理设备,具体地,涉及一种被配置为从存储器中被标识的位置发送和接收数据的处理设备。
技术介绍
1、处理设备可以包括执行单元和存储器。执行单元能够执行一个或多个程序线程以对从存储器加载的数据执行操作以生成结果,然后将结果存储在存储器中。该结果可以由执行单元进行后续处理,或者可以从处理设备发出。
2、为了增加对运行的应用可用的处理能力,多个处理设备可以连接在一起,并且被配置为在交换它们的结果之前相互并行地执行多个不同类型的操作。在机器智能中可以找到这种并行处理架构有用的环境示例。如机器智能领域的技术人员所熟悉的,机器智能算法基于对“知识模型”执行迭代更新,其中“知识模型”可以由多个互连节点的图来表示。每个节点代表其输入的函数。一些节点接收图的输入,一些节点接收来自一个或多个其他节点的输入,而一些节点的输出形成其他节点的输入,一些节点的输出提供图的输出(在某些情况下,给定节点甚至可能具有所有这些:图的输入、图的输出以及到其他节点的连接)。此外,每个节点处的函数由一个或多个相应的参数(例如权重)来参数化。在学习阶段期间,目标是基于一组经验输入数据来找到各种参数的值,使得图作为一个整体将为一系列可能的输入生成所需的输出。实现这一点的各种算法在本领域中是已知的,例如基于随机梯度下降的反向传播算法。在基于输入数据的多次迭代中,参数被逐渐调整以减少它们的误差,从而图收敛于解。在随后的阶段中,在给定一组指定输入的情况下,习得的模型可以用于预测输出,或者在给定一组指定输出的情况下,对输入(原因)进行推断。
>3、在这样的机器学习应用中,每个节点的实施都将涉及数据的处理,图的互连对应于节点之间要交换的数据。通常,每个节点的至少一些处理可以独立于图中的一些或所有其他节点来执行,因此大型图为并行性提供了很大的机会。
4、当执行涉及多个处理设备的应用时,通常需要在这些设备之间交换数据。当发送数据时,处理设备必须具有识别要被发送的每个数据项存储在其存储器中的什么地方的能力。此外,当接收数据时,处理设备必须具有识别每个接收到的数据项要被存储在其存储器中的什么地方的能力。
技术实现思路
1、为了使处理设备能够识别存储器中用于发送或存储数据的位置,可以在存储在处理设备中的经编译的代码集中明确地标识存储器地址。然而,将每个存储器地址明确地存储在处理设备的指令存储器中需要指令存储器中大量的存储空间。希望找到一种方法来减少所需的存储空间量,同时仍然能够识别用于发送和存储数据的存储器地址。
2、根据第一方面,提供了一种处理设备,其包括:存储器;执行单元,被配置为执行发送指令以向处理设备外部发送数据;发送引擎,包括:一个或多个寄存器,用于存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向存储器要被访问的地址以将数据发送到处理设备外部;以及处理电路,被配置为响应于执行单元对发送指令的一个或多个实例的执行:使得在存储器中由指针标识的位置处的多个数据项被发送到处理设备外部的至少一个目的地;以及在多个数据项之一的每次发送之间,根据可变步幅模式更新指针,其中执行单元被配置为执行至少一个指令以更新由发送引擎使用的可变步幅模式,其中更新可变步幅模式包括响应于由执行单元执行的发送指令的另外的实例,更新一个或多个配置值中的至少一个配置值以供发送引擎在执行一个或多个后续发送时使用。
3、专利技术人已经认识到,对于某些应用,保存在处理设备的存储器中的应用数据的部分(例如,作为执行单元执行的操作的结果而产生的数据)在存储器中以规则的重复模式排列,因此,执行单元可以建立合适的步幅模式以供发送引擎使用。发送引擎在根据所配置的步幅模式的位置访问存储器,以便访问以规则模式排列在一起的多个数据项。因此,发送引擎能够从存储器中的适当位置发送数据,而不需要执行单元为要从处理设备发送的每个数据项提供明确的地址值。以这种方式,实施例提供了一种可以减少用于发送数据的代码大小的方式。
4、在一些实施例中,所述至少一个指令包括具有组合的发送和更新功能的指令,当由执行单元执行时,所述指令使得:一个或多个配置值中的至少一个配置值的新值被提供给发送引擎以供发送引擎在执行一个或多个后续发送时使用;以及从存储器发送另外的数据项。
5、在一些实施例中,当由执行单元执行时,所述至少一个指令使得一个或多个配置值中的至少一个配置值的新值被复制到一个或多个寄存器的部分,而发送引擎继续使用一个或多个配置值中的至少一个配置值的先前值来更新指针。
6、在一些实施例中,执行单元被配置为在将新值复制到一个或多个寄存器的部分之后,使新值替换先前值以供发送引擎使用。
7、在一些实施例中,一个或多个配置值中的至少一个配置值包括以下各项中的至少一个:步幅大小值,其定义存储器中要由发送引擎连续发送的两个数据项之间的间隔;以及重复值,其定义在应用不同大小的步幅之前,发送引擎应用特定大小的步幅的次数。
8、在一些实施例中,存储器被配置为存储经编译的代码集,经编译的代码集包括发送指令的一个或多个实例和用于更新可变步幅模式的至少一个指令的一个或多个实例,其中,经编译的代码集被排列为使得发送指令的一个或多个实例中的每一个实例在被分配的时钟周期期间执行,该被分配的时钟周期是在接收到同步信号之后的预定数量的处理器时钟周期,其中经编译的代码集被排列为使得用于更新可变步幅模式的至少一个指令的一个或多个实例中的每一个实例在被分配的时钟周期期间执行,该被分配的时钟周期是在接收到同步信号之后的预定数量的处理器时钟周期。
9、在一些实施例中,处理设备包括布线,该布线被配置为沿着回送路径传输来自存储器的要被存储回存储器的另外的数据,其中发送引擎的处理电路被配置为,响应于执行单元对发送指令的附加一个或多个实例的执行:通过经由回送路径以对发送引擎活动的当前可变步幅模式所确定的顺序来发送多个另外的数据项,使得该多个另外的数据项在存储器中被重新排列。
10、根据第二方面,提供了一种处理设备,其包括:存储器;执行单元;以及接收引擎,包括:一个或多个寄存器,用于存储定义可变步幅模式的一个或多个配置值,该可变步幅模式用于更新指针,该指针指向存储器要被访问的地址以存储在处理设备处接收的数据;以及处理电路,被配置为响应于在处理设备处接收到多个数据项,使得多个数据项被存储在存储器中由指针标识的位置;并且对于多个数据项之一的每次接收和存储,根据可变步幅模式更新指针,其中执行单元被配置为执行至少一个指令来更新由接收引擎使用的可变步幅模式,其中更新可变步幅模式包括更新一个或多个配置值中的至少一个配置值,使得一个或多个配置中的至少一个配置值的新值被接收引擎用于存储在处理设备处接收的一个或多个另外的数据项。
11、以与发送类似的方式,执行可以设置供接收引擎使用的步幅模式。接收引擎在接收到多个数据项时,使这些数据项存储在存储器中的根据所配置的步幅模式确定的位置。数据项可以以规则的重复模式存储,该本文档来自技高网...
【技术保护点】
1.一种处理设备,包括:
2.根据权利要求1所述的处理设备,其中所述至少一个指令包括具有组合的发送和更新功能的指令,当由所述执行单元执行时,所述指令使得:
3.根据权利要求1或2所述的处理设备,其中当由所述执行单元执行时,所述至少一个指令使得所述一个或多个配置值中的至少一个配置值的所述新值被复制到所述一个或多个寄存器的部分,而所述发送引擎继续使用所述一个或多个配置值中的至少一个配置值的先前值来更新所述指针。
4.根据权利要求3所述的处理设备,其中所述执行单元被配置为在将所述新值复制到所述一个或多个寄存器的所述部分之后,使得所述新值替换所述先前值以供所述发送引擎使用。
5.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个配置值中的至少一个配置值包括以下各项中的至少一个:
6.根据前述权利要求中任一项所述的处理设备,其中所述存储器被配置为存储经编译的代码集,所述经编译的代码集包括所述发送指令的所述一个或多个实例和用于更新所述可变步幅模式的至少一个指令的一个或多个实例,
7.根据前述权利要求中任一项所述
8.一种处理设备,包括:
9.根据权利要求8所述的处理设备,其中,所述至少一个指令包括具有组合的发送和更新功能的指令,当由所述执行单元执行时,所述指令使得:
10.根据权利要求8或9所述的处理设备,其中,当由所述执行单元执行时,所述至少一个指令使得所述一个或多个配置值中的至少一个配置值的所述新值被复制到所述一个或多个寄存器的部分,而所述接收引擎继续使用所述一个或多个配置值中的至少一个配置值的先前值来更新所述指针。
11.根据权利要求10所述的处理设备,其中所述执行单元被配置为在将所述新值复制到所述一个或多个寄存器的所述部分之后,使得所述新值替换所述先前值以供所述接收引擎使用。
12.根据权利要求8至11中任一项所述的处理设备,其中所述一个或多个配置值中的至少一个配置值包括以下各项中的至少一个:
13.根据权利要求8至12中任一项所述的处理设备,其中,所述存储器被配置为存储经编译的代码集,所述经编译的代码集包括用于更新所述可变步幅模式的所述至少一个指令的一个或多个实例,其中,所述经编译的代码集被排列为使得所述至少一个指令的一个或多个实例中的每一个实例在被分配的时钟周期期间由所述执行单元执行,所述被分配的时钟周期是在所述处理设备处接收到同步信号之后的预定数量的处理器时钟周期。
14.根据权利要求8至13中任一项所述的处理设备,其中,所述处理设备包括布线,所述布线被配置为沿着回送路径传输来自所述存储器的要被存储回所述存储器的另外的数据,
15.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个配置值中的至少一个配置值包括多个配置值。
16.根据权利要求15所述的处理设备,其中,所述执行单元被配置为在执行所述至少一个指令时,更新保存在所述处理设备的配置寄存器中的比特串,
17.根据权利要求16所述的处理设备,其中所述多个比特子集中的每一个比特子集的长度都比所述多个配置值中的所述比特子集所映射到的与其相关联的一个配置值更短。
18.根据权利要求15至17中任一项所述的处理设备,其中,所述多个配置值包括多个步幅大小值。
19.根据权利要求18所述的处理设备,其中所述多个配置值包括多个重复值,所述多个重复值中的每个重复值与所述步幅大小值之一相关联,并且指定在所述处理电路应用不同的一个所述步幅大小值之前,所述步幅大小值中的与其相关联的一个步幅大小值将被应用多少次。
20.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个寄存器是属于运行在所述执行单元上的线程的控制寄存器和状态寄存器。
21.一种多片处理单元,其包括根据前述权利要求中任一项所述的处理设备的多个实例,其中,所述处理设备的所述多个实例中的每一个实例都是片。
22.一种用于从处理设备发送数据的方法,所述方法包括:
23.一种用于存储在处理设备处接收的数据的方法,所述方法包括:
24.一种计算机程序,其包括一组计算机可读指令,当由处理设备的执行单元执行时,使得执行用于从所述处理设备发送数据的方法,所述方法包括:
25.一种计算机程序,其包括一组计算机可读指令,当由处理设备的执行单元执行时,所述计算机可读指令使得执行用于存储在所述处理设备处接收的数据的方法,...
【技术特征摘要】
【国外来华专利技术】
1.一种处理设备,包括:
2.根据权利要求1所述的处理设备,其中所述至少一个指令包括具有组合的发送和更新功能的指令,当由所述执行单元执行时,所述指令使得:
3.根据权利要求1或2所述的处理设备,其中当由所述执行单元执行时,所述至少一个指令使得所述一个或多个配置值中的至少一个配置值的所述新值被复制到所述一个或多个寄存器的部分,而所述发送引擎继续使用所述一个或多个配置值中的至少一个配置值的先前值来更新所述指针。
4.根据权利要求3所述的处理设备,其中所述执行单元被配置为在将所述新值复制到所述一个或多个寄存器的所述部分之后,使得所述新值替换所述先前值以供所述发送引擎使用。
5.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个配置值中的至少一个配置值包括以下各项中的至少一个:
6.根据前述权利要求中任一项所述的处理设备,其中所述存储器被配置为存储经编译的代码集,所述经编译的代码集包括所述发送指令的所述一个或多个实例和用于更新所述可变步幅模式的至少一个指令的一个或多个实例,
7.根据前述权利要求中任一项所述的处理设备,其中,所述处理设备包括布线,所述布线被配置为沿着回送路径传输来自存储器的要被存储回所述存储器的另外的数据,
8.一种处理设备,包括:
9.根据权利要求8所述的处理设备,其中,所述至少一个指令包括具有组合的发送和更新功能的指令,当由所述执行单元执行时,所述指令使得:
10.根据权利要求8或9所述的处理设备,其中,当由所述执行单元执行时,所述至少一个指令使得所述一个或多个配置值中的至少一个配置值的所述新值被复制到所述一个或多个寄存器的部分,而所述接收引擎继续使用所述一个或多个配置值中的至少一个配置值的先前值来更新所述指针。
11.根据权利要求10所述的处理设备,其中所述执行单元被配置为在将所述新值复制到所述一个或多个寄存器的所述部分之后,使得所述新值替换所述先前值以供所述接收引擎使用。
12.根据权利要求8至11中任一项所述的处理设备,其中所述一个或多个配置值中的至少一个配置值包括以下各项中的至少一个:
13.根据权利要求8至12中任一项所述的处理设备,其中,所述存储器被配置为存储经编译的代码集,所述经编译的代码集包...
【专利技术属性】
技术研发人员:A·亚历山大,R·奥斯本,S·切斯尼,E·安德鲁斯,
申请(专利权)人:图核有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。