CN105892989A - 一种神经网络加速器及其运算方法 - Google Patents
一种神经网络加速器及其运算方法 Download PDFInfo
- Publication number
- CN105892989A CN105892989A CN201610183040.3A CN201610183040A CN105892989A CN 105892989 A CN105892989 A CN 105892989A CN 201610183040 A CN201610183040 A CN 201610183040A CN 105892989 A CN105892989 A CN 105892989A
- Authority
- CN
- China
- Prior art keywords
- alu
- neutral net
- storage medium
- computing
- accelerator
- 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.)
- Granted
Links
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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
Abstract
本发明适用于神经网络算法领域,提供了一种神经网络加速器及其运算方法,该神经网络加速器包括片内存储介质、片内地址索引模块、核心计算模块以及多ALU装置,片内存储介质,用于存储外部传来的数据或用于存储计算过程中产生的数据;片内数据索引模块,用于执行运算时根据输入的索引映射至正确的存储地址;核心计算模块用于执行神经网络运算;多ALU装置用于从核心计算模块或片内存储介质获取输入数据执行核心计算模块无法完成的非线性运算。本发明在神经网络加速器中引入多ALU设计,从而提升非线性运算的运算速度,使得神经网络加速器更加高效。
Description
技术领域
本发明涉及神经网络算法领域,属于一种神经网络加速器及其运算方法。
背景技术
在大数据时代,越来越多的设备需要对于真实世界的实时输入进行越来越复杂的处理,如工业机器人、自动驾驶无人汽车以及移动设备等等。这些任务大多数偏向于机器学习领域,其中大部分运算为向量运算或者矩阵运算,具有极高的并行度。相较于传统通用的GPU/CPU加速方案,硬件ASIC加速器是目前最受欢迎的加速方案,一方面可以提供极高的并行度可以实现极高的性能,另外一方面具有极高的能效性。
常见的神经网络算法中,包括最为流行的多层感知神经网络(Multi-LayerPerceptron,MLP)、卷积神经网络(Convolutional Neural Network,CNN)和深度神经网络(Deep Neural Network,DNN),多为非线性神经网络。而其中的非线性来自激活函数,如sigmoid函数、tanh函数,或者非线性层如ReLU等。通常这些非线性的运算都独立于其他操作,也即输入输出为一一映射;且位于输出神经元最后阶段,也即非线性运算完成后才能进行下一层神经网络的计算,其运算速度深切的影响了神经网络加速器的性能。神经网络加速器中,这些非线性的运算都采用单个ALU(Arithmetic Logic Unit,算术逻辑运算单元)或者简化的ALU进行运算。然而这种方式降低了神经网络加速器的性能。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种神经网络加速器及其运算方法,其在神经网络加速器中引入多ALU设计,从而提升非线性运算的运算速度,使得神经网络加速器更加高效。
为了实现上述目的,本发明提供一种神经网络加速器,包括片内存储介质、片内地址索引模块、核心计算模块以及多ALU装置,所述片内存储介质,用于存储由神经网络加速器外部传来的数据或用于存储计算过程中产生的数据;所述片内数据索引模块,用于执行运算时根据输入的索引映射至正确的存储地址;所述核心计算模块用于执行神经网络运算中的线性运算;所述多ALU装置用于从所述核心计算模块或所述片内存储介质获取输入数据执行所述核心计算模块无法完成的非线性运算。
根据本发明的神经网络加速器,所述计算过程中产生的数据包括计算结果或中间结算结果。
根据本发明的神经网络加速器,所述多ALU装置包括输入映射单元、多个算数逻辑运算单元以及输出映射单元,
所述输入映射单元用于将从所述片内存储介质或所述核心计算模块获得的输入数据映射到多个算数逻辑运算单元;
所述算数逻辑运算单元,用于根据所述输入数据执行逻辑运算,所述逻辑运算包括非线性运算;
输出映射单元,用于将所述多个算数逻辑运算单元得到的计算结果整合映射成为正确的格式,为后续存储或者其他模块使用。
根据本发明的神经网络加速器,所述输入映射单元将所述输入数据分配至所述多个算数逻辑运算单元分别执行不同的运算或者将多个输入数据一一映射至所述多个算数逻辑运算单元执行运算。
根据本发明的神经网络加速器,所述多个算数逻辑运算单元为同构设计或异构设计。
根据本发明的神经网络加速器,单个所述算数逻辑运算单元包括多个执行不同函数功能的子运算单元。
根据本发明的神经网络加速器,所述多ALU装置还用于在计算时根据控制信号配置各算数逻辑运算单元所执行的运算功能。
根据本发明的神经网络加速器,所述片内存储介质为静态随机存储器、动态随机存储器、增强动态随机存取存储器、寄存器堆或非易失存储器。
本发明相应提供一种采用如上所述的神经网络加速器的运算方法,包括:
根据控制信号选择进入多ALU装置运算或进入核心计算模块进行计算;
若进入所述核心计算模块则从片内存储介质获取数据执行线性运算;
若进入所述多ALU装置运算则从所述片内存储介质或所述核心计算模块获取输入数据执行所述核心计算模块无法完成的非线性运算。
根据本发明的神经网络加速器的运算方法,进入所述多ALU装置运算的步骤还包括:所述多ALU装置根据控制信号配置各算数逻辑运算单元所执行的运算功能
本发明通过在神经网络加速器中加入了多ALU装置,用于从所述核心计算模块或片内存储介质获取输入数据执行核心计算模块无法完成的运算,这些运算主要包括非线性运算。相对于现有的神经网络加速器设计,提升非线性运算的运算速度,使得神经网络加速器更加高效。
附图说明
图1是本发明一种神经网络加速器的结构框图;
图2是本发明一种实施例的多ALU装置的结构框图;
图3是本发明一种实施例中单个算数逻辑运算单元功能实现框图;
图4是本发明一种实施例中多个算数逻辑运算单元功能分布框图;
图5是如图1所示的神经网络加速器进行神经网络运算的流程图;
图6是本发明神经网络加速器一种实施例的核心计算模块组织框图;
图7是本发明神经网络加速器另一实施例的核心计算模块组织框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明提供了一种神经网络加速器100,包括片内存储介质10、片内地址索引模块20、核心计算模块30以及多ALU装置40。其中片内地址索引模块20与片内存储介质10连接,片内地址索引模块20、核心计算模块30以及多ALU装置40两两连接。
片内存储介质10,用于存储神经网络加速器外部传来的数据或用于存储计算过程中产生的数据。该计算过程中产生的数据包括计算过程中产生的计算结果或中间结果。这些结果可能来自加速器的片内核心运算模块30,也可能来自其他运算部件,如本发明中多ALU装置40。该片内存储介质10可以是静态随机存储器(Static Random Access Memory,SRAM),动态随机存储器(DynamicRandom Access Memory,DRAM),增强动态随机存取存储器(Enhanced DynamicRandom Access Memory,e-DRAM),寄存器堆(Register file,RF)等常见存储介质,也可以是新型的存储器件,如非易失存储器(Non-Volatile Memory,NVM)或者3D存储器件等等。
片内地址索引模块20,用于在执行运算时根据输入的索引映射至正确的存储地址。从而使得数据和片上存储模块可以正确的交互。这里的地址映射过程包括直接映射,算术变换等。
核心计算模块30,用于执行神经网络运算中的线性运算。具体的,核心计算模块30完成神经网络算法中的大部分运算,即向量乘加操作。
多ALU装置40,用于从核心计算模块或片内存储介质获取输入数据执行核心计算模块无法完成的非线性运算。在本发明中,该多ALU装置主要用于非线性运算。以提升非线性运算的运算速度,使得神经网络加速器更加高效。在本发明中,核心计算模块30、多ALU装置40与片内存储介质10的数据通路包括但不局限于H-TREE,或者FAT-TREE等互联技术。
如图2所示,多ALU装置40包括输入映射单元41、多个算数逻辑运算单元42以及输出映射单元43。
输入映射单元41,用于将从片内存储介质或核心计算模块获得的输入数据映射到多个算数逻辑运算单元42。在不同的加速器设计中可能存在不同的数据分配原则,根据不同分配原则,输入映射单元41将输入数据分配至多个算数逻辑运算单元42分别执行不同的运算或者将多个输入数据一一映射至多个算数逻辑运算单元42执行运算。这里的输入数据来源包括直接从片内存储介质10获得和核心计算模块30获得。
多个算数逻辑运算单元42,用于分别根据输入数据执行逻辑运算,逻辑运算包括非线性运算。其中单个算数逻辑运算单元42包括多个执行不同函数功能的子运算单元,如图3所示,单个算数逻辑运算单元42的功能包括乘法,加法,比较,除法,移位操作等等,也包括复杂的函数功能,如指数操作等等,单个算数逻辑运算单元42包括执行前述不同函数的一个或多个子运算单元。同时,算数逻辑运算单元42的功能应有神经网络加速器功能决定,而不局限于特定的算法操作。
多个算数逻辑运算单元42之间为同构设计或异构设计,也即算数逻辑运算单元42可以实现相同的函数功能,也可实现不同的函数功能。在如图4所示的实施例中,多个算数逻辑运算单元42的功能异构化,上面2个ALU实现乘法和加法的操作,其他ALU分别实现其他复杂功能。异构设计有利于有效的平衡ALU的功能性和开销。
输出映射单元43,用于将多个算数逻辑运算单元42得到的计算结果整合映射成为正确的格式,为后续存储或者其他模块使用。
图5是如图1所示的神经网络加速器进行神经网络运算的流程图;该流程包括:
步骤S501,根据控制信号判断是否进入多ALU装置进行计算,若是则进入步骤S502,否则进入步骤S503。本发明的控制信号由控制指令实现、直接信号实现等方式。
步骤S502,从片内存储介质或核心计算模块获取输入数据。本步骤完成后进入步骤S504。一般的,在核心计算完成后的非线性运算则片内从核心计算模块获取输入数据,如果计算的输入为缓存在片内存储介质的中间结果则从片内存储介质获取输入数据。
步骤S503,进入核心计算模块进行计算。具体的,该核心计算模块30从片内存储介质获取数据执行线性运算,核心计算模块30完成神经网络算法中的大部分运算,即向量乘加操作。
步骤S504,判断是否对ALU功能进行配置。若是则进入步骤S505,否则直接进入步骤S506。具体的,多ALU装置40也需要根据控制信号判断装置自身是否需要进行相关配置以控制各个算数逻辑运算单元42的运算功能,例如算数逻辑运算单元42需要完成特定的功能。也即,多ALU装置40还用于在计算时根据控制信号配置各算数逻辑运算单元所执行的运算功能。
步骤S505,从片内存储介质获取参数进行配置。配置完成后进入步骤S506。
步骤S506,多ALU装置进行计算。多ALU装置40用于执行核心计算模块30无法完成的非线性运算。
步骤S507,判断所有计算是否完成,是则结束,否则回到步骤S501继续进行计算。
在本发明的一个是实施例中,核心计算模块30的结构可以多种,例如图6中的一维PE(processing element,处理单元)实现方式,图7中的二维PE实现方式。在图6中,多个PE(处理单元)同时进行计算,通常为同构运算,常见的向量运算加速器即为此类实现方式。在图7的二维PE实现方式中,多个PE通常为同构计算,然而多个PE在两个维度上都有可能存在数据传递,常见的矩阵类加速器即为此类实现方式,如二维Systolic结构。
综上所述,本发明通过在神经网络加速器中加入了多ALU装置,用于从所述核心计算模块或片内存储介质获取输入数据执行核心计算模块无法完成的非线性运算。本发明提升非线性运算的运算速度,使得神经网络加速器更加高效。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种神经网络加速器,其特征在于,包括片内存储介质、片内地址索引模块、核心计算模块以及多ALU装置,
所述片内存储介质,用于存储由神经网络加速器外部传来的数据或用于存储计算过程中产生的数据;
所述片内数据索引模块,用于执行运算时根据输入的索引映射至正确的存储地址;
所述核心计算模块用于执行神经网络运算中的线性运算;
所述多ALU装置用于从所述核心计算模块或所述片内存储介质获取输入数据执行所述核心计算模块无法完成的非线性运算。
2.根据权利要求1所述的神经网络加速器,其特征在于,所述计算过程中产生的数据包括计算结果或中间结算结果。
3.根据权利要求1所述的神经网络加速器,其特征在于,所述多ALU装置包括输入映射单元、多个算数逻辑运算单元以及输出映射单元,
所述输入映射单元用于将从所述片内存储介质或所述核心计算模块获得的输入数据映射到多个算数逻辑运算单元;
所述算数逻辑运算单元,用于根据所述输入数据执行逻辑运算,所述逻辑运算包括非线性运算;
输出映射单元,用于将所述多个算数逻辑运算单元得到的计算结果整合映射成为正确的格式,为后续存储或者其他模块使用。
4.根据权利要求3所述的神经网络加速器,其特征在于,所述输入映射单元将所述输入数据分配至所述多个算数逻辑运算单元分别执行不同的运算或者将多个输入数据一一映射至所述多个算数逻辑运算单元执行运算。
5.根据权利要求3所述的神经网络加速器,其特征在于,所述多个算数逻辑运算单元为同构设计或异构设计。
6.根据权利要求3所述的神经网络加速器,其特征在于,单个所述算数逻辑运算单元包括多个执行不同函数功能的子运算单元。
7.根据权利要求3所述的神经万络加速器,其特征在于,所述多ALU装置还用于在计算时根据控制信号配置各算数逻辑运算单元所执行的运算功能。
8.根据权利要求1所述的神经网络加速器,其特征在于,所述片内存储介质为静态随机存储器、动态随机存储器、增强动态随机存取存储器、寄存器堆或非易失存储器。
9.一种如权利要求1~8任一项所述的神经网络加速器的运算方法,其特征在于,包括:
根据控制信号选择进入多ALU装置运算或进入核心计算模块进行计算;
若进入所述核心计算模块则从片内存储介质获取数据执行线性运算;
若进入所述多ALU装置运算则从所述片内存储介质或所述核心计算模块获取输入数据执行所述核心计算模块无法完成的非线性运算。
10.根据权利要求9所述的神经网络加速器的运算方法,其特征在于,进入所述多ALU装置运算的步骤还包括:
所述多ALU装置根据控制信号配置各算数逻辑运算单元所执行的运算功能。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610183040.3A CN105892989B (zh) | 2016-03-28 | 2016-03-28 | 一种神经网络加速器及其运算方法 |
US16/071,801 US20190026626A1 (en) | 2016-03-28 | 2016-08-09 | Neural network accelerator and operation method thereof |
PCT/CN2016/094179 WO2017166568A1 (zh) | 2016-03-28 | 2016-08-09 | 一种神经网络加速器及其运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610183040.3A CN105892989B (zh) | 2016-03-28 | 2016-03-28 | 一种神经网络加速器及其运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105892989A true CN105892989A (zh) | 2016-08-24 |
CN105892989B CN105892989B (zh) | 2017-04-12 |
Family
ID=57014899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610183040.3A Active CN105892989B (zh) | 2016-03-28 | 2016-03-28 | 一种神经网络加速器及其运算方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190026626A1 (zh) |
CN (1) | CN105892989B (zh) |
WO (1) | WO2017166568A1 (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392308A (zh) * | 2017-06-20 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于可编程器件的卷积神经网络加速方法与系统 |
CN107871159A (zh) * | 2016-09-23 | 2018-04-03 | 三星电子株式会社 | 神经网络设备和操作神经网络设备的方法 |
WO2018112699A1 (zh) * | 2016-12-19 | 2018-06-28 | 上海寒武纪信息科技有限公司 | 人工神经网络反向训练装置和方法 |
CN108268942A (zh) * | 2017-01-04 | 2018-07-10 | 意法半导体股份有限公司 | 可配置的加速器框架 |
CN109358993A (zh) * | 2018-09-26 | 2019-02-19 | 中科物栖(北京)科技有限责任公司 | 深度神经网络加速器故障的处理方法及装置 |
CN109389214A (zh) * | 2017-08-11 | 2019-02-26 | 谷歌有限责任公司 | 具有驻留在芯片上的参数的神经网络加速器 |
CN109643393A (zh) * | 2016-09-07 | 2019-04-16 | 罗伯特·博世有限公司 | 用于计算具有前馈和反馈的多层感知模型的模型计算单元和控制器 |
CN109690579A (zh) * | 2016-09-07 | 2019-04-26 | 罗伯特·博世有限公司 | 用于计算多层式感知器模型的模型计算单元和控制装置 |
CN109960673A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109978155A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN110046702A (zh) * | 2018-01-17 | 2019-07-23 | 联发科技股份有限公司 | 神经网络计算加速器及其执行的方法 |
CN110084361A (zh) * | 2017-10-30 | 2019-08-02 | 上海寒武纪信息科技有限公司 | 一种运算装置和方法 |
WO2019165989A1 (zh) * | 2018-03-01 | 2019-09-06 | 华为技术有限公司 | 一种用于神经网络的数据处理电路 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及系统 |
CN110597756A (zh) * | 2019-08-26 | 2019-12-20 | 光子算数(北京)科技有限责任公司 | 一种计算电路以及数据运算方法 |
WO2020061924A1 (zh) * | 2018-09-27 | 2020-04-02 | 华为技术有限公司 | 运算加速器和数据处理方法 |
CN110998486A (zh) * | 2017-09-01 | 2020-04-10 | 高通股份有限公司 | 超低功率神经元形态人工智能计算加速器 |
CN111639045A (zh) * | 2020-06-03 | 2020-09-08 | 地平线(上海)人工智能技术有限公司 | 数据处理方法、装置、介质和设备 |
CN112784974A (zh) * | 2019-11-07 | 2021-05-11 | 财团法人工业技术研究院 | 动态多组态cnn加速器架构与操作方法 |
US11531873B2 (en) | 2020-06-23 | 2022-12-20 | Stmicroelectronics S.R.L. | Convolution acceleration with embedded vector decompression |
WO2023279701A1 (zh) * | 2021-07-08 | 2023-01-12 | 嘉楠明芯(北京)科技有限公司 | 一种神经网络运算的硬件加速装置和加速方法 |
US11593609B2 (en) | 2020-02-18 | 2023-02-28 | Stmicroelectronics S.R.L. | Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018060268A (ja) * | 2016-10-03 | 2018-04-12 | 株式会社日立製作所 | 認識装置および学習システム |
EP3660690A4 (en) * | 2017-11-30 | 2020-08-12 | SZ DJI Technology Co., Ltd. | CALCULATION UNIT, CALCULATION SYSTEM AND ORDERING PROCEDURE FOR CALCULATION UNIT |
KR20200029661A (ko) | 2018-09-07 | 2020-03-19 | 삼성전자주식회사 | 뉴럴 프로세싱 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103107879A (zh) * | 2012-12-21 | 2013-05-15 | 杭州晟元芯片技术有限公司 | 一种rsa加速器 |
US20140289445A1 (en) * | 2013-03-22 | 2014-09-25 | Antony Savich | Hardware accelerator system and method |
CN104102137A (zh) * | 2013-04-10 | 2014-10-15 | 罗伯特·博世有限公司 | 模型计算单元、控制设备以及用于计算基于数据的函数模型的方法 |
CN105184366A (zh) * | 2015-09-15 | 2015-12-23 | 中国科学院计算技术研究所 | 一种时分复用的通用神经网络处理器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019656B (zh) * | 2012-12-04 | 2016-04-27 | 中国科学院半导体研究所 | 可动态重构的多级并行单指令多数据阵列处理系统 |
CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
-
2016
- 2016-03-28 CN CN201610183040.3A patent/CN105892989B/zh active Active
- 2016-08-09 US US16/071,801 patent/US20190026626A1/en active Pending
- 2016-08-09 WO PCT/CN2016/094179 patent/WO2017166568A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103107879A (zh) * | 2012-12-21 | 2013-05-15 | 杭州晟元芯片技术有限公司 | 一种rsa加速器 |
US20140289445A1 (en) * | 2013-03-22 | 2014-09-25 | Antony Savich | Hardware accelerator system and method |
CN104102137A (zh) * | 2013-04-10 | 2014-10-15 | 罗伯特·博世有限公司 | 模型计算单元、控制设备以及用于计算基于数据的函数模型的方法 |
CN105184366A (zh) * | 2015-09-15 | 2015-12-23 | 中国科学院计算技术研究所 | 一种时分复用的通用神经网络处理器 |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643393A (zh) * | 2016-09-07 | 2019-04-16 | 罗伯特·博世有限公司 | 用于计算具有前馈和反馈的多层感知模型的模型计算单元和控制器 |
CN109690579B (zh) * | 2016-09-07 | 2023-11-03 | 罗伯特·博世有限公司 | 用于计算多层式感知器模型的模型计算单元和控制装置 |
CN109690579A (zh) * | 2016-09-07 | 2019-04-26 | 罗伯特·博世有限公司 | 用于计算多层式感知器模型的模型计算单元和控制装置 |
CN107871159A (zh) * | 2016-09-23 | 2018-04-03 | 三星电子株式会社 | 神经网络设备和操作神经网络设备的方法 |
CN107871159B (zh) * | 2016-09-23 | 2023-12-15 | 三星电子株式会社 | 神经网络设备和操作神经网络设备的方法 |
WO2018112699A1 (zh) * | 2016-12-19 | 2018-06-28 | 上海寒武纪信息科技有限公司 | 人工神经网络反向训练装置和方法 |
CN108268942A (zh) * | 2017-01-04 | 2018-07-10 | 意法半导体股份有限公司 | 可配置的加速器框架 |
US11675943B2 (en) | 2017-01-04 | 2023-06-13 | Stmicroelectronics S.R.L. | Tool to create a reconfigurable interconnect framework |
US11562115B2 (en) | 2017-01-04 | 2023-01-24 | Stmicroelectronics S.R.L. | Configurable accelerator framework including a stream switch having a plurality of unidirectional stream links |
CN107392308B (zh) * | 2017-06-20 | 2020-04-03 | 中国科学院计算技术研究所 | 一种基于可编程器件的卷积神经网络加速方法与系统 |
CN107392308A (zh) * | 2017-06-20 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于可编程器件的卷积神经网络加速方法与系统 |
CN109389214A (zh) * | 2017-08-11 | 2019-02-26 | 谷歌有限责任公司 | 具有驻留在芯片上的参数的神经网络加速器 |
US11727259B2 (en) | 2017-08-11 | 2023-08-15 | Google Llc | Neural network accelerator with parameters resident on chip |
US11501144B2 (en) | 2017-08-11 | 2022-11-15 | Google Llc | Neural network accelerator with parameters resident on chip |
CN110998486A (zh) * | 2017-09-01 | 2020-04-10 | 高通股份有限公司 | 超低功率神经元形态人工智能计算加速器 |
US11733766B2 (en) | 2017-09-01 | 2023-08-22 | Qualcomm Incorporated | Ultra-low power neuromorphic artificial intelligence computing accelerator |
CN110084361A (zh) * | 2017-10-30 | 2019-08-02 | 上海寒武纪信息科技有限公司 | 一种运算装置和方法 |
US11922132B2 (en) | 2017-10-30 | 2024-03-05 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US11762631B2 (en) | 2017-10-30 | 2023-09-19 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
CN109960673B (zh) * | 2017-12-14 | 2020-02-18 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109960673A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109978155A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN110046702A (zh) * | 2018-01-17 | 2019-07-23 | 联发科技股份有限公司 | 神经网络计算加速器及其执行的方法 |
CN110046702B (zh) * | 2018-01-17 | 2023-05-26 | 联发科技股份有限公司 | 神经网络计算加速器及其执行的方法 |
WO2019165989A1 (zh) * | 2018-03-01 | 2019-09-06 | 华为技术有限公司 | 一种用于神经网络的数据处理电路 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及系统 |
CN109358993A (zh) * | 2018-09-26 | 2019-02-19 | 中科物栖(北京)科技有限责任公司 | 深度神经网络加速器故障的处理方法及装置 |
WO2020061924A1 (zh) * | 2018-09-27 | 2020-04-02 | 华为技术有限公司 | 运算加速器和数据处理方法 |
CN110597756A (zh) * | 2019-08-26 | 2019-12-20 | 光子算数(北京)科技有限责任公司 | 一种计算电路以及数据运算方法 |
CN112784974A (zh) * | 2019-11-07 | 2021-05-11 | 财团法人工业技术研究院 | 动态多组态cnn加速器架构与操作方法 |
US11593609B2 (en) | 2020-02-18 | 2023-02-28 | Stmicroelectronics S.R.L. | Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks |
US11880759B2 (en) | 2020-02-18 | 2024-01-23 | Stmicroelectronics S.R.L. | Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks |
CN111639045B (zh) * | 2020-06-03 | 2023-10-13 | 地平线(上海)人工智能技术有限公司 | 数据处理方法、装置、介质和设备 |
CN111639045A (zh) * | 2020-06-03 | 2020-09-08 | 地平线(上海)人工智能技术有限公司 | 数据处理方法、装置、介质和设备 |
US11836608B2 (en) | 2020-06-23 | 2023-12-05 | Stmicroelectronics S.R.L. | Convolution acceleration with embedded vector decompression |
US11531873B2 (en) | 2020-06-23 | 2022-12-20 | Stmicroelectronics S.R.L. | Convolution acceleration with embedded vector decompression |
WO2023279701A1 (zh) * | 2021-07-08 | 2023-01-12 | 嘉楠明芯(北京)科技有限公司 | 一种神经网络运算的硬件加速装置和加速方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017166568A1 (zh) | 2017-10-05 |
US20190026626A1 (en) | 2019-01-24 |
CN105892989B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105892989B (zh) | 一种神经网络加速器及其运算方法 | |
US11734006B2 (en) | Deep vision processor | |
CN107169560B (zh) | 一种自适应可重构的深度卷积神经网络计算方法和装置 | |
CN108416437B (zh) | 用于乘加运算的人工神经网络的处理系统及方法 | |
US10394929B2 (en) | Adaptive execution engine for convolution computing systems | |
Ma et al. | ALAMO: FPGA acceleration of deep learning algorithms with a modularized RTL compiler | |
CN107578095B (zh) | 神经网络计算装置及包含该计算装置的处理器 | |
Ma et al. | Scalable and modularized RTL compilation of convolutional neural networks onto FPGA | |
CN107301456B (zh) | 基于向量处理器的深度神经网络多核加速实现方法 | |
CN107895191A (zh) | 一种信息处理方法及相关产品 | |
CN107239824A (zh) | 用于实现稀疏卷积神经网络加速器的装置和方法 | |
JP2021510219A (ja) | マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式 | |
CN107329734A (zh) | 一种用于执行卷积神经网络正向运算的装置和方法 | |
CN107085562B (zh) | 一种基于高效复用数据流的神经网络处理器及设计方法 | |
KR20210074992A (ko) | 내적 아키텍처 상 2차원 컨볼루션 레이어 맵핑 가속화 | |
KR20170126997A (ko) | 신경망 프로세서의 벡터 컴퓨테이션 유닛 | |
CN108170640B (zh) | 神经网络运算装置及应用其进行运算的方法 | |
CN107423816A (zh) | 一种多计算精度神经网络处理方法和系统 | |
EP3674982A1 (en) | Hardware accelerator architecture for convolutional neural network | |
TWI782328B (zh) | 適用於神經網路運算的處理器 | |
CN107103358A (zh) | 基于自旋转移力矩磁存储器的神经网络处理方法及系统 | |
Dazzi et al. | 5 parallel prism: A topology for pipelined implementations of convolutional neural networks using computational memory | |
Jiang et al. | Hardware implementation of depthwise separable convolution neural network | |
CN109978143B (zh) | 一种基于simd架构的堆栈式自编码器及编码方法 | |
CN110765413B (zh) | 矩阵求和结构及神经网络计算平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |