CN113570049B - 多snn芯片互联的相对寻址方法、装置、设备和介质 - Google Patents
多snn芯片互联的相对寻址方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN113570049B CN113570049B CN202110838544.5A CN202110838544A CN113570049B CN 113570049 B CN113570049 B CN 113570049B CN 202110838544 A CN202110838544 A CN 202110838544A CN 113570049 B CN113570049 B CN 113570049B
- Authority
- CN
- China
- Prior art keywords
- data packet
- chip
- addressing information
- preset range
- addressing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 210000003050 axon Anatomy 0.000 description 12
- 210000002569 neuron Anatomy 0.000 description 11
- 210000001787 dendrite Anatomy 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 210000004556 brain Anatomy 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 210000000225 synapse Anatomy 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供的一种多SNN芯片互联的相对寻址方法、装置、设备和介质,通过判断源芯片到目标芯片的寻址信息是否超出预设范围;若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包。本申请在片内数据包的基础上加上2*M比特实现片间寻址,大大降低了开销,并且每片芯片不需要知道自己的绝对坐标,不需要通过额外的编程告知芯片坐标信息。
Description
技术领域
本发明涉及的片间寻址技术领域,特别是涉及一种多SNN芯片互联的相对寻址方法、装置、设备和介质。
背景技术
深度神经网络(DNN)研究近年来取得了飞速发展并得到初步应用。然而实现这样的算法,通常需要消耗大量的算力。如经典的深度卷积网络(CNN)模型AlexNet,需要进行至少7.2亿次的乘法运算。大的运算量产生大的功耗,一般功耗在10瓦到100瓦左右。
另一方面,脉冲神经网络(SNN)近年来以其低功耗和更接近人脑的特点吸引了学术界和产业界的关注。在脉冲神经网络中,轴突是接收脉冲的单元,神经元是发送脉冲的单元,一个神经元通过树突连接到多个轴突,树突和轴突的连接点称为突触。轴突接收到脉冲后,所有和这一轴突有突触连接的树突会收到脉冲,进而影响到树突下游神经元。神经元将来自多个轴突的脉冲累加,如果数值超过阈值,就向下游发送一个脉冲。脉冲神经网络内传播的是1比特的脉冲,脉冲的激活频率比较低,并且只需要加减法运算,没有乘法运算。相比于基于深度学习的神经网路,脉冲神经网络功耗更低。
人类大脑中的神经元数目大于800亿个,假定每片SNN芯片实现神经元8万个,实现人脑的仿真需要100万片SNN芯片。因此每块芯片的芯片标识需要至少20位位宽来表示。
假定单片芯片内部通信的数据包位宽为N位,包括片内地址、控制信号、数据等。为了实现芯片间的互联,需要将N位扩展到N+20位。当N=60时,芯片间的寻址开销为20/60=33%。这将增加芯片的面积,芯片的管脚数和芯片的功耗。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种多SNN芯片互联的相对寻址方法、装置、设备和介质,以解决现有技术中的问题。
为实现上述目的及其他相关目的,本申请提供一种多SNN芯片互联的相对寻址方法,所述方法包括:判断源芯片到目标芯片的寻址信息是否超出预设范围;若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包。
于本申请的一实施例中,所述预设范围为依据源芯片的当前坐标所构成的边长为2M-1的正方形;其中M为预设值,1<=M<=10。
于本申请的一实施例中,所述判断源芯片到目标芯片的寻址信息是否超出预设范围包括:当-2(M-1)<=X<=2(M-1)-1且-2(M-1)<=Y<=2(M-1)-1时,则判定所述寻址信息未超出预设范围;当X<-2(M-1)或X>2(M-1)-1或Y<-2(M-1)或Y>2(M-1)-1时,则判定所述寻址信息超出预设范围;其中,M为预设值;X,Y分别为寻址信息的相对坐标。
于本申请的一实施例中,所述若未超出预设范围,则发送一包含寻址信息低位部分的数据包:所述数据包中的寻址信息为(X[M-1:0],Y[M-1:0]);其中,寻址信息以低2*M位位宽表示。
于本申请的一实施例中,所述若超出预设范围,则发送两次数据包,包括:发送的第一次数据包含完整的寻址信息,并且数据包中的控制信息表明数据包没有结束;发送的第二次数据包含需要传送的有效数据,并且数据包中的控制信息表明数据包结束。
于本申请的一实施例中,所述方法还包括:芯片从端口接收数据包后,将寻址信息中的X或Y加1或减1,判断加1或减1操作后的寻址信息中X与Y是否为0及其正负,据以确定该数据包从该芯片哪个方向口发出。
于本申请的一实施例中,所述方法还包括:当判断加1或减1操作后的寻址信息中X与Y均为0,则确定该芯片即为目标芯片,则数据包被该芯片消耗。
为实现上述目的及其他相关目的,本申请提供一种多SNN芯片互联的相对寻址装置,所述装置包括:判断模块,用于判断源芯片到目标芯片的寻址信息是否超出预设范围;处理模块,用于若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包。
为实现上述目的及其他相关目的,本申请提供一种计算机设备,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如上所述的方法。
为实现上述目的及其他相关目的,本申请提供一种计算机可读存储介质,存储有计算机指令,所述计算机指令被运行时执行如上所述的方法。
综上所述,本申请的一种多SNN芯片互联的相对寻址方法、装置、设备和介质,通过判断源芯片到目标芯片的寻址信息是否超出预设范围;若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包。
具有以下有益效果:
本申请在片内数据包的基础上加上2*M比特实现片间寻址,大大降低了开销,并且每片芯片不需要知道自己的绝对坐标,不需要通过额外的编程告知芯片坐标信息。
附图说明
图1显示为本申请于一实施例中的6X6多SNN芯片的阵列示意图。
图2显示为本申请于一实施例中的多SNN芯片互联的相对寻址方法的流程示意图。
图3显示为本申请于一实施例中的目标芯片上对应预设范围的场景示意图。
图4显示为本申请于一实施例中的多SNN芯片互联的相对寻址装置的模块示意图。
图5显示为本申请于一实施例中的计算机设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,虽然图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,但其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成分、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成分、区域、层或段区别于其它部分、成分、区域、层或段。因此,以下叙述的第一部分、成分、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成分、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
本申请所述多SNN芯片互联的相对寻址方法用于脉冲神经网络(SNN)。在脉冲神经网络(SNN)中,轴突是接收脉冲的单元,神经元是发送脉冲的单元,一个神经元通过树突连接到多个轴突,树突和轴突的连接点称为突触。轴突接收到脉冲后,所有和这一轴突有突触连接的树突会收到脉冲,进而影响到树突下游神经元。下游神经元将来自多个轴突的脉冲累加,如果数值超过阈值,就向下游发送一个脉冲。脉冲神经网络内传播的是1比特的脉冲,脉冲的激活频率比较低,并且只需要加减法运算,没有乘法运算。相比于基于深度学习的神经网路,脉冲神经网络功耗更低。
如图1所示,展示为一个6X6的多SNN芯片的阵列示意图。每片芯片的芯片标识就是芯片的坐标,用(Y,X)表示。一片源芯片(Ysource,Xsource)中的单元向另一片芯片(Ydest,Xdest)中的单元发送数据包,需要携带目标芯片的标识(Ydest,Xdest)。为支持大脑神经元规模的仿真,(通常Ydest,Xdest)位宽大于20位,如可能为32为位宽。
而本申请发现每片芯片内部传输数据最多,向附近的芯片发数据包的情形次之,向较远的芯片发送数据包的情形最少。基于这一发现,通过合理的神经元映射,可以使较远芯片间的通信较少,从而降低通信的功耗。为此本申请提出一种多SNN芯片互联的相对寻址方法,以解决芯片间寻址开销较大的问题。
如图2所示,展示为本申请一实施例中的多SNN芯片互联的相对寻址方法的流程示意图。如图所示,所述方法包括:
步骤S201:判断源芯片到目标芯片的寻址信息是否超出预设范围;
其中,发送的数据包中携带的寻址信息为(Ydiff,Xdiff)=(Ydest-Ysource,Xdest-Xsource),即目标芯片的标识减去源芯片的表示。
于本申请一实施例中,所述预设范围为依据源芯片的当前坐标所构成的边长为2M-1的正方形。
具体的,当-2(M-1)<=X<=2(M-1)-1且-2(M-1)<=Y<=2(M-1)-1时,则判定所述寻址信息未超出预设范围;当X<-2(M-1)或X>2(M-1)-1或Y<-2(M-1)或Y>2(M-1)-1时,则判定所述寻址信息超出预设范围。
举例来说,如图3所示,假设源芯片(Ysource,Xsource)当前的表示为(0,0),假设M=2,则其依据源芯片的当前坐标所构成的正方形的边长等于22-1=3,该正方形围成的范围内,X或Y最小到-2,最大到1。
需要说明的是,本申请中构成的正方形正常来说,范围的两端应该是对等的,即X>=-2(M-1),也应该有X<=2(M-1)才对,但是本申请中确实X<=2(M-1)-1。之所以这么做,是因为二进制补码都有这个问题,因为0的符号位为0,正数的符号位也是0,所以正数表示范围比负数表示范围少1个。
于本申请中,M为预设值,1<=M<=10。举例来说,Ydiff,Xdiff可能有32位位宽,预设值M在芯片设计阶段就定已经确定。
步骤S202:若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包。
于本申请一实施例中,所述判断源芯片到目标芯片的寻址信息是否超出预设范围包括:
A、当-2(M-1)<=X<=2(M-1)-1且-2(M-1)<=Y<=2(M-1)-1时,则判定所述寻址信息未超出预设范围,则发送一包含寻址信息低位部分的数据包。
所述数据包中的寻址信息为(X[M-1:0],Y[M-1:0]);其中,寻址信息以低2*M位位宽表示。需要说明的是,完整寻址信息的高位部分由于在本情形下是符号扩展,不携带有意义的信息,因此不在数据包中携带。具体来说,(X[M-1:0],Y[M-1:0])表示,若X[M-1]=0或Y[M-1]=0,则高位部分全部用0进行符号扩展;X[M-1]=1或Y[M-1]=1,则高位部分全部用1进行符号扩展。
B、当X<-2(M-1)或X>2(M-1)-1或Y<-2(M-1)或Y>2(M-1)-1时,则判定所述寻址信息超出预设范围,则发送两次数据包。
其中,发送的第一次数据包含完整的寻址信息,并且数据包中的控制信息表明数据包没有结束;发送的第二次数据包含需要传送的有效数据,并且数据包中的控制信息表明数据包结束。
举例来说,假定M=2,如图1中的芯片(1,2)给芯片(2,0)发送数据,由于(Ydiff,Xdiff)=(1,-2),-2<=Ydiff<=1并且-2<=Xdiff<=1,只需要发送一笔数据,数据包中包含的寻址信息为有符号数(1,-2),用2个2位位宽的数据就可以表示。如果图1中的芯片(1,2)给芯片(2,4)发送数据,由于(Ydiff,Xdiff)=(1,2),Xdiff=2>1,需要发送两笔数据,第一笔数据包含20多位完整的寻址信息(Ydiff,Xdiff),第二笔数据包含需要传送的有效数据。
需要说明的是,假设M=2,芯片内部通信的数据包位宽为N=60,芯片间的寻址开销为4/60=6.7%,开销将大大降低;而当较远的两片芯片间通信时,需要发送额外的一笔包含完整芯片寻址信息的数据。这降低了片间的有效数据带宽。由于这种情形非常少,因此有效带宽降低带来的影响非常小。
于本申请一实施例中,本申请中相对寻址路由包括:芯片从端口接收数据包后,将寻址信息中的X或Y加1或减1,判断加1或减1操作后的寻址信息中X与Y是否为0及其正负,据以确定该数据包从源芯片哪个方向口发出。其中,当判断加1或减1操作后的寻址信息中X与Y均为0,则确定该芯片即为目标芯片,则数据包被该芯片消耗。
需要说明的是,这里对寻址信息中的X或Y加1或减1,是根据数据包是从该芯片的东、南、西、北四个端口中的哪一个端口进入来操作的。
举例来说,可对应如图1或图3,如果数据包从该芯片的北口(或上方)进入,将数据包Ydiff数据字段减1;如果数据包从芯片的南口(或下方)进入,将数据包Ydiff数据字段加1;如果数据包从芯片的西口(或左侧方向)进入,将数据包Xdiff数据字段减1;如果数据包从芯片的东口(或右侧方向)进入,将数据包Xdiff数据字段加1。
如果调整后的Xdiff>0,数据包从该芯片的东口发出,例如,对应图3中,芯片(0,0)向芯片(1,1)发包时,数据包从芯片(0,0)的东口发出;如果调整后的Xdiff<0,数据包从该芯片的西口发出。如果调整后的Xdiff=0并且Ydiff>0,数据包从该芯片的南口发出;如果调整后的Xdiff=0并且Ydiff<0,数据包从该芯片的北口发出;如果调整后的Xdiff=0并且Ydiff=0,该芯片就是目标芯片,数据包被该芯片消耗。
如果图1中的芯片(1,2)给芯片(1,4)发数据包,源芯片发送的数据包寻址信息为(0,2)。芯片(1,2)的数据包经过其东口进入到芯片(1,3)的西口,根据路由规则,芯片(1,3)将寻址信息调整为(0,1);接着数据包经过芯片(1,3)的东口进入到芯片(1,4)的西口,数据包进入芯片(1,4)后,寻址信息调整为(0,0)。数据包转发结束。
综上所述,本申请在片内数据包的基础上加上2*M比特(或M位比特)实现片间寻址,大大降低了开销,并且每片芯片不需要知道自己的绝对坐标,不需要通过额外的编程告知芯片坐标信息。
如图4所示,展示为本申请于一实施例中的多SNN芯片互联的相对寻址装置的模块示意图。如图所示,所述装置400包括:
判断模块401,用于判断源芯片到目标芯片的寻址信息是否超出预设范围;
处理模块402,用于若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请所述方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
还需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块402可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块402的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图5所示,展示为本申请于一实施例中的计算机设备的结构示意图。如图所示,所述计算机设备500包括:存储器501、及处理器502;所述存储器501用于存储计算机指令;所述处理器502运行计算机指令实现如图2所述的方法。
在一些实施例中,所述计算机设备500中的所述存储器501的数量均可以是一或多个,所述处理器502的数量均可以是一或多个,而图5中均以一个为例。
于本申请一实施例中,所述计算机设备500中的处理器502会按照如图2所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器501中,并由处理器502来运行存储在存储器502中的应用程序,从而实现如图2所述的方法。
所述存储器501可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。所述存储器501存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
所述处理器502可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在一些具体的应用中,所述计算机设备500的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清除说明起见,在图5中将各种总线都成为总线系统。
于本申请的一实施例中,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图2所述的方法。
在任何可能的技术细节结合层面,本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。。
综上所述,本申请提供的一种多SNN芯片互联的相对寻址方法、装置、设备和介质,通过判断源芯片到目标芯片的寻址信息是否超出预设范围;若未超出预设范围,则发送一包含寻址信息的数据包;若超出预设范围,则发送两次数据包。本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包含通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (9)
1.一种多SNN芯片互联的相对寻址方法,SNN为脉冲神经网络,其特征在于,所述方法包括:
判断源芯片到目标芯片的寻址信息是否超出预设范围;
若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包;其中,发送的第一次数据包含完整的寻址信息,并且数据包中的控制信息表明数据包没有结束;发送的第二次数据包含需要传送的有效数据,并且数据包中的控制信息表明数据包结束。
2.根据权利要求1所述的方法,其特征在于,所述预设范围为依据源芯片的当前坐标所构成的边长为2M-1的正方形;其中M为预设值,1<=M<=10。
3.根据权利要求1或2所述的方法,其特征在于,所述判断源芯片到目标芯片的寻址信息是否超出预设范围包括:
当-2(M-1)<=X<=2(M-1)-1且-2(M-1)<=Y<=2(M-1)-1时,则判定所述寻址信息未超出预设范围;
当X<-2(M-1)或X>2(M-1)-1或Y<-2(M-1)或Y>2(M-1)-1时,则判定所述寻址信息超出预设范围;
其中,M为预设值;X,Y分别为寻址信息的相对坐标。
4.根据权利要求3所述的方法,其特征在于,所述若未超出预设范围,则发送一包含寻址信息低位部分的数据包:
所述数据包中的寻址信息为(X[M-1:0],Y[M-1:0]);其中,寻址信息以完整寻址信息的低2*M位位宽表示。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
芯片从端口接收数据包后,将寻址信息中的X或Y加1或减1,判断加1或减1操作后的寻址信息中X与Y的正负以及是否为0,据以确定该数据包从该芯片哪个端口发出。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当判断加1或减1操作后的寻址信息中X与Y均为0,则确定该芯片即为目标芯片,则数据包被该芯片消耗。
7.一种多SNN芯片互联的相对寻址装置,SNN为脉冲神经网络,其特征在于,所述装置包括:
判断模块,用于判断源芯片到目标芯片的寻址信息是否超出预设范围;
处理模块,用于若未超出预设范围,则发送一包含寻址信息低位部分的数据包;若超出预设范围,则发送两次数据包;其中,发送的第一次数据包含完整的寻址信息,并且数据包中的控制信息表明数据包没有结束;发送的第二次数据包含需要传送的有效数据,并且数据包中的控制信息表明数据包结束。
8.一种计算机设备,其特征在于,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如权利要求1至6中任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,存储有计算机指令,所述计算机指令被运行时执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110838544.5A CN113570049B (zh) | 2021-07-23 | 2021-07-23 | 多snn芯片互联的相对寻址方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110838544.5A CN113570049B (zh) | 2021-07-23 | 2021-07-23 | 多snn芯片互联的相对寻址方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113570049A CN113570049A (zh) | 2021-10-29 |
CN113570049B true CN113570049B (zh) | 2024-05-28 |
Family
ID=78166922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110838544.5A Active CN113570049B (zh) | 2021-07-23 | 2021-07-23 | 多snn芯片互联的相对寻址方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570049B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721354A (zh) * | 2016-01-18 | 2016-06-29 | 云南磊奥明科技有限公司 | 片上网络互联方法及装置 |
WO2017168275A1 (en) * | 2016-03-31 | 2017-10-05 | International Business Machines Corporation | Energy-efficient time-multiplexed neurosynaptic core for implementing neural networks |
CN108234303A (zh) * | 2017-12-01 | 2018-06-29 | 北京中科睿芯科技有限公司 | 面向多地址共享数据路由包的双环结构片上网络路由方法 |
CN108768667A (zh) * | 2018-04-24 | 2018-11-06 | 中船重工(武汉)凌久电子有限责任公司 | 一种用于多核处理器片内核间网络通信的方法 |
CN109408257A (zh) * | 2018-11-09 | 2019-03-01 | 北京灵汐科技有限公司 | 用于片上网络noc的数据传输方法、装置及电子设备 |
CN111177065A (zh) * | 2018-11-12 | 2020-05-19 | 深圳市中兴微电子技术有限公司 | 一种多芯片互联方法和装置 |
CN111882065A (zh) * | 2020-08-03 | 2020-11-03 | 中国人民解放军国防科技大学 | 映射脉冲神经网络到类脑计算平台的方法、系统及介质 |
CN112131174A (zh) * | 2019-06-25 | 2020-12-25 | 北京百度网讯科技有限公司 | 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质 |
CN112152932A (zh) * | 2020-09-11 | 2020-12-29 | 山东云海国创云计算装备产业创新中心有限公司 | 片上网络路由控制方法、片上网络路由器及可读存储介质 |
CN112468401A (zh) * | 2020-11-26 | 2021-03-09 | 中国人民解放军国防科技大学 | 用于类脑处理器的片上网络路由通信方法及片上网络 |
CN112822127A (zh) * | 2020-12-29 | 2021-05-18 | 北京灵汐科技有限公司 | 片上网络的数据广播方法、装置、芯片及介质 |
CN112822113A (zh) * | 2020-12-31 | 2021-05-18 | 北京灵汐科技有限公司 | 路由地址的获取方法及装置、电子设备和可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904590B2 (en) * | 2007-08-27 | 2011-03-08 | International Business Machines Corporation | Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture |
GB0811057D0 (en) * | 2008-06-17 | 2008-07-23 | Univ Ulster | Artificial neural network architecture |
US9111151B2 (en) * | 2012-02-17 | 2015-08-18 | National Taiwan University | Network on chip processor with multiple cores and routing method thereof |
WO2017120270A1 (en) * | 2016-01-04 | 2017-07-13 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications |
-
2021
- 2021-07-23 CN CN202110838544.5A patent/CN113570049B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721354A (zh) * | 2016-01-18 | 2016-06-29 | 云南磊奥明科技有限公司 | 片上网络互联方法及装置 |
WO2017168275A1 (en) * | 2016-03-31 | 2017-10-05 | International Business Machines Corporation | Energy-efficient time-multiplexed neurosynaptic core for implementing neural networks |
CN108234303A (zh) * | 2017-12-01 | 2018-06-29 | 北京中科睿芯科技有限公司 | 面向多地址共享数据路由包的双环结构片上网络路由方法 |
CN108768667A (zh) * | 2018-04-24 | 2018-11-06 | 中船重工(武汉)凌久电子有限责任公司 | 一种用于多核处理器片内核间网络通信的方法 |
CN109408257A (zh) * | 2018-11-09 | 2019-03-01 | 北京灵汐科技有限公司 | 用于片上网络noc的数据传输方法、装置及电子设备 |
CN111177065A (zh) * | 2018-11-12 | 2020-05-19 | 深圳市中兴微电子技术有限公司 | 一种多芯片互联方法和装置 |
CN112131174A (zh) * | 2019-06-25 | 2020-12-25 | 北京百度网讯科技有限公司 | 支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质 |
CN111882065A (zh) * | 2020-08-03 | 2020-11-03 | 中国人民解放军国防科技大学 | 映射脉冲神经网络到类脑计算平台的方法、系统及介质 |
CN112152932A (zh) * | 2020-09-11 | 2020-12-29 | 山东云海国创云计算装备产业创新中心有限公司 | 片上网络路由控制方法、片上网络路由器及可读存储介质 |
CN112468401A (zh) * | 2020-11-26 | 2021-03-09 | 中国人民解放军国防科技大学 | 用于类脑处理器的片上网络路由通信方法及片上网络 |
CN112822127A (zh) * | 2020-12-29 | 2021-05-18 | 北京灵汐科技有限公司 | 片上网络的数据广播方法、装置、芯片及介质 |
CN112822113A (zh) * | 2020-12-31 | 2021-05-18 | 北京灵汐科技有限公司 | 路由地址的获取方法及装置、电子设备和可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Robin Emery ; Alex Yakovlev ; Graeme Chester.spiking neural networks Connection-centric network for spiking neural networks.《2009 3rd ACM/IEEE International Symposium on Networks-on-Chip》.2009,全文. * |
异构多核SoC中片上网络技术研究与实现;何靖;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20140315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113570049A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Weerasinghe et al. | Network-attached FPGAs for data center applications | |
US11080593B2 (en) | Electronic circuit, in particular capable of implementing a neural network, and neural system | |
Sheng et al. | Design of 3D FFTs with FPGA clusters | |
CN111782385A (zh) | 用于处理任务的方法、电子设备和计算机程序产品 | |
US11599671B1 (en) | Systems and methods for finding a value in a combined list of private values | |
Inage et al. | M-KUBOS/PYNQ Cluster for multi-access edge computing | |
CN111176731A (zh) | 一种提高芯片计算性能的方法、系统、设备及介质 | |
CN108228754A (zh) | 流程生成方法及终端设备 | |
CN113570049B (zh) | 多snn芯片互联的相对寻址方法、装置、设备和介质 | |
CN112149047A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
Al Faisal et al. | HFBN: An energy efficient high performance hierarchical interconnection network for exascale supercomputer | |
US11531782B1 (en) | Systems and methods for finding a value in a combined list of private values | |
Reddy et al. | Performance evaluation of modified mesh-based NoC architecture | |
CN115994040A (zh) | 计算系统以及进行数据广播和数据归约的方法及存储介质 | |
CN115473838A (zh) | 网络请求的处理方法、装置、计算机可读介质及电子设备 | |
Khan et al. | Adaptive hybrid arbiter design for real-time traffic-aware scheduling | |
CN112036561B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Ueno et al. | VCSN: Virtual circuit-switching network for flexible and simple-to-operate communication in HPC FPGA cluster | |
Takano et al. | Implementation of distributed processing using a PC-FPGA hybrid system | |
CN113709039B (zh) | 管理芯片与芯片网格阵列的通信方法、装置、设备和介质 | |
EP3343843B1 (en) | A control plane system and method for managing a data plane amongst a plurality of equipments | |
Alagarsamy et al. | SMA: A constructive partitioning based mapping approach for Networks-on-Chip | |
Sharma et al. | Design of high speed power efficient wallace tree adders | |
CN118095351B (zh) | 层归一化计算的协同处理装置及方法 | |
Benhaoua et al. | Dynamic communications mapping in multi-tasks NoC-based heterogeneous MPSoCs platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |