CN109447257B - 一种通道自组织的深度神经网络加速芯片的运算装置 - Google Patents
一种通道自组织的深度神经网络加速芯片的运算装置 Download PDFInfo
- Publication number
- CN109447257B CN109447257B CN201811090424.6A CN201811090424A CN109447257B CN 109447257 B CN109447257 B CN 109447257B CN 201811090424 A CN201811090424 A CN 201811090424A CN 109447257 B CN109447257 B CN 109447257B
- Authority
- CN
- China
- Prior art keywords
- chip
- neural network
- computing
- deep neural
- same
- 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
Images
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于集成电路技术领域,具体为一种通道自组织的深度神经网络加速芯片的运算装置。本发明装置包括:多个片上存储模块,用于按通道存储特征值矩阵;一个多行多列的计算单元阵列,用于并行执行卷积、矩阵乘法等运算;一个中央控制单元,用于控制计算过程和数据流向、和同外界的数据交互。计算单元阵列中的同一列计算单元并行处理来自同一个输入通道的计算,同一行并行处理来自同一个输出通道的计算。该装置在计算过程中将数据流按通道与存储器的对应关系进行组织,避免计算单元在多个存储器间交叉访问,减少数据在存储器间的搬运次数,从而提高了芯片的能效。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种深度神经网络加速芯片的运算装置。
背景技术
当今,深度神经网络算法被广泛地使用于自动驾驶、目标识别与检测、机器翻译等诸多领域之中。随着深度学习算法应用的日益复杂化,传统的CPU和GPU在能效上越发显得捉襟见肘,一系列的深度神经网络算法专用加速芯片应运而生。
深度神经网络算法由很多层组成,每一层的输入特征值和输出特征值都是多个通道组成的矩阵组。输入特征值经过一系列的线性运算(比如卷积、矩阵乘法)后,再通过一个非线性的激活函数,就获得了输出特征值。在神经网络的内部,每一层的输出特征值都是下一层的输入特征值。
由于每层的计算中,多个输入通道之间都存在很大的并行性,技术人员们开发了各种数据流优化技术来提高能效。将多个输入通道的数据存放于多个片上存储器中可以最大限度地提高数据读写的并行性。但是由于多个输入通道的特征值往往在得到最终的输出特征值之前,需要进行跨通道的叠加,这一限制导致了多个片上存储器之间需要相互交换数据,从而影响了最终的能效。
综上所述,如何充分地利用多个输入通道与多个输出通道的数据相关性来获得较高的加速芯片能效,是相关领域技术人员亟待解决的一个问题。
发明内容
本发明的目的在于,提供一种基于多个片上存储器的、数据通道自组织的深度神经网络加速芯片的运算装置。
本发明提出的深度神经网络加速芯片的运算装置,包括:
多个片上存储模块,用于存储参加计算的特征值;
一个深度神经网络计算单元阵列,用于深度神经网络算法中的卷积、和/或矩阵乘法、和/或池化层算法的运算;
中央控制单元,用于控制计算过程和数据流向,以及同外界的数据交互;
所述深度神经网络计算单元阵列,是由若干计算单元排列成的、多行多列的二维空间阵列;在所述中央控制单元的控制下,计算单元阵列以行或列为单位,从所述多个片上存储模块的全部或部分中并行地读取数据,计算后将结果并行地写入所述多个片上存储模块的全部或部分中,形成输入通道与输出通道的自组织。
本发明中,深度神经网络算法中的特征值按照通道序号依次存储于不同的所述存储模块中。
本发明中,计算单元阵列的行数和列数相同。具体地说,在所述计算单元阵列中,
同一列的多个计算单元,从同一个对应的片上存储模块接收用于计算的、来自同一个输入通道的数据,并行地执行同一个输入通道的计算;
同一行的多个计算单元,并行地执行多个输出通道的计算,其产生的输出数据,求和后写入、或直接写入同一个对应的片上存储模块。
本发明中,所述中央控制单元以广播的方式将指令发送给所有的所述计算单元。
本发明中,为了节约功耗,所述中央处理单元可以以行或列为单位关闭部分所述计算单元的时钟信号。
本发明中,所述多个片上存储模块中的每个存储模块,被配置成随机存储器、或多级存储器组成的缓存***。
本发明的技术效果是,该深度神经网络加速芯片的运算装置能够在计算过程中将数据流按通道与存储器的对应关系进行组织,避免计算单元在多个存储器间交叉访问,减少数据在存储器间的搬运次数,从而提高了芯片的能效。
附图说明
图1为本发明实施例的顶层模块框图。
图2为本发明实施例的乘累加计算单元的结构。
具体实施方式
以下结合具体实施例和附图对本发明的技术方案做进一步说明。应理解,以下描述的实施例是用于对本发明技术方案的说明而非限制。附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
实施例是一个深度神经网络卷积运算加速器的运算装置。图1其顶层模块框图。
所述装置包括16个两级片上存储模块11、一个16x16乘累加计算单元阵列12、中央控制单元13。
每个存储模块11包括一个二级缓存111和一个一级只读缓存112,它们都由片上SRAM实现。一级只读缓存中的数据是对二级缓存中数据的一个拷贝,只允许计算单元从中读取数据;二级缓存允许计算单元直接对其读或写。在计算中,输入特征值按照通道的标号依次存放在16个存储模块中,即第1个输入通道的数据存放在第1个存储模块中,第2个输入通道的数据存放在第2个存储模块中,以此类推。
如图2所示,本实施例中的计算单元121由乘累加器实现,每个计算单元都承担着一个二维卷积的计算。应理解,计算单元的具体实现可以根据需要加速的运算需要选取不同的实现,而不仅限于此。
计算单元阵列中的256个计算单元完全相同。同一列的16个计算单元分享来自同一个存储模块的特征值输入,因此同一时刻,它们的输入总是来自同一个输入通道。
单个计算单元每完成一次二维卷积的同时,同一行的计算单元将产生16个输出,这16个输出通过加法树122叠加产生输出特征值的其中一个通道的一个结果。由于计算单元阵列中有16行,因此同时输出16个输出通道的特征值,并写回对应的存储模块的二级缓存。
写回完成后,第1个输出通道的数据存放在第1个存储模块中,第2个输出通道的数据存放在第2个存储模块中,以此类推。由于输出特征值在16个存储模块中也是按照通道标号分别写回的,因此它们无需调整位置就可以作为下一层的输入特征值,呈现出了通道自组织的特性。
中央控制单元13在本实施例中包括:一个DDR3接口131与片外进行数据交换,和一个AXI4接口132接收来自上位机的指令。
Claims (4)
1.一种通道自组织的深度神经网络加速芯片的运算装置,其特征在于,包括:
多个片上存储模块,用于存储参加计算的特征值;
一个深度神经网络计算单元阵列,用于深度神经网络算法中的卷积、和/或矩阵乘法、和/或池化层算法的运算;
中央控制单元,用于控制计算过程和数据流向,以及同外界的数据交互;
所述深度神经网络计算单元阵列,是由若干计算单元排列成的、多行多列的二维空间阵列;在所述中央控制单元的控制下,计算单元阵列以行或列为单位,从所述多个片上存储模块的全部或部分中并行地读取数据,计算后将结果并行地写入所述多个片上存储模块的全部或部分中,形成输入通道与输出通道的自组织;
深度神经网络算法中的特征值按照通道序号依次存储于不同的所述存储模块中;
计算单元阵列的行数和列数相同;在所述计算单元阵列中:
同一列的多个计算单元,从同一个对应的片上存储模块接收用于计算的、来自同一个输入通道的数据,并行地执行同一个输入通道的计算;
同一行的多个计算单元,并行地执行多个输出通道的计算,其产生的输出数据,求和后写入、或直接写入同一个对应的片上存储模块。
2.根据权利要求1之一所述的深度神经网络加速芯片的运算装置,其特征在于,所述中央控制单元以广播的方式将指令发送给所有的所述计算单元。
3.根据权利要求2所述的深度神经网络加速芯片的运算装置,其特征在于,所述中央控制单元可以以行或列为单位关闭部分所述计算单元的时钟信号,以节约功耗。
4.根据权利要求2所述的深度神经网络加速芯片的运算装置,其特征在于,所述多个片上存储模块中的每个存储模块,被配置成随机存储器、或多级存储器组成的缓存***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811090424.6A CN109447257B (zh) | 2018-09-18 | 2018-09-18 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811090424.6A CN109447257B (zh) | 2018-09-18 | 2018-09-18 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109447257A CN109447257A (zh) | 2019-03-08 |
CN109447257B true CN109447257B (zh) | 2021-08-17 |
Family
ID=65530493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811090424.6A Active CN109447257B (zh) | 2018-09-18 | 2018-09-18 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109447257B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062471B (zh) * | 2019-11-23 | 2023-05-02 | 复旦大学 | 用于加速bert神经网络运算的深度学习加速器 |
CN113902111A (zh) * | 2021-12-09 | 2022-01-07 | 绍兴埃瓦科技有限公司 | 多芯片互连***及神经网络加速处理方法 |
CN117271391B (zh) * | 2023-06-20 | 2024-04-16 | 海光信息技术股份有限公司 | 缓存结构和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445471A (zh) * | 2016-10-13 | 2017-02-22 | 北京百度网讯科技有限公司 | 处理器和用于在处理器上执行矩阵乘运算的方法 |
CN106529668A (zh) * | 2015-11-17 | 2017-03-22 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN106875012A (zh) * | 2017-02-09 | 2017-06-20 | 武汉魅瞳科技有限公司 | 一种基于fpga的深度卷积神经网络的流水化加速*** |
CN106909970A (zh) * | 2017-01-12 | 2017-06-30 | 南京大学 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 |
CN106951395A (zh) * | 2017-02-13 | 2017-07-14 | 上海客鹭信息技术有限公司 | 面向压缩卷积神经网络的并行卷积运算方法及装置 |
CN108241890A (zh) * | 2018-01-29 | 2018-07-03 | 清华大学 | 一种可重构神经网络加速方法及架构 |
WO2018154494A1 (en) * | 2017-02-23 | 2018-08-30 | Cerebras Systems Inc. | Accelerated deep learning |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579583B2 (en) * | 2016-08-09 | 2020-03-03 | International Business Machines Corporation | True random generator (TRNG) in ML accelerators for NN dropout and initialization |
-
2018
- 2018-09-18 CN CN201811090424.6A patent/CN109447257B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529668A (zh) * | 2015-11-17 | 2017-03-22 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN106445471A (zh) * | 2016-10-13 | 2017-02-22 | 北京百度网讯科技有限公司 | 处理器和用于在处理器上执行矩阵乘运算的方法 |
CN106909970A (zh) * | 2017-01-12 | 2017-06-30 | 南京大学 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 |
CN106875012A (zh) * | 2017-02-09 | 2017-06-20 | 武汉魅瞳科技有限公司 | 一种基于fpga的深度卷积神经网络的流水化加速*** |
CN106951395A (zh) * | 2017-02-13 | 2017-07-14 | 上海客鹭信息技术有限公司 | 面向压缩卷积神经网络的并行卷积运算方法及装置 |
WO2018154494A1 (en) * | 2017-02-23 | 2018-08-30 | Cerebras Systems Inc. | Accelerated deep learning |
CN108241890A (zh) * | 2018-01-29 | 2018-07-03 | 清华大学 | 一种可重构神经网络加速方法及架构 |
Non-Patent Citations (7)
Title |
---|
《AI for 5G: Research Directions and Paradigms》;Xiaohu YOU等;《arXiv:1807.08671v1》;20180723;全文 * |
《Efficient Processing of Deep Neural Networks: A Tutorial and Survey》;Vivienne Sze等;《arXiv:1703.09039v2》;20170813;全文 * |
《ENVISION A 0.26-to-10TOPSW Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable Convolutional Neural Network Processor in 28nm FDSOI》;Bert Moons等;《2017 IEEE International Solid-State Circuits Conference》;20171231;全文 * |
《Eyeriss: An Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks》;Yu-Hsin Chen等;《IEEE JOURNAL OF SOLID-STATE CIRCUITS》;20170131;第52卷(第1期);全文 * |
《From CPU to FPGA – Acceleration of Self-Organizing Maps for Data Mining》;Jan Lachmair等;《www.researchgate.net》;20170531;全文 * |
《OCEAN: An On-Chip Incremental-Learning Enhanced Artificial Neural Network Processor With Multiple Gated-Recurrent-Unit Accelerators》;Chixiao Chen等;《IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS》;20180704;第8卷(第3期);全文 * |
《Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks》;Chen Zhang等;《http://dx.doi.org/10.1145/2684746.2689060》;20150224;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109447257A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Eyeriss: An energy-efficient reconfigurable accelerator for deep convolutional neural networks | |
Li et al. | Drisa: A dram-based reconfigurable in-situ accelerator | |
CN109447257B (zh) | 一种通道自组织的深度神经网络加速芯片的运算装置 | |
US11126549B2 (en) | Processing in-memory architectures for performing logical operations | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
CN111090467A (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
US20210150362A1 (en) | Neural network compression based on bank-balanced sparsity | |
US20240220205A1 (en) | Counter-based multiplication using processing in memory | |
CN106846235A (zh) | 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及*** | |
Finkbeiner et al. | In-memory intelligence | |
CN110837483B (zh) | 张量维度变换的方法以及装置 | |
US11599181B1 (en) | Systems and methods for reducing power consumption of convolution operations of artificial neural networks | |
KR20220164571A (ko) | 딥 러닝 가속기 및 랜덤 액세스 메모리를 구비한 집적 회로 디바이스 | |
US20220020406A1 (en) | Processing-in-memory (pim) systems | |
US20210241806A1 (en) | Streaming access memory device, system and method | |
Nakano | Optimal parallel algorithms for computing the sum, the prefix-sums, and the summed area table on the memory machine models | |
CN113254359A (zh) | 用于执行存储器内计算的方法和存储器模块 | |
CN116710912A (zh) | 一种矩阵乘法器及矩阵乘法器的控制方法 | |
Andri et al. | Going further with winograd convolutions: Tap-wise quantization for efficient inference on 4x4 tiles | |
TWI708193B (zh) | 應用於卷積神經網路之記憶體適應性處理方法及其系統 | |
US20220036243A1 (en) | Apparatus with accelerated machine learning processing | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
US20210278992A1 (en) | Adjustable function-in-memory computation system | |
CN114118348A (zh) | 加速器、操作加速器的方法以及包括加速器的电子装置 | |
Iliev et al. | Low latency CMOS hardware acceleration for fully connected layers in deep neural networks |
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 |