CN111062469B - 计算装置及相关产品 - Google Patents
计算装置及相关产品 Download PDFInfo
- Publication number
- CN111062469B CN111062469B CN201811207452.1A CN201811207452A CN111062469B CN 111062469 B CN111062469 B CN 111062469B CN 201811207452 A CN201811207452 A CN 201811207452A CN 111062469 B CN111062469 B CN 111062469B
- Authority
- CN
- China
- Prior art keywords
- chip
- chips
- processing circuit
- neural network
- instruction
- 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
- 238000013528 artificial neural network Methods 0.000 claims abstract description 112
- 238000012545 processing Methods 0.000 claims description 164
- 238000004364 calculation method Methods 0.000 claims description 73
- 230000015654 memory Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 12
- 238000009825 accumulation Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims 3
- 238000012549 training Methods 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 14
- 210000002569 neuron Anatomy 0.000 description 10
- 230000010354 integration Effects 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 7
- 210000002364 input neuron Anatomy 0.000 description 7
- 210000004205 output neuron Anatomy 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005406 washing Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Advance Control (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种计算装置及相关产品,计算装置包括:X组神经网络芯片,X组神经网络芯片中的每一组神经网络芯片中包括一个主芯片和至少一个从芯片,主芯片与从芯片连接,X组神经网络芯片中的主芯片之间连接,X的取值范围为大于或等于2的整数。本申请实施例中公开的计算装置通过将多组神经网络芯片分为主芯片和从芯片,然后根据主芯片之间的连接关系进行芯片中数据的调度,提升了神经网络芯片的训练速度,节省了训练时间。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种计算装置及相关产品。
背景技术
人工神经网络(Artificial Neural Network,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。
现有的神经网络的运算基于CPU(Central Processing Unit,中央处理器)或GPU(英文:Graphics Processing Unit,图形处理器)来实现神经网络的运算,现有的训练设备训练速度慢,耗时久。
发明内容
本申请实施例提供了一种计算装置及相关产品,可提升训练装置的训练速度,提高效率。
第一方面,提供一种计算装置,所述计算装置包括:
X组神经网络芯片,所述X组神经网络芯片中的每一组神经网络芯片中包括一个主芯片和至少一个从芯片,所述主芯片与所述从芯片连接,所述X组神经网络芯片中的主芯片之间连接,所述X的取值范围为大于或等于2的整数;
所述X组神经网络芯片中的每一个神经网络芯片用于获取输入数据和权值,并将所述权值与所述每一个神经网络芯片对应的输入数据进行运算,获得运算结果,其中所述每一个神经网络芯片获取的所述输入数据不同,获取的所述权值相同;
所述X组神经网络芯片中的第一组神经网络芯片中的第一主芯片,用于接收与所述第一主芯片连接的从芯片的运算结果;
所述第一主芯片用于将所述第一主芯片的运算结果和接收的所述从芯片的运算结果共享给其他组神经网路芯片中的主芯片,并接收其他组神经网络芯片中的主芯片共享的运算结果。
第二方面,提供一种神经网络芯片,所述神经网络芯片包括:运算单元以及控制器单元;所述运算单元包括:一个主处理电路和多个从处理电路;
所述控制器单元,用于获取输入数据以及计算指令;
所述控制器单元,还用于解析该计算指令得到多个运算指令,将该多个运算指令以及所述输入数据发送给所述主处理电路;
所述主处理电路,用于对所述输入数据执行前序处理以及与所述多个从处理电路之间传输数据和运算指令;
所述多个从处理电路,用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路,用于对所述多个中间结果执行后续处理得到所述计算指令的运算结果。
第三方面,提供一种组合计算装置,所述组合计算装置包括:M个如权利要求1所述的计算装置,所述M个如权利要求1所述的计算装置之间连接,所述M取值范围为大于或等于2的整数。
第四方面,提供一种执行机器学习模型的计算方法,所述计算方法应用于如第一方面所述的计算装置。
第五方面,提供一种执行机器学习模型的计算方法,所述计算方法应用于如第三方面所述的组合计算装置。
可以看出,通过本申请实施例,将多组神经网络芯片各自分为主芯片和从芯片,然后主芯片获取从芯片的计算结果,并将结算结果在不同组的主芯片之间调度,使得每组主芯片都包含所有的计算结果,再由主芯片将所有的计算结果分发给从芯片,提升了神经网络芯片的训练速度,节省了训练时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种神经网络训练装置示意图。
图1B是本申请实施例提供的一种计算装置的芯片连接结构示意图。
图1C是本申请实施例提供的另一种计算装置的芯片连接结构示意图。
图1D是本申请实施例提供的另一种计算装置的芯片连接结构示意图。
图1E是本申请实施例提供的一种神经网络芯片结构示意图。
图1F是本申请实施例提供的一种主芯片运算结果调度策略示意图。
图1G是本申请实施例提供的一种组合计算装置结构示意图。
图2是本申请实施例提供的一种组合处理装置的示意图。
图3是本申请实施例提供的另一种组合处理装置的结构图。
图3A是本申请实施例提供的一种板卡的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先介绍本申请涉及的神经网络训练装置,如图1A所示,神经网络训练装置由多个神经网络芯片组成,多个神经网络芯片执行多任务,或者将单任务进行切分,根据深度学习算法特性进行调度,协同完成训练任务。神经网络训练装置中的多个神经网络芯片的排列与协同方式在如下实施例中具体介绍。
本申请实施例涉及的一种训练装置,包括:X组神经网络芯片,X组神经网络芯片中的每一组神经网络芯片中包括一个主芯片和至少一个从芯片,主芯片与从芯片连接,X组神经网络芯片中的主芯片之间连接,X的取值范围为大于或等于2的整数;
X组神经网络芯片中的每一个神经网络芯片用于获取输入数据和权值,并将权值与每一个神经网络芯片对应的输入数据进行运算,获得运算结果,其中每一个神经网络芯片获取的输入数据不同,获取的权值相同;X组神经网络芯片中的第一组神经网络芯片中的第一主芯片,用于接收与第一主芯片连接的从芯片的运算结果;第一主芯片用于将第一主芯片的运算结果和接收的从芯片的运算结果共享给其他组神经网路芯片中的主芯片,并接收其他组神经网络芯片中的主芯片共享的运算结果。
具体地,X可以为2,3,5,8等任意大于或等于2的整数,X组神经网络芯片中,每组神经网络芯片包括一个主芯片和至少一个从芯片,其中,不同组神经网络芯片中的从芯片数量可以相同,也可以不同,例如X为3时,总共包含10个从芯片,那么前两组神经网络芯片中主芯片可连接3个从芯片,最后一组神经网络芯片中的主芯片连接4个从芯片。优选地,将从芯片进行等分量地划分并和主芯片进行连接,以便于主芯片接收从芯片的计算结果,并快速将计算结果在主芯片之间进行调度。
请参阅图1B,图1B为本申请实施例提供的一种计算装置的芯片连接结构,如图1B所示,X为4,其中芯片4,芯片8,芯片13和芯片10为主芯片,每个主芯片上连接了3个从芯片。芯片1~芯片16都获取输入数据和权值,其中每个芯片获取的输入数据不同,而获取的权值是相同的,这样每个芯片都将采用相同的训练模型对不同的输入数据进行训练。每个芯片的输入数据可以针对多个任务对应的数据,也可以针对同一个任务进行的数据集切分,数据集的切分可以在其他外部设备中完成,也可以在计算装置中的其他模块中完成,还可以在计算装置中的某一组神经网络芯片中的主芯片中完成。
由于计算装置中的每一个芯片的输入数据不同,权值相同,那么获得的计算结果不同。当所有的芯片完成训练获得计算结果后,第一主芯片用于接收与第一主芯片连接的从芯片的运算结果,第一主芯片可以是主芯片4,主芯片8,主芯片10和主芯片13中的任意一个主芯片,分别获取与自身连接的从芯片的计算结果,最终主芯片中包括的所有计算结果为自身的计算结果以及与其连接的从芯片的计算结果。
当第一主芯片获得从芯片的计算结果后,再将自身包括的所有计算结果在X组主芯片之间进行共享,共享时按照同一个方向将计算结果进行循环传递,例如按照顺时针方向传递,即:芯片4→芯片8→芯片13→芯片10→芯片4,或者按照逆时针方向传递,即:芯片4→芯片10→芯片13→芯片8→芯片4。共享时可以一次性将主芯片包括的所有计算结果全部传递给下一个相邻主芯片,也可以分为多次逐步进行传递。
可见,这种连接结构一方面可以通过多个芯片协同运算提升数据训练效率,另一方面,通过主芯片对各个从芯片的运算结果进行调度,只需要提升主芯片的性能而不需要提升从芯片的性能,节约了成本。
可选的,第一主芯片还用于:将第一主芯片中的所有运算结果传递给与第一主芯片连接的从芯片。
主芯片4,主芯片8,主芯片10和主芯片13在经过共享传递后,都获得了所有芯片的运算结果,然后各个主芯片将其包含的运算结果传递给各自连接的从芯片,使得每个从芯片都包含所有芯片的运算结果。
可选的,主芯片通过树型结构与从芯片连接,树型结构为n叉树结构,主芯片为n叉树结构的根节点,从芯片为n叉树结构的子节点,子节点可以是一级子节点,也可以是多级子节点。
具体地,X组神经网络芯片中的主芯片可以通过树型结构与从芯片连接,其中主芯片为树型结构的根节点,从芯片为子节点,子节点可以是一级子节点,也可以是多级子节点。主芯片获取从芯片的计算结果时,可以直接获取每一个从芯片的计算结果,也可以由主芯片直接连接的从芯片获取其他芯片的计算结果,然后传递给主芯片。
可见,这种连接结构一方面可以通过多个芯片协同运算提升数据训练效率,另一方面,通过主芯片对各个从芯片的运算结果进行调度,只需要提升主芯片的性能而不需要提升从芯片的性能,节约了成本。而从芯片通过树型结构与主芯片进行连接,可以控制从芯片的计算结果在发送给主芯片之前进行整合,减小主芯片的运算压力,进而降低对主芯片的损耗。
请参阅图1C,图1C为本申请实施例提供的另一种计算装置的芯片连接结构,如图1C所示,X为4,在4组神经网络芯片中,包含的主芯片为主芯片31,主芯片32,主芯片33和主芯片34,每一个主芯片都通过树型结构与从芯片连接,例如主芯片31为根节点,与其连接的从芯片包括芯片311,芯片312和芯片313,为一级子节点,与从芯片311连接的从芯片包括芯片3111,芯片3112和芯片3113,为二级子节点。其他从芯片也都为一级子节点或二级子节点。
或者,请参阅图1D,图1D为本申请实施例提供的另一种计算装置的芯片连接结构示意图,如图1D所示,X为1,主芯片35通过树型结构与从芯片连接,且树型结构包括三级子节点,最下层的叶子节点的计算结果,可以直接传递给主芯片,也可以通过上一层子节点整合后传递给主芯片。
本申请实施例中涉及的神经网络计算装置包括神经网络芯片,请参阅图1E,图1E为本申请实施例提供的一种神经网络芯片结构示意图,如图1E所示,神经网络芯片包括:运算单元12以及控制器单元11;运算单元12包括:一个主处理电路101和多个从处理电路102;
控制器单元11,用于获取输入数据以及计算指令;在一种可选方案中,具体的,获取输入数据以及计算指令方式可以通过数据输入输出单元得到,该数据输入输出单元具体可以为一个或多个数据I/O接口或I/O引脚。
上述计算指令包括但不限于:正向运算指令或反向训练指令,或其他神经网络运算指令等等,例如卷积运算指令,本申请具体实施方式并不限制上述计算指令的具体表现形式。
控制器单元11,还用于解析该计算指令得到多个运算指令,将该多个运算指令以及输入数据发送给主处理电路;主处理电路101,用于对输入数据执行前序处理以及与多个从处理电路之间传输数据和运算指令;多个从处理电路102,用于依据从主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给主处理电路;主处理电路101,用于对多个中间结果执行后续处理得到计算指令的运算结果。
本申请提供的技术方案将运算单元设置成一主多从结构,对于正向运算的计算指令,其可以将依据正向运算的计算指令将数据进行拆分,这样通过多个从处理电路即能够对计算量较大的部分进行并行运算,从而提高运算速度,节省运算时间,进而降低功耗。
可选的,上述神经网络芯片具体用于人工神经网络运算,上述输入数据具体可以包括:输入神经元数据和权值数据。上述计算结果具体可以为:人工神经网络运算的结果即输出神经元数据。
对于神经网络中的运算可以为神经网络中的一层的运算,对于多层神经网络,其实现过程是,在正向运算中,当上一层人工神经网络执行完成之后,下一层的运算指令会将运算单元中计算出的输出神经元作为下一层的输入神经元进行运算(或者是对该输出神经元进行某些操作再作为下一层的输入神经元),同时,将权值也替换为下一层的权值;在反向运算中,当上一层人工神经网络的反向运算执行完成后,下一层运算指令会将运算单元中计算出的输入神经元梯度作为下一层的输出神经元梯度进行运算(或者是对该输入神经元梯度进行某些操作再作为下一层的输出神经元梯度),同时将权值替换为下一层的权值。
对于人工神经网络运算,如果该人工神经网络运算具有多层运算,多层运算的输入神经元和输出神经元并非是指整个神经网络的输入层中神经元和输出层中神经元,而是对于网络中任意相邻的两层,处于网络正向运算下层中的神经元即为输入神经元,处于网络正向运算上层中的神经元即为输出神经元。以卷积神经网络为例,设一个卷积神经网络有L层,K=1,2,...,L-1,对于第K层和第K+1层来说,我们将第K层称为输入层,其中的神经元为所述输入神经元,第K+1层称为输出层,其中的神经元为所述输出神经元。即除最顶层外,每一层都可以作为输入层,其下一层为对应的输出层。
可选的,上述神经网络芯片还可以包括:存储单元10和直接内存访问单元50,存储单元10可以包括:寄存器201、缓存202中的一个或任意组合,具体的,所述缓存,用于存储所述计算指令;所述寄存器,用于存储所述输入数据和标量;所述缓存为高速暂存缓存。直接内存访问单元50用于从存储单元10读取或存储数据。
可选的,该控制器单元包括:指令存储单元110、指令处理单元111和存储队列单元113;
指令存储单元110,用于存储所述人工神经网络运算关联的计算指令;
所述指令处理单元111,用于对所述计算指令解析得到多个运算指令;
存储队列单元113,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。
举例说明,在一个可选的技术方案中,主运算处理电路也可以包括一个控制器单元,该控制器单元可以包括主指令处理单元,具体用于将指令译码成微指令。当然在另一种可选方案中,从运算处理电路也可以包括另一个控制器单元,该另一个控制器单元包括从指令处理单元,具体用于接收并处理微指令。上述微指令可以为指令的下一级指令,该微指令可以通过对指令的拆分或解码后获得,能被进一步解码为各部件、各单元或各处理电路的控制信号。
可选的,该控制器单元11还可以包括:
所述依赖关系处理单元112,用于在具有多个运算指令时,确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,则将所述第一运算指令缓存在所述指令存储单元内,在所述第零运算指令执行完毕后,从所述指令存储单元提取所述第一运算指令传输至所述运算单元;
所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需数据(例如矩阵)的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需矩阵的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,则确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,则确定所述第一运算指令与所述第零运算指令不具有关联关系。
在另一个可选的实施例中,当神经网络芯片为主芯片时,控制器单元11还包括调度单元114,具对主芯片中的运算结果进行调度。
具体地,各组神经网络芯片中的主芯片之间需要对运算结果进行调度,使得所有的主芯片共享各个主芯片中包括的所有运算结果。在进行调度时,需要遵循一定的调度策。可以先将X组神经网络芯片中的主神经网络芯片中的运算结果进行整合,包括主神经网络芯片自身的运算结果和接收到的从芯片的运算结果,获得X个整合运算结果,然后将X个整合运算结果按照主芯片连接顺序进行同一个方向的调度,每一次调度1个整合运算结果,进行X2次调度后,所有主芯片都获得了X个整合运算结果;或者在获得X个整合运算结果后,然后将X个整合运算结果按照主芯片连接顺序进行同一个方向的调度,下一个主芯片接收到上一个主芯片传递的运算结果后,将接收到的运算结果与本身的运算结果进行整合,形成新的运算结果,然后传递给再下一个主芯片,经过2*(X-1)次调度后,所有主芯片都获得了X个整合运算结果;也可以将X个主芯片中运算结果进行部分整合或者不进行整合,然后在主芯片间进行多次的部分调度。
在一个可选的实施例中,对主芯片中的运算结果进行调度,包括:将X组神经网络芯片中的主芯片按照同一方向向连接的主芯片调度1/Y+1的运算内容,其中,同一方向包括顺时针方向或逆时针方向,Y为与X组神经网络芯片中主芯片连接的从芯片的数量。
请参阅图1F,图1F为本申请实施例提供的一种主芯片之间的运算结果调度策略,如图1F所示,与图1B相对应,有4组神经网络芯片,其中的主芯片为芯片4,芯片8,芯片13和芯片10,主芯片4中的运算结果包括其本身的运算结果,以及接收到的芯片1,芯片2和芯片3的运算结果,将这4个运算结果对应为a1,b1,c1,d1四个部分,相应地,芯片8的运算结果对应为a2,b2,c2,d2四个部分,芯片13的运算结果对应为a3,b3,c3,d3四个部分,芯片10的运算结果对应为a4,b4,c4,d4四个部分。按照顺时针方向调度,第一次调度时,芯片4向芯片8调度a1部分,芯片8向芯片13调度b2部分,芯片13向芯片10调度c3部分,芯片13向芯片4调度d4部分,这个调度过程可以在同一时刻进行,也可以在不同时刻进行。每次调度每个主芯片1/Y+1部分的运算内容,经过(X-1)2次调度后,所有主芯片获得所有运算结果,完成调度。这种调度方式可以节省各个芯片的整合时间,提升调度效率。
在一个可选的实施例中,所述主处理电路101,具体用于将多个从处理电路102发送的中间结果进行组合排序得到该计算指令的结果;
或所述主处理电路101,具体用于将多个从处理电路102的发送的中间结果进行组合排序以及激活处理后得到该计算指令的结果。
在一个可选的实施例中,主处理电路包括:转换处理电路、激活处理电路、加法处理电路中的一种或任意组合;
所述转换处理电路,用于对所述数据执行前序处理,具体为:将主处理电路接收的数据或中间结果执行第一数据结构与第二数据结构之间的互换;或将主处理电路接收的数据或中间结果执行第一数据类型与第二数据类型之间的互换;
所述激活处理电路,用于执行所述后续处理,具体为执行主处理电路内数据的激活运算;
所述加法处理电路,用于执行所述后续处理,具体为执行加法运算或累加运算。
所述从处理电路包括:乘法处理电路;
所述乘法处理电路,用于对接收到的数据块执行乘积运算得到乘积结果。
可选的,所述从处理电路还包括:累加处理电路,所述累加处理电路,用于对该乘积结果执行累加运算得到该中间结果。
本申请实施例还涉及另一种组合计算装置,所述组合计算装置包括:M个如实施例一所述的计算装置,所述M个如实施例一所述的计算装置之间连接,所述M取值范围为大于或等于2的整数。
请参阅图1G,图1G为本申请实施例提供的一种组合计算装置结构示意图,如图1G所示,该组合计算装置由4个如图1B所示的计算装置组合而成,这4个计算装置之间互相连接,可以通过电路进行桥接,也可以通过设置专门的连接模块进行连接,还可以通过4个计算装置中的主芯片进行连接。这种连接结构一方面可以通过多个芯片协同运算提升数据训练效率,另一方面,通过主芯片对各个从芯片的运算结果进行调度,只需要提升主芯片的性能而不需要提升从芯片的性能,节约了成本。而从多组主芯片中选择一个主芯片与外部主芯片进行连接,降低了主芯片的损耗,提升了主芯片的使用寿命。
在一个可选的实施例中,M个如实施例一的计算装置之间连接,包括:M个如实施例一的计算装置中的每一个计算装置,其包含的X组神经网络芯片中的一组神经网络芯片的主芯片用于与其他计算装置中的X组神经网络中的一组神经网络芯片的主芯片连接。
如图1G所示,4个如实施例一的计算装置中的每一个计算装置,都包含4组神经网络芯片,其中一组神经网络芯片的主芯片用于与其他计算装置中的4组神经网络芯片中的一组神经网络芯片的主芯片进行连接,例如主芯片502,主芯片507,主芯片512和主芯片510进行连接。在选择X组神经网络芯片中的其中一组神经网络芯片中的主芯片时,可以随机挑选,也可以采用挑选策略进行挑选,例如选择连接从芯片最多的主芯片,或者选择物理距离最近的主芯片等。
可见,在本申请实施例中,将多组神经网络芯片各自分为主芯片和从芯片,然后主芯片获取从芯片的计算结果,并将结算结果在不同组的主芯片之间调度,使得每组主芯片都包含所有的计算结果,再由主芯片将所有的计算结果分发给从芯片,提升了神经网络芯片的训练速度,节省了训练时间。
本申请还揭露了一个组合处理装置,其包括上述的计算装置,通用互联接口,和其他处理装置。计算装置与其他处理装置进行交互,共同完成用户指定的操作。图2为组合处理装置的示意图。
其他处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为计算装置与外部数据和控制的接口,包括数据搬运,完成对本计算装置的开启、停止等基本控制;其他处理装置也可以和计算装置协作共同完成运算任务。
通用互联接口,用于在所述计算装置与其他处理装置间传输数据和控制指令。该计算装置从其他处理装置中获取所需的输入数据,写入计算装置片上的存储装置;可以从其他处理装置中获取控制指令,写入计算装置片上的控制缓存;也可以读取计算装置的存储模块中的数据并传输给其他处理装置。
可选的,该结构如图3所示,还可以包括存储装置,存储装置分别与所述计算装置和所述其他处理装置连接。存储装置用于保存在所述计算装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本计算装置或其他处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
在一些实施例里,还申请了一种芯片,其包括了上述计算装置或组合处理装置。
在一些实施例里,申请了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,申请了一种板卡,其包括了上述芯片封装结构。参阅图3A,图3A提供了一种板卡,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一些实施例里,申请了一种电子设备,其包括了上述板卡。
电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (26)
1.一种计算装置,其特征在于,所述计算装置包括:X组神经网络芯片,所述X组神经网络芯片中的每一组神经网络芯片中包括一个主芯片和至少一个从芯片,所述主芯片与所述从芯片连接,所述X组神经网络芯片中的主芯片之间连接,所述X的取值范围为大于或等于2的整数;
所述X组神经网络芯片中的每一个神经网络芯片用于获取输入数据和权值,并将所述权值与所述每一个神经网络芯片对应的输入数据进行运算,获得运算结果,其中所述每一个神经网络芯片获取的所述输入数据不同,获取的所述权值相同;
所述X组神经网络芯片中的第一组神经网络芯片中的第一主芯片,用于接收与所述第一主芯片连接的从芯片的运算结果;
所述第一主芯片用于将所述第一主芯片的运算结果和接收的所述从芯片的运算结果共享给其他组神经网络芯片中的主芯片,并接收其他组神经网络芯片中的主芯片共享的运算结果。
2.根据权利要求1所述的装置,其特征在于,所述第一主芯片还用于:
将所述第一主芯片中的所有运算结果传递给与所述第一主芯片连接的从芯片。
3.根据权利要求1或2所述的装置,其特征在于,所述主芯片通过树型结构与所述从芯片连接,所述树型结构为n叉树结构,所述主芯片为所述n叉树结构的根节点,所述从芯片为所述n叉树结构的子节点,所述子节点可以是一级子节点,也可以是多级子节点。
4.根据权利要求1所述装置,其特征在于,所述神经网络芯片包括:运算单元以及控制器单元;所述运算单元包括:一个主处理电路和多个从处理电路;
所述控制器单元,用于获取输入数据以及计算指令;
所述控制器单元,还用于解析该计算指令得到多个运算指令,将该多个运算指令以及所述输入数据发送给所述主处理电路;
所述主处理电路,用于对所述输入数据执行前序处理以及与所述多个从处理电路之间传输数据和运算指令;
所述多个从处理电路,用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路,用于对所述多个中间结果执行后续处理得到所述计算指令的运算结果。
5.根据权利要求4所述的装置,其特征在于,所述神经网络芯片还包括:存储单元和直接内存访问单元,所述存储单元包括:寄存器、缓存中任意组合;
所述缓存,用于存储所述输入数据;
所述寄存器,用于存储所述输入数据中标量数据;
所述缓存包括高速暂存缓存;
所述控制器单元包括:指令缓存单元、指令处理单元和存储队列单元;
所述指令缓存单元,用于存储人工神经网络运算关联的计算指令;
所述指令处理单元,用于对所述计算指令解析得到多个运算指令;
所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令;
所述控制器单元包括:依赖关系处理单元;
所述依赖关系处理单元,用于确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,将所述第一运算指令缓存在所述指令缓存单元内,在所述第零运算指令执行完毕后,从所述指令缓存单元提取所述第一运算指令传输至所述运算单元;
所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需数据的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,确定所述第一运算指令与所述第零运算指令不具有关联关系。
6.根据权利要求5所述的装置,其特征在于,当所述神经网络芯片为主芯片时,所述控制器单元还包括调度单元,具体用于:
对所述主芯片中的运算结果进行调度。
7.根据权利要求6所述的装置,其特征在于,所述对所述主芯片中的运算结果进行调度,包括:
将所述X组神经网络芯片中的主芯片按照同一方向向连接的主芯片调度1/Y+1的运算内容,其中,所述同一方向包括顺时针方向或逆时针方向,所述Y为与所述X组神经网络芯片中主芯片连接的从芯片的数量。
8.根据权利要求4-7任一项所述的装置,其特征在于,
所述主处理电路,具体用于将多个从处理电路发送的中间结果进行组合排序得到该计算指令的结果;
或所述主处理电路,具体用于将多个从处理电路的发送的中间结果进行组合排序以及激活处理后得到该计算指令的结果。
9.根据权利要求8所述的装置,其特征在于,所述主处理电路包括:转换处理电路、激活处理电路、加法处理电路中的一种或任意组合;
所述转换处理电路,用于对所述数据执行前序处理,具体为:将主处理电路接收的数据或中间结果执行第一数据结构与第二数据结构之间的互换;或将主处理电路接收的数据或中间结果执行第一数据类型与第二数据类型之间的互换;
所述激活处理电路,用于执行所述后续处理,具体为执行主处理电路内数据的激活运算;
所述加法处理电路,用于执行所述后续处理,具体为执行加法运算或累加运算。
10.根据权利要求9所述的装置,其特征在于,所述从处理电路包括:乘法处理电路;
所述乘法处理电路,用于对接收到的数据块执行乘积运算得到乘积结果。
11.根据权利要求10所述的装置,其特征在于,所述从处理电路还包括:累加处理电路,所述累加处理电路,用于对该乘积结果执行累加运算得到该中间结果。
12.一种组合计算装置,其特征在于,所述组合计算装置包括:M个如权利要求1所述的计算装置,所述M个如权利要求1所述的计算装置之间连接,所述M取值范围为大于或等于2的整数。
13.如权利要求12所述的组合计算装置,其特征在于,所述M个如权利要求1所述的计算装置之间连接,包括:
所述M个如权利要求1所述的计算装置中的每一个计算装置,其包含的X组神经网络芯片中的一组神经网络芯片的主芯片用于与其他计算装置中的X组神经网络中的一组神经网络芯片的主芯片连接。
14.一种执行机器学习模型的计算方法,其特征在于,所述计算方法应用于计算装置,所述计算装置包括:X组神经网络芯片,所述X组神经网络芯片中的每一组神经网络芯片中包括一个主芯片和至少一个从芯片,所述主芯片与所述从芯片连接,所述X组神经网络芯片中的主芯片之间连接,所述X的取值范围为大于或等于2的整数;
所述X组神经网络芯片中的每一个神经网络芯片用于获取输入数据和权值,并将所述权值与所述每一个神经网络芯片对应的输入数据进行运算,获得运算结果,其中所述每一个神经网络芯片获取的所述输入数据不同,获取的所述权值相同;
所述X组神经网络芯片中的第一组神经网络芯片中的第一主芯片,用于接收与所述第一主芯片连接的从芯片的运算结果,结合所述第一芯片的运算结果,获得第一组运算结果;
所述第一主芯片用于将所述第一主芯片的运算结果和接收的所述从芯片的运算结果共享给其他组神经网络芯片中的主芯片,并接收其他组神经网络芯片中的主芯片共享的运算结果。
15.根据权利要求14所述方法,其特征在于,所述第一主芯片还用于:
将所述第一主芯片中的所有运算结果传递给与所述第一主芯片连接的从芯片。
16.根据权利要求14或15所述的方法,其特征在于,所述主芯片通过树型结构与所述从芯片连接,所述树型结构为n叉树结构,所述主芯片为所述n叉树结构的根节点,所述从芯片为所述n叉树结构的子节点,所述子节点可以是一级子节点,也可以是多级子节点。
17.根据权利要求16所述的方法,其特征在于,所述神经网络芯片包括:运算单元以及控制器单元;所述运算单元包括:一个主处理电路和多个从处理电路;
所述控制器单元,用于获取输入数据以及计算指令;
所述控制器单元,还用于解析该计算指令得到多个运算指令,将该多个运算指令以及所述输入数据发送给所述主处理电路;
所述主处理电路,用于对所述输入数据执行前序处理以及与所述多个从处理电路之间传输数据和运算指令;
所述多个从处理电路,用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路,用于对所述多个中间结果执行后续处理得到所述计算指令的运算结果。
18.根据权利要求17所述的方法,其特征在于,所述计算装置还包括:存储单元和直接内存访问单元,所述存储单元包括:寄存器、缓存中任意组合;
所述缓存,用于存储所述输入数据;
所述寄存器,用于存储所述输入数据中标量数据;
所述缓存包括高速暂存缓存;
所述控制器单元包括:指令缓存单元、指令处理单元和存储队列单元;
所述指令缓存单元,用于存储人工神经网络运算关联的计算指令;
所述指令处理单元,用于对所述计算指令解析得到多个运算指令;
所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令;
所述控制器单元包括:依赖关系处理单元;
所述依赖关系处理单元,用于确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,将所述第一运算指令缓存在所述指令缓存单元内,在所述第零运算指令执行完毕后,从所述指令缓存单元提取所述第一运算指令传输至所述运算单元;
所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需数据的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,确定所述第一运算指令与所述第零运算指令不具有关联关系。
19.根据权利要求18所述的方法,其特征在于,当所述神经网络芯片为主芯片时,所述控制器单元还包括调度单元,具体用于:
对所述主芯片中的运算结果进行调度。
20.根据权利要求19所述的方法,其特征在于,所述对所述主芯片中的运算结果进行调度,包括:
将所述X组神经网络芯片中的主芯片按照同一方向向连接的主芯片调度1/Y+1的运算内容,其中,所述同一方向包括顺时针方向或逆时针方向,所述Y为与所述X组神经网络芯片中主芯片连接的从芯片的数量。
21.根据权利要求18-20任一项所述的方法,其特征在于,所述主处理电路,具体用于将多个从处理电路发送的中间结果进行组合排序得到该计算指令的结果;
或所述主处理电路,具体用于将多个从处理电路的发送的中间结果进行组合排序以及激活处理后得到该计算指令的结果。
22.根据权利要求21所述的方法,其特征在于,所述主处理电路包括:转换处理电路、激活处理电路、加法处理电路中的一种或任意组合;
所述转换处理电路,用于对所述数据执行前序处理,具体为:将主处理电路接收的数据或中间结果执行第一数据结构与第二数据结构之间的互换;或将主处理电路接收的数据或中间结果执行第一数据类型与第二数据类型之间的互换;
所述激活处理电路,用于执行所述后续处理,具体为执行主处理电路内数据的激活运算;
所述加法处理电路,用于执行所述后续处理,具体为执行加法运算或累加运算。
23.根据权利要求22所述的方法,其特征在于,所述从处理电路包括:乘法处理电路;
所述乘法处理电路,用于对接收到的数据块执行乘积运算得到乘积结果。
24.根据权利要求23所述的方法,其特征在于,所述从处理电路还包括:累加处理电路,所述累加处理电路,用于对该乘积结果执行累加运算得到该中间结果。
25.一种执行机器学习模型的计算方法,其特征在于,所述计算方法应用于组合计算装置,所述组合计算装置用于执行机器学习计算;所述组合计算装置包括:M个如权利要求1所述的计算装置,所述M个如权利要求1所述的计算装置之间连接,所述M取值范围为大于或等于2的整数。
26.如权利要求23所述的方法,其特征在于,所述M个如权利要求1所述的计算装置之间连接,包括:
所述M个如权利要求1所述的计算装置中的每一个计算装置,其包含的X组神经网络芯片中的一组神经网络芯片的主芯片用于与其他计算装置中的X组神经网络中的一组神经网络芯片的主芯片连接。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207452.1A CN111062469B (zh) | 2018-10-17 | 2018-10-17 | 计算装置及相关产品 |
PCT/CN2019/108842 WO2020063940A1 (zh) | 2018-09-29 | 2019-09-29 | 计算装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207452.1A CN111062469B (zh) | 2018-10-17 | 2018-10-17 | 计算装置及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062469A CN111062469A (zh) | 2020-04-24 |
CN111062469B true CN111062469B (zh) | 2024-03-05 |
Family
ID=70296853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811207452.1A Active CN111062469B (zh) | 2018-09-29 | 2018-10-17 | 计算装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062469B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991477A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
WO2018058452A1 (zh) * | 2016-09-29 | 2018-04-05 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
CN108549934A (zh) * | 2018-04-25 | 2018-09-18 | 福州瑞芯微电子股份有限公司 | 一种基于自动集群神经网络芯片组的运算方法和装置 |
-
2018
- 2018-10-17 CN CN201811207452.1A patent/CN111062469B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991477A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
WO2018058452A1 (zh) * | 2016-09-29 | 2018-04-05 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
CN108549934A (zh) * | 2018-04-25 | 2018-09-18 | 福州瑞芯微电子股份有限公司 | 一种基于自动集群神经网络芯片组的运算方法和装置 |
Non-Patent Citations (1)
Title |
---|
王昆 ; 周骅 ; .深度学习中的卷积神经网络系统设计及硬件实现.电子技术应用.2018,(05),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111062469A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111047022B (zh) | 一种计算装置及相关产品 | |
CN109670581B (zh) | 一种计算装置及板卡 | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
CN111930681B (zh) | 一种计算装置及相关产品 | |
CN111079908B (zh) | 片上网络数据处理方法、存储介质、计算机设备和装置 | |
CN111488963B (zh) | 神经网络计算装置和方法 | |
CN110059809B (zh) | 一种计算装置及相关产品 | |
CN111047021B (zh) | 一种计算装置及相关产品 | |
CN111062469B (zh) | 计算装置及相关产品 | |
CN111723920B (zh) | 人工智能计算装置及相关产品 | |
CN111382853B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN111078625B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111078624B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111078623B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111382856B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN111209230B (zh) | 数据处理装置、方法及相关产品 | |
CN111047024B (zh) | 一种计算装置及相关产品 | |
CN111260070B (zh) | 运算方法、装置及相关产品 | |
CN111047023B (zh) | 一种计算装置及相关产品 | |
CN111723921B (zh) | 人工智能计算装置及相关产品 | |
CN111260046A (zh) | 运算方法、装置及相关产品 | |
CN111258641A (zh) | 运算方法、装置及相关产品 | |
CN111222632B (zh) | 计算装置、计算方法及相关产品 | |
CN111738428B (zh) | 计算装置、方法及相关产品 | |
CN111382852B (zh) | 数据处理装置、方法、芯片及电子设备 |
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 |