CN111126582B - 数据处理方法和相关产品 - Google Patents
数据处理方法和相关产品 Download PDFInfo
- Publication number
- CN111126582B CN111126582B CN201911323837.9A CN201911323837A CN111126582B CN 111126582 B CN111126582 B CN 111126582B CN 201911323837 A CN201911323837 A CN 201911323837A CN 111126582 B CN111126582 B CN 111126582B
- Authority
- CN
- China
- Prior art keywords
- data
- leaf structure
- neuron
- splitting
- weight
- 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
- 238000003672 processing method Methods 0.000 title abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 40
- 210000002569 neuron Anatomy 0.000 claims description 130
- 238000012545 processing Methods 0.000 claims description 41
- 238000010586 diagram Methods 0.000 claims description 18
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 6
- 210000000225 synapse Anatomy 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000005265 energy consumption Methods 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 20
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 210000004205 output neuron Anatomy 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 6
- 210000002364 input neuron Anatomy 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请涉及一种数据处理方法和相关产品。该方法包括:中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据;所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;所述中央叶结构将第二运算数据发送至各所述节点叶结构;每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据;其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。采用本方法能够降低处理器的能耗开销。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法和相关产品。
背景技术
随着神经网络技术的发展,深度学习框架(Caffe)已经广泛的得到应用。
基于Caffe的神经网络模型应用在深度学习处理器进行数据处理时,能够对图像、语音和文本等数据进行处理,从而的到需要的识别结果。例如对图像进行识别从而得到图像特征,对语音进行识别从而得到控制指令等。随着神经网络的快速发展,神经网络在数据处理口过程中的数据量越来越大,大量的数据访存使得处理器进行数据处理过程中能效开销大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低能耗开销的数据处理方法、装置、处理电路、处理器、芯片、板卡和电子设备。
第一方面,本申请实施例提供一种数据处理方法,所述方法包括:
中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据;
所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;
所述中央叶结构将第二运算数据发送至各所述节点叶结构;
每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。
在其中一个实施例中,所述中央叶结构将多个所述第一运算子数据分发至对应的节点叶结构,包括:
所述中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构;
所述中央叶结构将所述第二运算数据发送至各所述节点叶结构,包括:
所述中央叶结构通过互联总线将所述第二运算数据,采用广播的形式发送至各所述节点叶结构。
在其中一个实施例中,所述第一运算数据为神经元数据,所述第二运算数据为权值数据;
所述中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,包括:
所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据;
所述每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据,包括:
所述每个所述节点叶结构在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。
在其中一个实施例中,所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据,包括:
所述中央叶结构将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多住神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个。
在其中一个实施例中,所述第一运算数据为权值数据,所述第二运算数据为神经元数据;
所述中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,包括:
所述中央叶结构对所述权值数据进行拆分,得到多组权值子数据;
所述每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据,包括:
每个所述节点叶结构在多个运算周期内,复用神经元对接收到不同的所述权值子数据和所述神经元数据进行卷积运算,得到多个部分和数据。
在其中一个实施例中,所述神经元数据为表征同一个输出特征图的不同像素点的数据,或表征不同输出特征图的像素点的数据。
第二方面,本申请实施例提供一种数据处理装置,所述装置包括:
拆分模块,用于通过中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据;
分发模块,用于通过所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;每个所述节点叶结构与每组所述第一运算子数据对应;
发送模块,用于通过所述中央叶结构将第二运算数据发送至各所述节点叶结构;
处理模块,用于通过每个所述节点叶结构对接收到的所述第一运算子数据和所述第二运算数据进行卷积运算,得到多个部分和数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。
第三方面,本申请实施例提供一种处理电路,所述电路包括中央叶结构和多个节点叶结构;所述中央叶结构和每个所述节点叶结构通过互联总线连接;
所述中央叶结构,用于对第一运算数据进行拆分,得到多组第一运算子数据;
所述中央叶结构,用于在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;每个所述节点叶结构与每组所述第一运算子数据对应;
所述中央叶结构,用于将第二运算数据发送至各所述节点叶结构;
每个所述节点叶结构,用于对接收到的所述第一运算子数据和所述第二运算数据进行卷积运算,得到多个部分和数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。
第四方面,本申请实施例提供一种处理器,所述处理器包括上述实施例中的处理电路。
第五方面,本申请实施例提供一种神经网络芯片,所述神经网络芯片包括述实施例中的处理器。
第五方面,本申请实施例提供一种板卡,所述板卡包括:存储器件、接收装置和控制器件以及上述实施例中的神经网络芯片;
其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接收装置分别连接;
所述存储器件,用于存储数据;
所述接收装置,用于实现所述芯片与外部设备之间的数据传输;
所述控制器件,用于对所述芯片的状态进行监控。
在一个实施例中,所述存储器件包括:多组存储单元,每一组所述存储单元与所述芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接收装置为:标准PCIE接口。
第六方面,本申请实施例提供一种电子设备,所述电子设备包括上述实施例中的芯片。
上述数据处理方法、装置、处理电路、处理器、芯片、板卡和电子设备,通过中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,并在每个运算周期内将多组第一运算子数据分发至对应的节点叶结构,同时中央叶结构将第二运算数据发送至各节点叶结构,使得每个节点叶结构复用第二运算数据,对接收到的第一运算子数据进行卷积运算,得到多个部分和数据。该方法中,由于每个节点叶结构在多个运算周期内复用第二运算数据,对接收到的第一运算数据进行卷积运算,从而使得数据处理过程中,对数据访存需求量大大降低,进而极大的降低了处理器的能耗开销。由于第一运算数据或第二运算数据包括语音数据、文本数据和图像数据中的至少一种,该方法应用在语音处理、文本处理或者图像处理的过程中,能够极大的降低语音数据、文本数据和图像数据的访存量,进而提高了数据处理的效率,极大的降低了处理器的能耗开销。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例提供的数据处理方法的流程示意图;
图2a为一个实施例提供的卷积神经元复用的计算示意图;
图2b为又一个实施例提供的权值复用的计算示意图;
图3为一个实施例提供的数据处理装置的结构示意图;
图4为一个实施例提供的处理电路的结构示意图;
图5为一个实施例提供的板卡的结构示意图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请实施例提供的数据处理方法,可以应用于如图1所示的计算机设备,该计算机设备可以包括处理器。可选地,该处理器可以为人工智能处理器或深度学习处理器,本申请实施例对处理器的类型并不做限定。需要说明的是,本申请实施例提供的网络模型的获取方法,其执行主体可以包含处理器的主板,也可以是包含上述主板的电子设备。下述方法实施例中,均以执行主体是处理器的构件为例来进行说明。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为一个实施例提供的数据处理方法的流程示意图,该方法可以应用于包括处理器的计算平台中。该方法包括:
S10、中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据。
需要说明的是,该方法可以应用于包括主从式分布的叶结构的处理器中,包括中央叶结构(central tile)和多个节点叶结构(leaf tile),每个叶结构的核心为一个神经运算单元(Neural Functional Unit,NFU)和四个eDram组成的权值缓存单元(SynapseBuffer,SB)。具体的,中央叶结构将待处理的第一运算数据进行拆分,分成多组第一运算子数据,可选地,可以是按照卷积核的不同方向进行拆分,还可以是根据特征图的方向拆分或者特征图的大小拆分,具体的拆分方式可以按照第一运算数据的特点或者上一个网络层的拆分方式确定,本实施例不做限定。
S20、所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构。
具体的,中央叶结构在每个运算周期内,将拆分得到的多组第一运算数据通过互联总线分别分发至对应的节点叶结构,其中,每组第一运算数据为不同的数据。
S30、所述中央叶结构将第二运算数据发送至各所述节点叶结构。
具体的,中央叶结构还可以将第二运算数据通过互联总线发送至各个节点叶结构。可选地,节点叶结构可以将第二运算数据通过其权值缓存单元进行缓存。
S40、每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据;其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。
具体的,每个节点叶结构接收到对应的第一运算子数据和第二运算数据,并在一个运算周期内,复用第二运算数据,采用NFU对其进行卷积运算,从而得到部分和数据。需要说明的是,上述第一运算数据和第二运算数据中的一个可以为神经元数据,该神经元数据可以包括语音数据、文本数据和图像数据中的至少一种。需要说明的是,上述数据处理方法可以是对图像数据进行特征向量提取,从而识别图像,例如识别图像中的目标、识别图像的种类等;还可以是对语音数据进行识别或者转换,对文本数据进行识别或者转换,从而识别语义等,对此本申请实施例并不做限定。
本实施例中,通过中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,并在每个运算周期内将多组第一运算子数据分发至对应的节点叶结构,同时中央叶结构将第二运算数据发送至各节点叶结构,使得每个节点叶结构复用第二运算数据,对接收到的第一运算子数据进行卷积运算,得到多个部分和数据。该方法中,由于每个节点叶结构在多个运算周期内复用第二运算数据,对接收到的第一运算数据进行卷积运算,从而使得数据处理过程中,对数据访存需求量大大降低,进而极大的降低了处理器的能耗开销。由于第一运算数据或第二运算数据包括语音数据、文本数据和图像数据中的至少一种,该方法应用在语音处理、文本处理或者图像处理的过程中,能够极大的降低语音数据、文本数据和图像数据的访存量,进而提高了数据处理的效率,极大的降低了处理器的能耗开销。
可选地,在上实施例的基础上,步骤S20的一种可能的实现方式可以包括:所述中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构。具体的,由于上述第一运算子数据为拆分得到的子数据,每组子数据均不相同,需要不同的节点叶结构对其进行处理,因此中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构,即每组第一运算子数据点对点的发送至对应的节点叶结构。本实施例中,中央叶结构采用单播的形式对多组所述第一运算子数据进行分发,从而使得每组第一运算子数据点对点的发送至对应的节点叶结构,便于数据处理。
可选地,在上实施例的基础上,步骤S30的一种可能的实现方式可以包括:所述中央叶结构通过互联总线将所述第二运算数据,采用广播的形式发送至各所述节点叶结构,每个节点叶结构接收到的第二运算数据为相同的数据。
可选地,在上述实施例的基础上,所述第一运算数据为神经元数据,所述第二运算数据为权值数据;上述步骤S10的一种可能的实现方式可以包括:所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据。上述步骤S40的一种可能的实现方式可以包括:每个所述节点叶结构在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。本实施例中,通过中央叶结构将神经元数据进行拆分得到的多组神经元子数据分发至节点叶结构,每个节点叶结构在多个运算周期内,复用权值数据对接收到的不同的神经元子数据进行卷积运算,从而得到部分和数据,该方法实现了复用权值数据,即使用同一个权值和对应的不同输出的神经元数据相乘得到不同输出神经元的部分和数据,极大地提高了数据处理的效率,降低了处理器的能耗开销。
可选地,上述步骤“中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据”的可能的实现方式可以包括:所述中央叶结构将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多组神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个。具体的,中央叶结构将上述神经元数据进行拆分的方式可以依据数据处理所处的网络层或者前一个网络层进行确定。例如,在卷积层的时候,可以采用卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的一种;在全连接层的时候,可以采用输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的一种;在池化层的时候,可以采用特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的一种。可选地,网络层还可以结合前序层的拆分方式和当前层状态选择拆分方式,其中,按照特征图方向拆分的时候,需要考虑特征图对齐。
可选地,第一运算数据为权值数据,所述第二运算数据为神经元数据,上述步骤S10的一种可能的实现方式可以包括:所述中央叶结构对所述权值数据进行拆分,得到多组权值子数据;上述步骤S40的一种可能的实现方式可以包括:每个所述节点叶结构在多个运算周期内,复用神经元对接收到不同的所述权值子数据和所述神经元数据进行卷积运算,得到多个部分和数据。本实施例中,通过中央叶结构将权值数据进行拆分得到的多组权值子数据分发至节点叶结构,每个节点叶结构在多个运算周期内,复用神经元数据对接收到的不同的权值子数据进行卷积运算,从而得到部分和数据,该方法实现了复用神经元数据,对不同的权值数据相乘得到部分和数据,极大地提高了数据处理的效率,降低了处理器的能耗开销。
可选地,所述神经元数据为表征同一个输出特征图的不同像素点的数据,或表征不同输出特征图的像素点的数据。
下面针对网络层的数据复用性进行具体的描述,从而获取不同的数据复用方法对于功耗节省以及相应的硬件能耗开销。
对于卷积层,在深度学习网络中,三维卷积输入输出映射关系如公式所示,根据该公式可知,卷积窗口沿着输入特征图的X、Y方向以Sx、Sy步长滑动时,单个输入神经元在卷积窗内停留的次数分别为/>和/>同时,fo个输出特征图的同一像素点位置的输出神经元对应的输入神经元相同,即一个输入神经元可以被用于计算fo个输出特征图的同一个像素点,因此每个输入神经元数据最多可以被复用的次数为/>另一方面,卷积层通过将卷积核在输入特征图上以Sx、Sy步长滑动计算得到一个输出特征图,由此可知,每个权值数据最多可以被复用的次数为Reusesynapse=Xo×Yo,其中Xo和Yo分别为输出特征图在X方向和Y方向的维度。其中,Kx和Ky分别为卷积核在x方向和y方向的尺寸。
当可变数据位宽深度学习处理器(Multi-Width Deep Learning Accelerator,简称MW-DLA)输入神经元数据和权值数据都为16比特时,中央叶结构每个运算周期从RAM中读取32字节神经元数据光波导16个节点叶结构。同时,每个节点叶结构在每个运算周期需要从SB中读取512字节权值数据发送给节点叶结构的NFU进行计算。节点叶结构NFU计算时,使用输入的16个神经元数据和16X16的权值矩阵计算16个输出特征图神经元的部分和。该过程中,中央叶结构独处的一个神经元被用于计算16X16=256个输出神经元的部分和,节点叶结构独处的一个权值被用于计算对应的输出神经元部分和。因此神经元数据复用的存储访问利用率为权值数据复用的存储访问利用率为/>在MW-DLA中每个节点叶结构读取数据宽度为4096比特,中央叶结构读取数据宽度为256比特,如果中央叶结构和节点叶结构读1比特数据的功耗开销分别为α和β,则MW-DLA读取神经元数据和权值数据的功耗开销为Powermem=256×α+16×4096×β=256×α+65536×β。如果权值数据复用利用率提升M倍,神经元数据复用利用率提升N倍,MW-DLA的总存储访问利用率变为/>其中M∈[1,Xo×Yo],/>总的存储访存利用率加速比为/>其中,M∈[1,Xo×Yo],/>
深度学习网络中,神经元复用方法有两种,一种是复用一个神经元计算不同输出特征图的像素点;另一种是复用一个神经元计算统一输出特征图的不同像素点。在MW-DLA的实现中,16个节点叶结构使用同样的输入数据计算256个输出特征图的像素点。图2a为一个实施例提供的卷积神经元复用的计算示意图。图2a示意图中,以一个特征图的计算顺序为例,输入特征图的大小为5X5,卷积核大小为3X3,滑动步长为2X2。神经元复用时,节点叶结构接收到中央叶结构输入的神经元向量后连续个输出像素点的权重计算不同的部分和。神经元服用时,节点叶结构需要将部分和缓存在/>组部分和寄存器。
卷积层进行权值复用的时候,使用同一个全职和对应不同输出神经元的相应位置的输入权重相乘得到补贴输出神经元的部分和。可选地,图2b为一个实施例提供的权值复用的示意图,该图2b中,输入特征图(feature map)的大小以5X5为例,卷积核的大小为3X3,滑动步长为2X2,该图中以同一权值数据计算不同输出特征图的不同像素点,仅以一个特征图的计算顺序为例示出。假设权值复用次数为Rx×Ry,节点叶结构从权值缓存单元读取一行权值后连续Rx×Ry个运算周期输入NFU计算。同时,节点叶结构切换对应输出特征图上的Rx×Ry个输出像素点的输入神经元计算不同的部分和。同样,权值数据复用时,节点叶结构将部分和数据缓存在Rx×Ry组部分和寄存器中。
需要说明的是,神经元复用需要每个运算周期切换不同的权值,权值数据复用需要每个运算周期切换不同神经元。如果神经元复用和权值数据复用同时进行,需要节点叶结构缓存完整的输入特征图和卷积核(kernel)。如果中央叶结构和节点叶结构读取1比特数据的功耗开销相同,则可以确定当神经元复用利用率提升1倍时,访问RAM功耗仅降低1/514;当权值复用利用率提升1倍时,访问RAM功耗降低256/514,大大高于神经元复用利用率提升1倍的功耗节省。同时,根据公式可知,神经元复用率加速比最多为而权值复用率加速比最多为Xo×Yo。相比而言,权值复用率加速比上限远高于神经元复用率加速比上限。从计算控制角度而言,在神经元复用方法中,输入特征图中靠近边框位置的像素点对应计算的输出神经元数量小于中心位置的输入像素点计算的输出神经元数量;而且,当Kx、Ky不是Sx、Sy的倍数时,即便是出入输入特征图的中心位置,不同位置的输入点对应计算的输出像素点也不同。在权值复用方法中,每个权值复用次数相同,对应计算的输出神经元数量相同,控制逻辑相比神经元复用更为简单。其中,采用权值数据复用的方法可以将输出特征图数据分为Tw×Th的数据块,并进行计算卷积层,计算过程中,节点叶结构每次读取一行权重复用Tw×Th次,和不同位置输入像素点相乘计算Tw×Th个像素点的输出部分和。
对于全连接层,在深度学习网络中,全连接层的输入输出映射关系为全连接层中每个输入神经元都用于计算no个输出神经元,即神经元复用次数最高为no,输入神经元复用利用率为/>
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种数据处理装置,应用于包括处理器的计算平台中,所述装置包括:
拆分模块100,用于通过中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据;
分发模块200,用于通过所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;每个所述节点叶结构与每组所述第一运算子数据对应;
发送模块300,用于通过所述中央叶结构将第二运算数据发送至各所述节点叶结构;
处理模块400,用于通过每个所述节点叶结构对接收到的所述第一运算子数据和所述第二运算数据进行卷积运算,得到多个部分和数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。
在一个实施例中,分发模块200,具体用于通过所述中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构;发送模块300,具体用于通过所述中央叶结构通过互联总线将所述第二运算数据,采用广播的形式发送至各所述节点叶结构。
在一个实施例中,所述第一运算数据为神经元数据,所述第二运算数据为权值数据;拆分模块100,具体用于通过所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据;处理模块400,具体用于通过每个所述节点叶结构在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。
在一个实施例中,拆分模块100,具体用于通过所述中央叶结构将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多住神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个。
在一个实施例中,所述第一运算数据为权值数据,所述第二运算数据为神经元数据;分发模块200,具体用于通过所述中央叶结构对所述权值数据进行拆分,得到多组权值子数据;处理模块400,具体用于通过每个所述节点叶结构在多个运算周期内,复用神经元对接收到不同的所述权值子数据和所述神经元数据进行卷积运算,得到多个部分和数据。
在一个实施例中,所述神经元数据为表征同一个输出特征图的不同像素点的数据,或表征不同输出特征图的像素点的数据。
在一个实施例中,如图4所示,还提供了一种处理电路,所述电路包括中央叶结构和多个节点叶结构;中央叶结构500和每个节点叶结构600通过互联总线700连接;
中央叶结构500,用于对第一运算数据进行拆分,得到多组第一运算子数据;
中央叶结构500,用于在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;每个节点叶结构600与每组所述第一运算子数据对应;
中央叶结构500,用于将第二运算数据发送至各节点叶结构600;
每个节点叶结构600,用于对接收到的所述第一运算子数据和所述第二运算数据进行卷积运算,得到多个部分和数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种。
图4中的节点叶结构的个数仅为一种示例。
在一个实施例中,中央叶结构500通过互联总线700将多组所述第一运算子数据,采用单播的形式分发至对应的各节点叶结构600;中央叶结构500通过互联总线700将所述第二运算数据,采用广播的形式发送至各节点叶结构600。
在一个实施例中,所述第一运算数据为神经元数据,所述第二运算数据为权值数据;中央叶结构500将所述神经元数据进行拆分,得到多组神经元子数据;每个节点叶结构600在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。
在一个实施例中,中央叶结构500将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多住神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个。
在一个实施例中,所述第一运算数据为权值数据,所述第二运算数据为神经元数据;中央叶结构500对所述权值数据进行拆分,得到多组权值子数据;每个节点叶结构600在多个运算周期内,复用神经元对接收到不同的所述权值子数据和所述神经元数据进行卷积运算,得到多个部分和数据。
在一个实施例中,所述神经元数据为表征同一个输出特征图的不同像素点的数据,或表征不同输出特征图的像素点的数据。
本申请实施例还提供了一种处理器,所述处理器包括上述实施例中的处理电路。
本申请实施例还提供了一种神经网络芯片,所述芯片包括上述实施例中的处理器。
图5为一个实施例提供的板卡的结构示意图。该板卡可以应用于电子设备,所述板卡除了包括上述人工智能处理器389以外,还可以包括其它的配套部件,该配套部件包括但不限于:存储器件390、接收装置391和控制器件392;
所述存储器件390与所述人工智能处理器通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能处理器通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述人工智能处理器中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接收装置与人工智能处理器电连接。所述接收装置用于实现所述人工智能处理器与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接收装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述人工智能处理器,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接收装置还可以是其它的接口,本申请并不限制上述其它的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能处理器的计算结果仍由所述接收装置传送回外部设备(例如服务器)。
所述控制器件与所述人工智能处理器电连接。所述控制器件用于对所述人工智能处理器的状态进行监控。具体的,所述人工智能处理器与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述人工智能处理器可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能处理器可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能处理器中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一个实施例中,提供了一种电子设备,该电子设备包括上述处理器、芯片或板卡。
电子设备可以为数据处理器、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过电子设备程序来指令相关的硬件来完成,所述的电子设备程序可存储于一非易失性电子设备可读取存储介质中,该电子设备程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据;若所述第一运算数据为神经元数据,所述中央叶结构将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多组神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个;
所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;
所述中央叶结构将第二运算数据发送至各所述节点叶结构;
每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据;所述神经元数据复用需要每个所述运算周期切换不同的权值数据,所述权值数据复用需要每个所述运算周期切换不同所述神经元数据;所述神经元数据的复用次数不超过预设的第一阈值,所述权值数据的复用次数不超过预设的第二阈值,第一阈值为其中,Sx、Sy为步长,Kx和Ky分别为所述卷积核在x方向和y方向的尺寸,fo为所述输出特征图的个数,第二阈值为Reusesynapse=Xo×Yo,Xo和Yo分别为所述输出特征图在X方向和Y方向的维度;其中,所述第一运算数据为所述神经元数据或权值数据,所述第二运算数据为所述神经元数据或所述权值数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种;
所述中央叶结构将多个所述第一运算子数据分发至对应的节点叶结构,包括:
所述中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构;
所述中央叶结构将所述第二运算数据发送至各所述节点叶结构,包括:
所述中央叶结构通过互联总线将所述第二运算数据,采用广播的形式发送至各所述节点叶结构;
所述第一运算数据为神经元数据,所述第二运算数据为权值数据;
所述中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,包括:
所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据;
所述每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据,包括:
所述每个所述节点叶结构在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。
2.根据权利要求1所述的方法,其特征在于,所述第一运算数据为权值数据,所述第二运算数据为神经元数据;
所述中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,包括:
所述中央叶结构对所述权值数据进行拆分,得到多组权值子数据;
所述每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据,包括:
每个所述节点叶结构在多个运算周期内,复用神经元对接收到不同的所述权值子数据和所述神经元数据进行卷积运算,得到多个部分和数据。
3.根据权利要求2所述的方法,其特征在于,所述神经元数据为表征同一个输出特征图的不同像素点的数据,或表征不同输出特征图的像素点的数据。
4.一种数据处理装置,其特征在于,所述装置包括:
拆分模块,用于通过中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据;若所述第一运算数据为神经元数据,所述中央叶结构将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多组神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个;
分发模块,用于通过所述中央叶结构在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;每个所述节点叶结构与每组所述第一运算子数据对应;
发送模块,用于通过所述中央叶结构将第二运算数据发送至各所述节点叶结构;
处理模块,用于通过每个所述节点叶结构对接收到的所述第一运算子数据和所述第二运算数据进行卷积运算,得到多个部分和数据;所述神经元数据复用需要每个所述运算周期切换不同的权值数据,所述权值数据复用需要每个所述运算周期切换不同所述神经元数据;所述神经元数据的复用次数不超过预设的第一阈值,所述权值数据的复用次数不超过预设的第二阈值,第一阈值为其中,Sx、Sy为步长,Kx和Ky分别为所述卷积核在x方向和y方向的尺寸,fo为所述输出特征图的个数,第二阈值为Reusesynapse=Xo×Yo,Xo和Yo分别为所述输出特征图在X方向和Y方向的维度;其中,所述第一运算数据为所述神经元数据或权值数据,所述第二运算数据为所述神经元数据或所述权值数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种;所述中央叶结构将多个所述第一运算子数据分发至对应的节点叶结构,包括:
所述中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构;
所述中央叶结构将所述第二运算数据发送至各所述节点叶结构,包括:
所述中央叶结构通过互联总线将所述第二运算数据,采用广播的形式发送至各所述节点叶结构;
所述第一运算数据为神经元数据,所述第二运算数据为权值数据;
所述中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,包括:
所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据;
所述每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据,包括:
所述每个所述节点叶结构在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。
5.一种处理电路,其特征在于,所述电路包括中央叶结构和多个节点叶结构;所述中央叶结构和每个所述节点叶结构通过互联总线连接;
所述中央叶结构,用于对第一运算数据进行拆分,得到多组第一运算子数据;若所述第一运算数据为神经元数据,所述中央叶结构将所述神经元数据按照预设的神经元数据拆分方式进行拆分,得到多组神经元子数据;其中,所述神经元数据拆分方式包括卷积核Kx方向、卷积核Ky方向、输入特征图方向拆分、输出特征图方向拆分、输入特征图大小拆分和输出特征图大小拆分中的至少一个;
所述中央叶结构,用于在每个运算周期内将多组所述第一运算子数据分发至对应的节点叶结构;每个所述节点叶结构与每组所述第一运算子数据对应;
所述中央叶结构,用于将第二运算数据发送至各所述节点叶结构;
每个所述节点叶结构,用于对接收到的所述第一运算子数据和所述第二运算数据进行卷积运算,得到多个部分和数据;所述神经元数据复用需要每个所述运算周期切换不同的权值数据,所述权值数据复用需要每个所述运算周期切换不同所述神经元数据;所述神经元数据的复用次数不超过预设的第一阈值,所述权值数据的复用次数不超过预设的第二阈值,第一阈值为其中,Sx、Sy为步长,Kx和Ky分别为所述卷积核在x方向和y方向的尺寸,fo为所述输出特征图的个数,第二阈值为Reusesynapse=Xo×Yo,Xo和Yo分别为所述输出特征图在X方向和Y方向的维度;其中,所述第一运算数据为所述神经元数据或权值数据,所述第二运算数据为所述神经元数据或所述权值数据;
其中,所述第一运算数据或所述第二运算数据包括语音数据、文本数据和图像数据中的至少一种;
所述中央叶结构将多个所述第一运算子数据分发至对应的节点叶结构,包括:
所述中央叶结构通过互联总线将多组所述第一运算子数据,采用单播的形式分发至对应的各所述节点叶结构;
所述中央叶结构将所述第二运算数据发送至各所述节点叶结构,包括:
所述中央叶结构通过互联总线将所述第二运算数据,采用广播的形式发送至各所述节点叶结构;
所述第一运算数据为神经元数据,所述第二运算数据为权值数据;
所述中央叶结构对第一运算数据进行拆分,得到多组第一运算子数据,包括:
所述中央叶结构将所述神经元数据进行拆分,得到多组神经元子数据;
所述每个所述节点叶结构复用所述第二运算数据,对接收到的所述第一运算子数据进行卷积运算,得到多个部分和数据,包括:
所述每个所述节点叶结构在多个运算周期内,复用所述权值数据对接收到的不同所述神经元子数据进行卷积运算,得到每个运算周期的部分和数据。
6.一种处理器,其特征在于,所述处理器包括权利要求5所述的处理电路。
7.一种神经网络芯片,其特征在于,所述神经网络芯片包括如权利要求6所述的处理器。
8.一种板卡,其特征在于,所述板卡包括:存储器件、接收装置和控制器件以及如权利要求7所述的神经网络芯片;
其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接收装置分别连接;
所述存储器件,用于存储数据;
所述接收装置,用于实现所述芯片与外部设备之间的数据传输;
所述控制器件,用于对所述芯片的状态进行监控。
9.根据权利要求8所述的板卡,其特征在于,
所述存储器件包括:多组存储单元,每一组所述存储单元与所述芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接收装置为:标准PCIE接口。
10.一种电子设备,其特征在于,所述电子设备包括如所述权利要求9所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911323837.9A CN111126582B (zh) | 2019-12-20 | 2019-12-20 | 数据处理方法和相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911323837.9A CN111126582B (zh) | 2019-12-20 | 2019-12-20 | 数据处理方法和相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111126582A CN111126582A (zh) | 2020-05-08 |
CN111126582B true CN111126582B (zh) | 2024-04-05 |
Family
ID=70500512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911323837.9A Active CN111126582B (zh) | 2019-12-20 | 2019-12-20 | 数据处理方法和相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111126582B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766292A (zh) * | 2017-10-30 | 2018-03-06 | 中国科学院计算技术研究所 | 一种神经网络处理方法及处理*** |
WO2018058426A1 (zh) * | 2016-09-29 | 2018-04-05 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作*** |
WO2019041251A1 (zh) * | 2017-08-31 | 2019-03-07 | 北京中科寒武纪科技有限公司 | 芯片装置及相关产品 |
-
2019
- 2019-12-20 CN CN201911323837.9A patent/CN111126582B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018058426A1 (zh) * | 2016-09-29 | 2018-04-05 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作*** |
WO2019041251A1 (zh) * | 2017-08-31 | 2019-03-07 | 北京中科寒武纪科技有限公司 | 芯片装置及相关产品 |
CN109729734A (zh) * | 2017-08-31 | 2019-05-07 | 北京中科寒武纪科技有限公司 | 芯片装置及相关产品 |
CN109902804A (zh) * | 2017-08-31 | 2019-06-18 | 北京中科寒武纪科技有限公司 | 一种卷积运算方法及装置 |
CN110245752A (zh) * | 2017-08-31 | 2019-09-17 | 北京中科寒武纪科技有限公司 | 一种全连接运算方法及装置 |
CN110245751A (zh) * | 2017-08-31 | 2019-09-17 | 北京中科寒武纪科技有限公司 | 一种gemm运算运算方法及装置 |
CN107766292A (zh) * | 2017-10-30 | 2018-03-06 | 中国科学院计算技术研究所 | 一种神经网络处理方法及处理*** |
Non-Patent Citations (3)
Title |
---|
Iterative Deep Neural Network Quantization With Lipschitz Constraint;Yuhui Xu et al.;《IEEE TRANSACTIONS ON MULTIMEDIA》;20191031;1-15 * |
Partition and Scheduling Algorithms for Neural Network Accelerators;Xiaobing Chen et al.;《13th International Symposium》;20190809;55-67 * |
可重构平台上面向卷积神经网络的异构多核加速方法研究;宫磊;《中国博士学位论文全文数据库》;1-119 * |
Also Published As
Publication number | Publication date |
---|---|
CN111126582A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543832B (zh) | 一种计算装置及板卡 | |
CN109522052B (zh) | 一种计算装置及板卡 | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
CN109670581B (zh) | 一种计算装置及板卡 | |
CN111488976B (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN111047022A (zh) | 一种计算装置及相关产品 | |
CN111028136B (zh) | 一种人工智能处理器处理二维复数矩阵的方法和设备 | |
CN110059809B (zh) | 一种计算装置及相关产品 | |
CN111488963B (zh) | 神经网络计算装置和方法 | |
CN111124995A (zh) | 通过人工智能处理器处理一维复数数组的方法和设备 | |
CN109711540B (zh) | 一种计算装置及板卡 | |
CN111160542A (zh) | 集成电路芯片装置及相关产品 | |
CN111125628A (zh) | 人工智能处理器处理二维数据矩阵的方法和设备 | |
CN111079908B (zh) | 片上网络数据处理方法、存储介质、计算机设备和装置 | |
CN111126582B (zh) | 数据处理方法和相关产品 | |
CN109146069B (zh) | 运算装置、运算方法和芯片 | |
CN111368967A (zh) | 一种神经网络计算装置和方法 | |
CN111382853B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN111382856B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN111368987B (zh) | 一种神经网络计算装置和方法 | |
CN111143766A (zh) | 人工智能处理器处理二维复数矩阵的方法和设备 | |
CN111382852A (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN112765542A (zh) | 运算装置 | |
CN111047024A (zh) | 一种计算装置及相关产品 | |
CN111738428B (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 |