CN111221578A - 计算装置以及计算方法 - Google Patents
计算装置以及计算方法 Download PDFInfo
- Publication number
- CN111221578A CN111221578A CN202010189417.2A CN202010189417A CN111221578A CN 111221578 A CN111221578 A CN 111221578A CN 202010189417 A CN202010189417 A CN 202010189417A CN 111221578 A CN111221578 A CN 111221578A
- Authority
- CN
- China
- Prior art keywords
- equal
- instruction
- unit
- positive integer
- weights
- 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
- 238000004364 calculation method Methods 0.000 title claims description 40
- 238000013528 artificial neural network Methods 0.000 claims abstract description 98
- 230000015654 memory Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000013138 pruning Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 37
- 210000002364 input neuron Anatomy 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 26
- 210000002569 neuron Anatomy 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 24
- 210000004205 output neuron Anatomy 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 19
- 238000013527 convolutional neural network Methods 0.000 claims description 18
- 239000000284 extract Substances 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 34
- 230000006870 function Effects 0.000 description 27
- 238000012549 training Methods 0.000 description 14
- 238000011176 pooling Methods 0.000 description 10
- 238000003672 processing method Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 241001442055 Vipera berus Species 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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/50—Adding; Subtracting
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本申请提供了一种计算装置及神经网络的处理系统,所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、控制单元和数据访问单元。
Description
技术领域
本申请属于神经网络运算领域,尤其涉及一种计算装置以及计算方法。
背景技术
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行神经网络的数据计算时速度慢,效率低。
申请内容
有鉴于此,本申请提供一种计算装置以及计算方法,能够提高计算速度,并且运算性能高效。
本申请提供一种计算装置,所述计算装置包括:存储器、寄存器单元、互联模块、粗粒度选数单元,运算单元、控制单元和数据访问单元;其中,
寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;
控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;
数据访问单元,用于提取该操作域对应的数据块,并将该数据块通过粗粒度选数单元传输至互联模块;
粗粒度选数单元,用于接收输入神经元和非零权值位置信息,使用滑动窗口选取神经网络的一组权值,将选取的权值都置为零,并选取出非零权值对应的神经元;
互联模块、用于输入被选择的神经元和非零权值,将输入被选择的神经元和非零权值发送至运算单元;
运算单元,用于接收输入被选择的神经元和非零权值,通过乘加运算单元完成神经网络运算并将输出神经元传输给存储器。
附图说明
图1-1是本申请实施例提供的计算装置的另一种结构示意图。
图1-2是本申请实施例提供的卷积计算指令的流程示意图。
图2-1是本公开实施例的处理方法的流程图。
图2-2是本公开实施例的处理方法的另一流程图。
图2-3是本公开实施例神经网络的全连接层的剪枝方法。
图2-4是本公开实施例神经网络的卷积层粗粒度剪枝方法。
图2-5是本公开实施例的处理装置的结构示意图。
图2-6是本公开实施例的加速装置的结构示意图。
图2-7是本公开实施例的另一种加速装置的结构示意图。
图2-8是本公开以处理方法的一具体实施例。
具体实施方式
参阅图1-1,图1-1提供了一种计算装置,该计算装置包括:存储器611(可选的)、寄存器单元612、互联模块613、运算单元614、控制单元615和数据访问单元616;
其中,运算单元614包括:加法计算器、乘法计算器、比较器、激活运算器中至少二种。
互联模块613,用于控制运算单元614中计算器的连接关系使得该至少二种计算器组成不同的计算拓扑结构。
指令存储单元(可以是寄存器单元,指令缓存,高速暂存存储器)612,用于存储该运算指令、数据块的在存储介质的地址、运算指令对应的计算拓扑结构。
该运算指令可以包括:操作域以及操作码,以卷积计算指令为例,如下表所示,其中,寄存器0、寄存器1、寄存器堆2、寄存器3、寄存器4可以为操作域。其中,每个寄存器0、寄存器1、寄存器2、寄存器3、寄存器4可以是一个或者多个寄存器。
存储器611可以为片外存储器,当然在实际应用中,参见图1-1,当为片内存储器时,该片内存储器可以为缓存,具体的,可以为高速暂存缓存,用于存储数据块,该数据块具体可以为n维数据,n为大于等于1的整数,例如,n=1时,为1维数据,即向量,如n=2时,为2维数据,即矩阵,如n=3或3以上时,为多维数据。
控制单元615,用于从寄存器单元612内提取运算指令、该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元616,。
数据访问单元616,用于从存储器611中提取该操作域对应的数据块,并将该数据块传输至互联模块613。
互联模块613、用于接收数据块,将该数据块发送至运算单元614。
运算单元614,用于该执行指令调用运算单元614的计算器对该数据块执行运算操作得到运算结果,将该运算结果传输至数据访问单元存储在存储器内。一个实施例里,运算单元614,用于按第一计算拓扑结构以及该执行指令调用计算器对数据块执行运算操作得到运算结果,将该运算结果传输至数据访问单元存储在存储器内。
在一种可选的实施例中,上述第一计算拓扑结构可以为:乘法运算器-加法运算器-加法运算器-激活运算器。
下面通过不同的运算指令来说明如图1-1所示的计算装置的具体计算方法,这里的运算指令以卷积计算指令为例,该卷积计算指令可以应用在神经网络中,所以该卷积计算指令也可以称为卷积神经网络。对于卷积计算指令来说,其实际需要执行的公式可以为:s=s(∑wxi+b),其中,即将卷积核w乘以输入数据xi,进行求和,然后加上偏置b后做激活运算,得到最终的输出结果s。依据该公式即可以得到该计算拓扑结构为,乘法运算器-加法运算器-(可选的)激活运算器。
上述运算指令可以包括指令集,该指令集包括:卷积神经网络指令,有不同功能的卷积神经网络COMPUTE指令以及CONFIG指令、IO指令、NOP指令、JUMP指令和MOVE指令。在一种实施例中,COMPUTE指令包括:
卷积神经网络指令,根据该指令,装置分别从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积运算直接得到输出结果。即该指令不执行后续的操作,直接做卷积运算得到输出结果。
卷积神经网络sigmoid指令,根据该指令,装置分别从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,优选的,然后将输出结果做sigmoid激活;
卷积神经网络TanH指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,优选的,然后将输出结果做TanH激活;
卷积神经网络ReLU指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,优选的,然后将输出结果做ReLU激活;以及
卷积神经网络group指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作,优选的,然后将输出结果做激活。
CONFIG指令在每层人工神经网络计算开始前配置当前层计算需要的各种常数。
IO指令实现从外部存储空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间。
NOP指令负责清空当前装置内部所有控制信号缓存队列中的控制信号,保证NOP指令之前的所有指令全部指令完毕。NOP指令本身不包含任何计算操作;
JUMP指令负责控制将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。
如图1-1所示的计算装置执行卷积计算指令的方法具体可以为:
控制单元615从寄存器单元612内提取卷积计算指令、卷积计算指令对应的操作域,控制单元将该操作域传输至数据访问单元。
数据访问单元从存储器内提取该操作域对应的卷积核w和偏置b(当b为0时,不需要提取偏置b),将卷积核w和偏置b传输至运算单元。
运算单元的乘法运算器将卷积核w与输入数据Xi执行乘法运算以后得到第一结果,将第一结果输入到加法运算器执行加法运算得到第二结果,将第二结果和偏置b执行加法运算得到第三结果,将第三结果输到激活运算器执行激活运算得到输出结果s,将输出结果s传输至数据访问单元存储至存储器内。其中,每个步骤后都可以直接输出结果传输到数据访问存储至存储器内。另外,将第二结果和偏置b执行加法运算得到第三结果这一步骤为可选步骤,即当b为0时,不需要这个步骤。
本申请提供的技术方案通过一个指令即卷积计算指令即实现了卷积的计算,在卷积计算的中间数据(例如第一结果、第二结果、第三结果)均无需存储或提取,减少了中间数据的存储以及提取操作,所以其具有减少对应的操作步骤,提高卷积的计算效果的优点。
图1-2是本申请实施例提供的卷积神经网络运算装置执行卷积神经网络的流程图,如图1-2所示,执行卷积神经网络指令的过程包括:
在步骤S6B1,在指令存储单元的首地址处预先存入一条IO指令。
在步骤S6B2,控制器单元从指令存储单元的首地址读取该条IO指令,根据译出的控制信号,数据访问单元从存储器读取相应的所有卷积神经网络运算指令,并将其缓存在指令存储单元中。
在步骤S6B3,控制器单元接着从指令存储单元读入下一条IO指令,根据译出的控制信号,数据访问单元从存储器读取运算单元需要的所有数据块(例如,包括输入数据、用于作快速的激活函数运算的插值表、用于配置运算器件参数的常数表、偏置数据等)。
在步骤S6B4,控制器单元接着从指令存储单元读入下一条CONFIG指令,根据译出的控制信号,装置配置该层神经网络计算需要的各种常数。例如,运算单元根据控制信号里的参数配置单元内部寄存器的值,所述参数包括例如激活函数需要的数据。
在步骤S6B5,控制器单元接着从指令存储单元读入下一条COMPUTE指令,根据译出的控制信号,互连模块将卷积窗口内的输入数据发给计算单元内的各计算器。
在步骤S6B6,根据COMPUTE指令译出的控制信号,互联模块将乘法计算器、加法计算器和激活计算器连接形成第一计算拓扑结构。
在步骤S6B7,乘法运算器将卷积核w与输入数据Xi执行乘法运算以后得到第一结果,将第一结果输入到加法运算器执行加法运算得到第二结果,将第二结果和偏置b执行加法运算得到第三结果,将第三结果输入到激活运算器执行激活运算得到输出结果s,将输出结果s传输至数据访问单元存储至存储介质内。其中,将第二结果和偏置b执行加法运算得到第三结果这一步骤可选,即当b为0时,不需要这个步骤。
图2-1是本公开实施例的处理方法的流程图。在本公开一些实施例中,提供了一种处理方法,用于机器学习的稀疏化,例如神经网络的稀疏化,如图2-1所示,处理方法在如图1-1所示的计算装置中实现,包括:
S101:使用滑动窗口从神经网络选取出一组权值,将选取的权值都置为零;
S102:对神经网络进行训练,训练过程中已经被置为零的权值保持为零。
步骤S101实际为对神经网路进行剪枝的过程;步骤S1022中是将剪枝后的神经网络使用反向传播算法(back propagation)进行重新训练,训练过程中已经被置为0的权值将一直保持0。
其中,选取神经网络的一组权值的方法可以有以下几种,组内所有权值绝对值的算术平均值小于第一阈值;或者组内所有权值绝对值的几何平均值小于第二阈值;或者组内所有权值绝对值的最大值小于第三阈值。上述第一阈值、第二阈值和第三阈值中各自的选择可以本领域技术人员可以根据情况进行预先设定,本公开并不以此为限。
图2-2是本公开实施例的处理方法的另一流程图。除包括与步骤S1和S2对于的步骤S201和S202外,还可以包括步骤S203:不断重复S201和S2022直至在保证精度不损失x%的前提下没有权值能被置为0,x为大于0小于100的数,x根据不同的神经网络以及不同的应用可以有不同的选择。在一个实施例里,x的值为0-5。
本公开实施例中,对神经网络进行剪枝可包括:对神经网络的全连接层、卷积层或LSTM层的权值进行剪枝。
图2-3是本公开实施例神经网络的全连接层的剪枝方法。如图2-3所示,神经网络的全连接层可以看成是一个二维矩阵(Nin,Nout),其中Nin表示输入神经元的个数,Nout表示输出神经元的个数,共有Nin*Nout个权值。在粗粒度剪枝时,我们先设定一个大小为Bin*Bout的滑动窗口,其中Bin为大于等于1小于等于Nin正整数,Bout为大于等于1小于等于Nout的正整数。滑动窗口可以沿着Bin的方向按照Sin的步长(stride)进行滑动,也可以沿着Bout方向按照Sout的步长进行滑动,其中Sin为大于等于1小于等于Bin的正整数,Sout为大于等于1小于等于Bout的正整数。当滑动窗口内的一组权值被选取时,这组权值将全部被置为0,即Bin*Bout个权值将同时置为0。
图2-4是本公开实施例神经网络的卷积层粗粒度剪枝方法。如图2-4所示,神经网络的卷积层可以看成是一个四维矩阵(Nfin,Nfout,Kx,Ky),其中Nfin表示输入特征图像(feature map)数量,Nout表示输出特征图像数量,(Kx,Ky)表示卷积核(kernel)的大小。在粗粒度剪枝时,我们先设定一个大小为Bfin*Bfout*Bx*By的滑动窗口,其中Bfin为大于等于1小于等于Nfin的正整数,Bfout为大于等于1小于等于Nfout的正整数,Bx为大于等于1小于等于Kx的正整数,By为大于等于1小于等于Ky的正整数。滑动窗口可以沿着Bfin的方向按照Sfin的步长(stride)进行滑动,或者沿着Bfout方向按照Sfout的步长进行滑动,或者沿着Bx方向按照Sx的步长进行滑动,或沿着By方向按照Sy的步长进行滑动,其中Sfin为大于等于1小于等于Bfin的正整数,Sfout为大于等于1小于等于Bfout的正整数,Sx为大于等于1小于等于Bx的正整数,Sy为大于等于1小于等于By的正整数。当某个滑动窗口内的一组权值被选取时,这组权值将全部被置为0,即Bfin*Bfout*Bx*By个权值将同时置为0。
LSTM层的权值由多个全连接层权值组成,假设LSTM层的权值由m个全连接层权值组成,其中m为大于0的正整数。第i个全连接层权值为(Nin_i,Nout_i,),其中i是大于0小于等于m的正整数,Nin_i表示第i个全连接层权值输入神经元个数,Nout_i表示第i个全连接层权值输出神经元个数,在粗粒度剪枝时,对于第i个全连接层,我们先设定一个大小为Bin_i*Bout_i的滑动窗口,其中Bin_i为大于等于1小于等于Nin_i的正整数,Bout_i为大于等于1小于等于Nout_i的正整数。滑动窗口可以沿着Bin_i的方向按照Sin_i的步长进行滑动,也可以沿着Bout_i方向按照Sout_i的步长进行滑动,其中Sin_i为大于等于1小于等于Bin_i的正整数,Sout_i为大于等于1小于等于Bout_i的正整数。当滑动窗口内的一组权值被选取时,这组权值将全部被置为0,即Bin_i*Bout_i个权值将同时置为0。
本申请实施例还提供一种处理装置,在一种可选实施例中,该处理装置可以为图1-1所示的计算装置,需要说明的是,上述如图1-1所示的计算装置可以添加粗粒度剪枝单元和神经网络训练单元,在实际应用中,上述如图1-1所示的计算装置也可以添加或扩展如图2-5所示的处理装置的模块或单元。在另一种可选实施例中,该处理装置如图2-5所示,用于对神经网络进行。
粗粒度剪枝包括存储器:用于存储可执行指令;包括存储器:用于存储可执行指令;减少运算时间。
粗粒度剪枝单元:用于对神经网络进行剪枝,包括使用滑动窗口从神经网络选取出一组权值,将选取的权值都置为零;
神经网络训练单元:用于将剪枝后的神经网络进行训练:训练过程中已经被置为零的权值保持为零。
训练单元集成了神经网络反向训练算法,接收粗粒度剪枝后的神经网络,采用反向训练算法进行训练,在训练过程中被剪枝的权值始终保持为0。训练单元将训练后的神经网络或者传输给粗粒度剪枝单元进行进一步剪枝操作,或者直接输出。
进一步的,粗粒度剪枝单元还包括全连接层粗粒度剪枝单元,实现对神经网络的全连接层进行粗粒度剪枝操作。
进一步的,粗粒度剪枝单元还包括卷积层粗粒度剪枝单元,实现对神经网络的卷积层进行粗粒度剪枝操作。
进一步的,粗粒度剪枝单元还包括LSTM层粗粒度剪枝单元,实现对神经网络的LSTM层进行粗粒度剪枝操作。
本公开提供了一处理装置,该加速装置可以添加在如图1-1所示计算装置内。图2-6是本公开实施例的处理装置的结构示意图。如图2-6所示的处理装置,能够处理粗粒度稀疏后的神经网络,充分挖掘粗粒度稀疏的特性,减少访存同时减少运算量,从而减少运算时间并降低能耗。
处理装置包括存储单元,指令控制单元,粗粒度选数单元和运算单元。处理装置可以是用于神经网络处理。
存储单元可用来存储神经网络的神经元,权值以及指令。
指令控制单元用于接收存储部分中的指令,经过译码后生成控制信息控制粗粒度选数单元进行选数操作和运算单元进行计算操作
综上所述,本申请中的运算单元,可以用于执行神经网络专用指令。本申请中的神经网络专用指令,包括但不限于所有专用于完成人工神经网络运算的指令。神经网络专用指令包括但不限于控制指令,数据传输指令,运算指令和逻辑指令。其中控制指令控制神经网络执行过程。数据传输指令完成不同存储介质之间的数据传输,数据格式包括但不仅限于矩阵,向量和标量。运算指令完成神经网络的算术运算,包括但不仅限于矩阵运算指令,向量运算指令,标量运算指令,卷积神经网络运算指令,全连接神经网络运算指令,池化神经网络运算指令,RBM神经网络运算指令,LRN神经网络运算指令,LCN神经网络运算指令,LSTM神经网络运算指令,RNN神经网络运算指令,RELU神经网络运算指令,PRELU神经网络运算指令,SIGMOID神经网络运算指令,TANH神经网络运算指令,MAXOUT神经网络运算指令。逻辑指令完成神经网络的逻辑运算,包括但不仅限于向量逻辑运算指令和标量逻辑运算指令。
其中,RBM神经网络运算指令用于实现Restricted Boltzmann Machine(RBM)神经网络运算。
其中,LRN神经网络运算指令用于实现Local Response Normalization(LRN)神经网络运算。
其中,LSTM神经网络运算指令用于实现Long Short-Term Memory(LSTM)神经网络运算。
其中,RNN神经网络运算指令用于实现Recurrent Neural Networks(RNN)神经网络运算。
其中,RELU神经网络运算指令用于实现Rectified linear unit(RELU)神经网络运算。
神经网络运算指令用于实现S型生长曲线(SIGMOID)神经网络运算。y=sigmoid(x)=1/1+e-x,其中x,y是实数。
其中,TANH神经网络运算指令用于实现双曲正切函数(TANH)神经网络运算。
其中,MAXOUT神经网络运算指令用于实现(MAXOUT)神经网络运算使用maxout激活函数输出一个节点的表达式为maxouti(x)=maxj∈[1,k](xTW…ij+bij)
其中,W为权重,b为偏置。
更具体的,它包括Cambricon指令集。
所述Cambricon指令集的特征在于,指令集中每一条指令长度为设定长度(例如64bit或128bit),指令由操作码和操作数组成。指令集包含四种类型的指令,分别是控制指令(control instructions),数据传输指令(data transfer instructions),运算指令(computational instructions),逻辑指令(logical instructions)。
进一步的,控制指令用于控制执行过程。控制指令包括跳转(jump)指令和条件分支(conditional branch)指令。
进一步的,数据传输指令用于完成不同存储介质之间的数据传输。数据传输指令包括加载(load)指令,存储(store)指令,搬运(move)指令。load指令用于将数据从主存加载到缓存,store指令用于将数据从缓存存储到主存,move指令用于在缓存与缓存或者缓存与寄存器或者寄存器与寄存器之间搬运数据。数据传输指令支持三种不同的数据组织方式,包括矩阵,向量和标量。
进一步的,运算指令用于完成神经网络算术运算。运算指令包括矩阵运算指令,向量运算指令和标量运算指令。
更进一步的,矩阵运算指令完成神经网络中的矩阵运算,包括矩阵乘向量(matrixmultiply vector),向量乘矩阵(vector multiply matrix),矩阵乘标量(matrixmultiply scalar),外积(outer product),矩阵加矩阵(matrix add matrix),矩阵减矩阵(matrix subtract matrix)。
更进一步的,向量运算指令完成神经网络中的向量运算,包括向量基本运算(vector elementary arithmetics),向量超越函数运算(vector transcendentalfunctions),内积(dot product),向量随机生成(random vector generator),向量中最大/最小值(maximum/minimum of a vector)。其中向量基本运算包括向量加,减,乘,除(add,subtract,multiply,divide),向量超越函数是指那些不满足任何以多项式作系数的多项式方程的函数,包括但不仅限于指数函数,对数函数,三角函数,反三角函数。
更进一步的,标量运算指令完成神经网络中的标量运算,包括标量基本运算(scalar elementary arithmetics)和标量超越函数运算(scalar transcendentalfunctions)。其中标量基本运算包括标量加,减,乘,除(add,subtract,multiply,divide),标量超越函数是指那些不满足任何以多项式作系数的多项式方程的函数,包括但不仅限于指数函数,对数函数,三角函数,反三角函数。
进一步的,逻辑指令用于神经网络的逻辑运算。逻辑运算包括向量逻辑运算指令和标量逻辑运算指令。
更进一步的,向量逻辑运算指令包括向量比较(vector compare),向量逻辑运算(vector logical operations)和向量大于合并(vector greater than merge)。其中向量比较包括但大于,小于,等于,大于等于,小于等于和不等于。向量逻辑运算包括与,或,非。
更进一步的,标量逻辑运算包括标量比较(scalar compare),标量逻辑运算(scalar logical operations)。其中标量比较包括但大于,小于,等于,大于等于,小于等于和不等于。标量逻辑运算包括与,或,非。
粗粒度选数单元用于接收输入神经元和非零权值位置信息,使用滑动窗口选取神经网络的一组权值,将选取的权值都置为零,并选取出非零权值对应的神经元。
运算单元用于接收输入被选择的神经元和非零权值,通过乘加运算单元完成神经网络运算并将输出神经元重新传输给存储部分。
更进一步的,存储单元存放权值时只存放非零权值以及非零权值的位置信息。
更进一步的,粗粒度选数单元只会选择出非零权值对应的神经元并传输给运算单元。
更进一步的,加速装置还可包括预处理模块。如图2-7所示,该模块对原始数据进行预处理,包括切分、高斯滤波、二值化、正则化、归一化等等。
更进一步的,加速装置还可包括直接数据存取单元DMA(direct memory access)。
更进一步的,加速装置还可包括指令缓存,输入神经元缓存,非零权值缓存,非零权值位置缓存,输出神经元缓存。
特别的,存储单元主要用来存储神经网络的神经元,权值以及指令。其中存放权值时只存放非零权值以及非零权值的位置信息。
特别的,DMA用于在所述存储单元、指令缓存、非零权值缓存、非零权值位置缓存,输入神经元缓存和输出神经元缓存中进行数据或者指令读写。
指令缓存,用于存储专用指令;
非零权值缓存,用于缓存非零权值数据;
非零权值位置缓存,用于缓存非零权值位置数据;
非零权值位置缓存将输入数据中每个连接权值一一对应到相应的输入神经元。
一种情形下非零权值位置缓存一一对应的方法为采用1表示有连接,0表示无连接,每组输出与所有输入的连接状态组成一个0和1的字符串来表示该输出的连接关系。另一种情形下非零权值位置缓存一一对应的方法为采用1表示有连接,0表示无连接,每组输入与所有输出的连接状态组成一个0和1的字符串来表示该输入的连接关系。另一种情形下非零权值位置缓存一一对应的方法为将一组输出第一个连接所在的输入神经元位置距离第一个输入神经元的距离、所述输出第二组输入神经元距离上一个输入神经元的距离,所述输出第三组输入神经元距离上一个输入神经元的距离,……,依次类推,直到穷举所述输出的所有输入,来表示所述输出的连接关系。
输入神经元缓存单元,用于缓存输入到粗粒度选数单元的输入神经元;
输出神经元缓存单元,用于缓存运算单元输出的输出神经元。
控制单元,用于接收指令缓存中的指令,经过译码后生成控制信息控制运算单元进行计算操作。
粗粒度选数单元,用于接收输入神经元和非零权值位置信息,选择出需要进行运算的神经元。粗粒度选数单元只会选择出非零权值对应的神经元并传输给运算单元。
运算单元,用于根据存储单元中存储的指令对所述数据执行相应运算。
运算单元包括但不仅限于三个部分,第一部分一个或多个乘法器,第二部分一个或多个加法器,优选的,第二部分包括多个加法器,多个加法器组成加法树。第三部分为激活函数单元。第一部分将第一输入数据(in1)和第二输入数据(in2)相乘得到相乘之后的输出(out1),过程为:out=in1*in2;第二部分将第三输入数据in3通过加法树逐级相加得到第二输出数据(out2),其中in3是一个长度为N的向量,N大于1,过称为:out2=in3[1]+in3[2]+...+in3[N],和/或将第三输入数据(in3)通过加法数累加之后和第四输入数据(in4)相加得到第二输出数据(out2),过程为:out=in3[1]+in3[2]+...+in3[N]+in4,或者将第三输入数据(in3)和第四输入数据(in4)相加得到第二输出数据(out2),过称为:out2=in3+in4;第三部分将第五输入数据(in5)通过激活函数(active)运算得到激活输出数据(out),过程为:out3=active(in5),激活函数active可以是sigmoid、tanh、relu、softmax等,除了做激活操作,第三部分可以实现其他的非线性函数,可将将输入数据(in)通过运算(f)得到输出数据(out),过程为:out=f(in)。
运算单元还可以包池化单元,池化单元将输入数据(in)通过池化运算得到池化操作之后的输出数据(out),过程为out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
所述运算单元执行运算包括几个部分,第一部分是将所述第一输入数据和第二输入数据相乘,得到相乘之后的数据;第二部分执行加法树运算,用于将第三输入数据通过加法树逐级相加,或者将所述第三输入数据通过和第四输入数据相加得到输出数据;第三部分执行激活函数运算,对第五输入数据通过激活函数(active)运算得到输出数据。以上几个部分的运算可以自由组合,从而实现各种不同功能的运算。
以下,列举神经网络处理器实施例,对本公开的处理方法进行具体说明,但应理解的是其并非因此限制本公开,凡是利用本具体实施例所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开的保护范围内。
图2-8是本公开以处理方法的一具体实施例。如图2-8所示,其是神经网络的一个全连接层经过粗粒度剪枝后的结果,全连接层共有8个输入神经元为n1~n8和3个输出神经元为o1~o3。其中n3,n4,n7,n8四个输入神经元与o1,o2,o3三个输出神经元之间的权值通过粗粒度稀疏被置为零;n1与o1,o2,o3之间通过s11,s12,s13三个权值连接,n2与o1,o2,o3之间通过s21,s22,s23三个权值连接,n5与o1,o2,o3之间通过s31,s32,s33三个权值连接,n6与o1,o2,o3之间通过s41,s42,s43三个权值连接;我们用11001100这个比特串表示输入神经元与输出神经元之间的连接情况,即第一种表示非零权值位置信息的情况,1表示输入神经元与三个输出神经元都连接,0表示输入神经元与三个输出神经元都不连接。表1描述了实施例中神经元与权值的信息,公式1描述了o1,o2,o3三个输出神经元的运算公式。从公式1中可以看出o1,o2,o3将接收到相同的神经元进行运算。
表1
公式1--输出神经元运算公式:
o1=n1*s11+n2*s12+n5*s13+n6*s14
o2=n1*s21+n2*s22+n5*s23+n6*s24
o3=n1*s31+n7*s32+n5*s33+n6*s34
在处理装置进行运算时,8个输入神经元,12个权值和8比特的位置信息以及相应的指令被传输到存储单元。粗粒度选数单元接收8个输入神经元和非零权值位置,选出n1,n2,n5,n6四个需要参与运算的神经元。运算单元接收四个被选择的神经元与权值,通过公式1完成输出神经元的运算,然后将输出神经元传输回存储部分。
应该理解到,所揭露的相关装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
通过本公开的实施例,提供了神经网络的粗粒度稀疏化的处理方法和对应的处理装置,以及芯片、芯片封装结构、板卡和电子装置。其中,粗粒度稀疏化处理方法能够使稀疏神经网络更加规则化,利于用硬件进行加速,同时减少非零权值位置的存储空间。神经网络处理器能够充分挖掘粗粒度稀疏的特性,减少访存同时减少运算量,从而获得加速比并降低能耗在一些实施例里,公开了一种芯片,其包括了上述神经网络处理器。
在一些实施例里,公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,公开了一种板卡,其包括了上述芯片封装结构。
在一些实施例里,公开了一种电子装置,其包括了上述板卡。
电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种计算装置,其特征在于,所述计算装置包括:存储器、寄存器单元、互联模块、粗粒度选数单元,运算单元、控制单元和数据访问单元;其中,
寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;
控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;
数据访问单元,用于提取该操作域对应的数据块,并将该数据块通过粗粒度选数单元传输至互联模块;
粗粒度选数单元,用于接收输入神经元和非零权值位置信息,使用滑动窗口选取神经网络的一组权值,将选取的权值都置为零,并选取出非零权值对应的神经元;
互联模块、用于输入被选择的神经元和非零权值,将输入被选择的神经元和非零权值发送至运算单元;
运算单元,用于接收输入被选择的神经元和非零权值,通过乘加运算单元完成神经网络运算并将输出神经元传输给存储器。
2.根据权利要求1所述的计算装置,其特征在于,
所述粗粒度选数单元,具体用于将组内所有权值绝对值的算术平均值作为该组的第一代表权值,第一代表权值小于第一阈值;
或者将组内所有权值绝对值的几何平均值作为该组的第二代表权值,第二代表权值小于第二阈值;
或者将组内所有权值绝对值的最大值作为该组的第三代表权值,第三代表权值小于第三阈值种。
3.根据权利要求1所述的计算装置,其特征在于,所述粗粒度剪枝单元包括:全连接层粗粒度剪枝单元、卷积层粗粒度剪枝单元或LSTM层粗粒度剪枝单元
全连接层粗粒度剪枝单元,用于实现对神经网络的全连接层进行粗粒度剪枝操作;
卷积层粗粒度剪枝单元,用于实现对神经网络的卷积层进行粗粒度剪枝操作;
LSTM层粗粒度剪枝单元,用于实现对神经网络的LSTM层进行粗粒度剪枝操作。
4.根据权利要求3所述的计算装置,其特征在于,
全连接层粗粒度剪枝单元,具体用于使滑动窗口能够沿着Bin的方向按照Sin的步长进行滑动,也可以沿着Bout方向按照Sout的步长进行滑动,其中Sin为大于等于1小于等于Bin的正整数,Sout为大于等于1小于等于Bout的正整数;
当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin*Bout个权值将同时置为零;
所述全连接层的权值是一个二维矩阵(Nin,Nout),其中Nin是输入神经元的个数,Nout是输出神经元的个数,共有Nin*Nout个权值,设定一个大小为Bin*Bout的滑动窗口,其中Bin为大于等于1小于等于Nin正整数,Bout为大于等于1小于等于Nout的正整数。
5.根据权利要求3所述的计算装置,其特征在于,
卷积层粗粒度剪枝单元,具体用于使滑动窗口沿着Bfin的方向按照Sfin的步长进行滑动,或者沿着Bfout方向按照Sfout的步长进行滑动,或者沿着Bx方向按照Sx的步长进行滑动,或沿着By方向按照Sy的步长进行滑动,其中Sfin为大于等于1小于等于Bfin的正整数,Sfout为大于等于1小于等于Bfout的正整数,Sx为大于等于1小于等于Bx的正整数,Sy为大于等于1小于等于By的正整数;
当某个滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bfin*Bfout*Bx*By个权值将同时置为零;
所述卷积层的权值是一个四维矩阵(Nfin,Nfout,Kx,Ky),其中Nfin是输入特征图像的个数,Nfout是输出特征图像的个数,(Kx,Ky)是卷积核的大小,共有Nfin*Nfout*Kx*Ky个权值,设定一个大小为Bfin*Bfout*Bx*By的四维滑动窗口,其中Bfin为大于等于1小于等于Nfin的正整数,Bfout为大于等于1小于等于Nfout的正整数,Bx为大于等于1小于等于Kx的正整数,By为大于等于1小于等于Ky的正整数。
6.根据权利要求3所述的计算装置,其特征在于,
所述LSTM层粗粒度剪枝单元,具体用于使滑动窗口沿着Bin_i的方向按照Sin_i的步长进行滑动,或沿着Bout_i方向按照Sout_i的步长进行滑动,其中Sin_i为大于等于1小于等于Bin_i的正整数,Sout_i为大于等于1小于等于Bout_i的正整数;
当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin_i*Bout_i个权值将同时置为零;
设定LSTM层的权值由m个全连接层权值组成,其中m为大于0的正整数,第i个全连接层权值为(Nin_i,Nout_i),其中i是大于0小于等于m的正整数,Nin_i表示第i个全连接层权值输入神经元个数,Nout_i表示第i个全连接层权值输出神经元个数;
还设定一个大小为Bin_i*Bout_i的滑动窗口,其中Bin_i为大于等于1小于等于Nin_i的正整数,Bout_i为大于等于1小于等于Nout_i的正整数。
7.根据权利要求1或5所述的计算装置,其特征在于,
所述运算指令为卷积计算指令,所述计算指令包括:操作域和操作码;
所述卷积计算指令包括:卷积神经网络sigmoid指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做sigmoid激活;
卷积神经网络TanH指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做TanH激活;
卷积神经网络ReLU指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做ReLU激活;以及
卷积神经网络group指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作,然后将输出结果做激活;所述运算指令还包括:
IO指令实现从外部存储空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;
NOP指令负责清空当前装置内部所有控制信号缓存队列中的控制信号,保证NOP指令之前的所有指令全部指令完毕;
JUMP指令负责控制将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。
8.一种计算方法,其特征在于,所述计算方法应用于计算装置,所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、粗粒度选数单元,控制单元和数据访问单元;所述方法包括如下步骤:
寄存器单元存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;
控制单元从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;
数据访问单元提取该操作域对应的数据块,并将该数据块过粗粒度选数单元传输至互联模块;
粗粒度选数单元接收输入神经元和非零权值位置信息,使用滑动窗口选取神经网络的一组权值,将选取的权值都置为零,并选取出非零权值对应的神经元;
互联模块输入被选择的神经元和非零权值,将输入被选择的神经元和非零权值发送至运算单元;
运算单元接收输入被选择的神经元和非零权值,通过乘加运算单元完成神经网络运算并将输出神经元传输给存储器。
9.根据权利要求8所述的方法,其特征在于,所述粗粒度剪枝单元包括:全连接层粗粒度剪枝单元、卷积层粗粒度剪枝单元或LSTM层粗粒度剪枝单元;所述方法具体包括:
全连接层粗粒度剪枝单元使滑动窗口能够沿着Bin的方向按照Sin的步长进行滑动,也可以沿着Bout方向按照Sout的步长进行滑动,其中Sin为大于等于1小于等于Bin的正整数,Sout为大于等于1小于等于Bout的正整数;当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin*Bout个权值将同时置为零;所述全连接层的权值是一个二维矩阵(Nin,Nout),其中Nin是输入神经元的个数,Nout是输出神经元的个数,共有Nin*Nout个权值,设定一个大小为Bin*Bout的滑动窗口,其中Bin为大于等于1小于等于Nin正整数,Bout为大于等于1小于等于Nout的正整数;
卷积层粗粒度剪枝单元,使滑动窗口沿着Bfin的方向按照Sfin的步长进行滑动,或者沿着Bfout方向按照Sfout的步长进行滑动,或者沿着Bx方向按照Sx的步长进行滑动,或沿着By方向按照Sy的步长进行滑动,其中Sfin为大于等于1小于等于Bfin的正整数,Sfout为大于等于1小于等于Bfout的正整数,Sx为大于等于1小于等于Bx的正整数,Sy为大于等于1小于等于By的正整数;当某个滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bfin*Bfout*Bx*By个权值将同时置为零;所述卷积层的权值是一个四维矩阵(Nfin,Nfout,Kx,Ky),其中Nfin是输入特征图像的个数,Nfout是输出特征图像的个数,(Kx,Ky)是卷积核的大小,共有Nfin*Nfout*Kx*Ky个权值,设定一个大小为Bfin*Bfout*Bx*By的四维滑动窗口,其中Bfin为大于等于1小于等于Nfin的正整数,Bfout为大于等于1小于等于Nfout的正整数,Bx为大于等于1小于等于Kx的正整数,By为大于等于1小于等于Ky的正整数;
所述LSTM层粗粒度剪枝单元使滑动窗口沿着Bin_i的方向按照Sin_i的步长进行滑动,或沿着Bout_i方向按照Sout_i的步长进行滑动,其中Sin_i为大于等于1小于等于Bin_i的正整数,Sout_i为大于等于1小于等于Bout_i的正整数;当滑动窗口内的一组权值被选取时,这组权值将全部被置为零,即Bin_i*Bout_i个权值将同时置为零;
设定LSTM层的权值由m个全连接层权值组成,其中m为大于0的正整数,第i个全连接层权值为(Nin_i,Nout_i),其中i是大于0小于等于m的正整数,Nin_i表示第i个全连接层权值输入神经元个数,Nout_i表示第i个全连接层权值输出神经元个数;还设定一个大小为Bin_i*Bout_i的滑动窗口,其中Bin_i为大于等于1小于等于Nin_i的正整数,Bout_i为大于等于1小于等于Nout_i的正整数。
10.根据权利要求8或9所述的方法,其特征在于,所述运算指令为卷积计算指令,所述计算指令包括:操作域和操作码;
所述卷积计算指令包括:卷积神经网络sigmoid指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做sigmoid激活;
卷积神经网络TanH指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做TanH激活;
卷积神经网络ReLU指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作然后将输出结果做ReLU激活;以及
卷积神经网络group指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作然后将输出结果做激活;
所述运算指令还包括:
IO指令实现从外部存储空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;
NOP指令负责清空当前装置内部所有控制信号缓存队列中的控制信号,保证NOP指令之前的所有指令全部指令完毕;
JUMP指令负责控制将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017105959511 | 2017-07-20 | ||
CN201710595951.1A CN107992329B (zh) | 2017-07-20 | 2017-07-20 | 一种计算方法及相关产品 |
CN201880004680.0A CN110036369B (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
PCT/CN2018/095706 WO2019015541A1 (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880004680.0A Division CN110036369B (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221578A true CN111221578A (zh) | 2020-06-02 |
CN111221578B CN111221578B (zh) | 2022-07-15 |
Family
ID=61067110
Family Applications (18)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710928125.4A Active CN107807819B (zh) | 2017-07-20 | 2017-07-20 | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 |
CN201710928261.3A Active CN107729990B (zh) | 2017-07-20 | 2017-07-20 | 支持离散数据表示的用于执行正向运算的装置及方法 |
CN201710927338.5A Active CN107608715B (zh) | 2017-07-20 | 2017-07-20 | 用于执行人工神经网络正向运算的装置及方法 |
CN201710927144.5A Active CN109284822B (zh) | 2017-07-20 | 2017-07-20 | 一种神经网络运算装置及方法 |
CN201710927267.9A Active CN107832082B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置和方法 |
CN201710595951.1A Active CN107992329B (zh) | 2017-07-20 | 2017-07-20 | 一种计算方法及相关产品 |
CN201710927526.8A Active CN107844322B (zh) | 2017-07-20 | 2017-07-20 | 用于执行人工神经网络正向运算的装置和方法 |
CN201710927307.XA Active CN109284130B (zh) | 2017-07-20 | 2017-07-20 | 神经网络运算装置及方法 |
CN201710927336.6A Active CN107729989B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置及方法 |
CN201880004680.0A Active CN110036369B (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
CN201911058837.0A Active CN110688159B (zh) | 2017-07-20 | 2018-07-13 | 神经网络任务处理系统 |
CN201911069248.2A Active CN110597559B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及计算方法 |
CN201911058620.XA Active CN110688157B (zh) | 2017-07-20 | 2018-07-13 | 一种计算装置及计算方法 |
CN202010189417.2A Active CN111221578B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及计算方法 |
CN201911058840.2A Active CN110825434B (zh) | 2017-07-20 | 2018-07-13 | 计算装置及计算方法 |
CN202010189355.5A Active CN111176727B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及计算方法 |
CN201911058836.6A Active CN110688158B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及神经网络的处理系统 |
CN201911057705.6A Active CN110597558B (zh) | 2017-07-20 | 2018-07-13 | 一种神经网络任务处理系统 |
Family Applications Before (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710928125.4A Active CN107807819B (zh) | 2017-07-20 | 2017-07-20 | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 |
CN201710928261.3A Active CN107729990B (zh) | 2017-07-20 | 2017-07-20 | 支持离散数据表示的用于执行正向运算的装置及方法 |
CN201710927338.5A Active CN107608715B (zh) | 2017-07-20 | 2017-07-20 | 用于执行人工神经网络正向运算的装置及方法 |
CN201710927144.5A Active CN109284822B (zh) | 2017-07-20 | 2017-07-20 | 一种神经网络运算装置及方法 |
CN201710927267.9A Active CN107832082B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置和方法 |
CN201710595951.1A Active CN107992329B (zh) | 2017-07-20 | 2017-07-20 | 一种计算方法及相关产品 |
CN201710927526.8A Active CN107844322B (zh) | 2017-07-20 | 2017-07-20 | 用于执行人工神经网络正向运算的装置和方法 |
CN201710927307.XA Active CN109284130B (zh) | 2017-07-20 | 2017-07-20 | 神经网络运算装置及方法 |
CN201710927336.6A Active CN107729989B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置及方法 |
CN201880004680.0A Active CN110036369B (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
CN201911058837.0A Active CN110688159B (zh) | 2017-07-20 | 2018-07-13 | 神经网络任务处理系统 |
CN201911069248.2A Active CN110597559B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及计算方法 |
CN201911058620.XA Active CN110688157B (zh) | 2017-07-20 | 2018-07-13 | 一种计算装置及计算方法 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911058840.2A Active CN110825434B (zh) | 2017-07-20 | 2018-07-13 | 计算装置及计算方法 |
CN202010189355.5A Active CN111176727B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及计算方法 |
CN201911058836.6A Active CN110688158B (zh) | 2017-07-20 | 2018-07-13 | 计算装置以及神经网络的处理系统 |
CN201911057705.6A Active CN110597558B (zh) | 2017-07-20 | 2018-07-13 | 一种神经网络任务处理系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11481215B2 (zh) |
EP (1) | EP3686734A4 (zh) |
CN (18) | CN107807819B (zh) |
WO (1) | WO2019015541A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469326A (zh) * | 2021-06-24 | 2021-10-01 | 上海寒武纪信息科技有限公司 | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 |
CN114818803A (zh) * | 2022-04-25 | 2022-07-29 | 上海韶脑传感技术有限公司 | 基于神经元优化的单侧肢体患者运动想象脑电建模方法 |
Families Citing this family (188)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3657399A1 (en) * | 2017-05-23 | 2020-05-27 | Shanghai Cambricon Information Technology Co., Ltd | Weight pruning and quantization method for a neural network and accelerating device therefor |
WO2019001418A1 (zh) | 2017-06-26 | 2019-01-03 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
CN109426553A (zh) | 2017-08-21 | 2019-03-05 | 上海寒武纪信息科技有限公司 | 任务切分装置及方法、任务处理装置及方法、多核处理器 |
CN110413551B (zh) | 2018-04-28 | 2021-12-10 | 上海寒武纪信息科技有限公司 | 信息处理装置、方法及设备 |
CN110619390A (zh) * | 2018-06-20 | 2019-12-27 | 上海寒武纪信息科技有限公司 | 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法 |
CN109214616B (zh) | 2017-06-29 | 2023-04-07 | 上海寒武纪信息科技有限公司 | 一种信息处理装置、系统和方法 |
CN107807819B (zh) * | 2017-07-20 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
CN109902816B (zh) * | 2017-12-11 | 2020-08-04 | 中科寒武纪科技股份有限公司 | 板卡和神经网络运算方法 |
WO2019114842A1 (zh) * | 2017-12-14 | 2019-06-20 | 北京中科寒武纪科技有限公司 | 一种集成电路芯片装置 |
CN108229671B (zh) * | 2018-01-16 | 2022-03-04 | 华南理工大学 | 一种降低加速器外部数据存储带宽需求的系统和方法 |
CN108388446A (zh) * | 2018-02-05 | 2018-08-10 | 上海寒武纪信息科技有限公司 | 运算模块以及方法 |
CN110147249B (zh) * | 2018-02-12 | 2021-02-09 | 上海寒武纪信息科技有限公司 | 一种网络模型的计算方法及装置 |
CN110163349B (zh) * | 2018-02-12 | 2021-03-23 | 上海寒武纪信息科技有限公司 | 一种网络模型的计算方法及装置 |
US11169803B2 (en) | 2018-02-13 | 2021-11-09 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11106598B2 (en) | 2018-02-13 | 2021-08-31 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11609760B2 (en) * | 2018-02-13 | 2023-03-21 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN110276447A (zh) * | 2018-03-14 | 2019-09-24 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN110163354B (zh) * | 2018-02-13 | 2020-10-09 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN110163350B (zh) * | 2018-02-13 | 2021-06-08 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN116991226A (zh) | 2018-02-14 | 2023-11-03 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
CN111767996B (zh) * | 2018-02-27 | 2024-03-05 | 上海寒武纪信息科技有限公司 | 集成电路芯片装置及相关产品 |
CN108520296B (zh) * | 2018-03-20 | 2020-05-15 | 福州瑞芯微电子股份有限公司 | 一种基于深度学习芯片动态cache分配的方法和装置 |
CN110363279B (zh) * | 2018-03-26 | 2021-09-21 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
CN110413255B (zh) * | 2018-04-28 | 2022-08-19 | 赛灵思电子科技(北京)有限公司 | 人工神经网络调整方法和装置 |
CN108647184B (zh) * | 2018-05-10 | 2022-04-12 | 杭州雄迈集成电路技术股份有限公司 | 一种动态比特位卷积乘法实现方法 |
CN110472734B (zh) * | 2018-05-11 | 2024-03-29 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111368987B (zh) * | 2018-12-25 | 2023-03-24 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN110503179B (zh) * | 2018-05-18 | 2024-03-01 | 上海寒武纪信息科技有限公司 | 计算方法以及相关产品 |
WO2019218896A1 (zh) | 2018-05-18 | 2019-11-21 | 上海寒武纪信息科技有限公司 | 计算方法以及相关产品 |
CN110147872B (zh) * | 2018-05-18 | 2020-07-17 | 中科寒武纪科技股份有限公司 | 编码存储装置及方法、处理器及训练方法 |
WO2019219083A1 (zh) | 2018-05-18 | 2019-11-21 | 北京中科寒武纪科技有限公司 | 视频检索方法及视频检索映射关系生成方法、装置 |
CN111010883B (zh) * | 2018-08-06 | 2022-07-12 | 华为技术有限公司 | 矩阵的处理方法、装置及逻辑电路 |
CN109032670B (zh) * | 2018-08-08 | 2021-10-19 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量复制指令的方法 |
CN109189715B (zh) * | 2018-08-16 | 2022-03-15 | 北京算能科技有限公司 | 可编程人工智能加速器执行单元及人工智能加速方法 |
EP3640810A4 (en) | 2018-08-28 | 2021-05-05 | Cambricon Technologies Corporation Limited | DATA PRE-PROCESSING PROCESS AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIA |
CN109242091B (zh) * | 2018-09-03 | 2022-03-22 | 郑州云海信息技术有限公司 | 图像识别方法、装置、设备及可读存储介质 |
KR20200026455A (ko) * | 2018-09-03 | 2020-03-11 | 삼성전자주식회사 | 인공 신경망 시스템 및 인공 신경망의 고정 소수점 제어 방법 |
CN110929838B (zh) * | 2018-09-19 | 2023-09-26 | 杭州海康威视数字技术股份有限公司 | 神经网络中位宽定点化方法、装置、终端和存储介质 |
CN110941789B (zh) * | 2018-09-21 | 2023-12-15 | 北京地平线机器人技术研发有限公司 | 张量运算方法和装置 |
US11703939B2 (en) | 2018-09-28 | 2023-07-18 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device and related products |
CN110968532B (zh) * | 2018-09-29 | 2021-09-21 | 上海寒武纪信息科技有限公司 | 数据传输方法及相关产品 |
US11928208B2 (en) * | 2018-10-02 | 2024-03-12 | Nippon Telegraph And Telephone Corporation | Calculation device, calculation method, and calculation program |
US11494625B2 (en) | 2018-10-03 | 2022-11-08 | Maxim Integrated Products, Inc. | Systems and methods for energy-efficient analog matrix multiplication for machine learning processes |
CN111353125B (zh) * | 2018-12-20 | 2022-04-22 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111353595A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111124497B (zh) * | 2018-10-11 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111061507A (zh) * | 2018-10-16 | 2020-04-24 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111290788B (zh) * | 2018-12-07 | 2022-05-31 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047030A (zh) * | 2018-10-11 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096283A (zh) * | 2018-10-12 | 2019-08-06 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111275197B (zh) * | 2018-12-05 | 2023-11-10 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096310B (zh) * | 2018-11-14 | 2021-09-03 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
WO2020073923A1 (zh) * | 2018-10-09 | 2020-04-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111290789B (zh) * | 2018-12-06 | 2022-05-27 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047005A (zh) * | 2018-10-11 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111026440B (zh) * | 2018-10-09 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047027A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
WO2020073925A1 (zh) * | 2018-10-09 | 2020-04-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096309B (zh) * | 2018-11-14 | 2020-04-14 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111353124A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111045729A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111222633A (zh) * | 2018-11-23 | 2020-06-02 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111047028A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111047023B (zh) * | 2018-10-12 | 2023-11-24 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111047024B (zh) * | 2018-10-12 | 2023-05-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111078625B (zh) * | 2018-10-18 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN111209244B (zh) * | 2018-11-21 | 2022-05-06 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111078624B (zh) * | 2018-10-18 | 2022-03-25 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN111209243B (zh) * | 2018-11-21 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN111209230B (zh) * | 2018-11-21 | 2021-08-31 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN111078623B (zh) * | 2018-10-18 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
EP4009183A1 (en) * | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
CN111210011B (zh) * | 2018-11-21 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111210012B (zh) * | 2018-11-21 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
CN111209245B (zh) * | 2018-11-21 | 2021-11-16 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN111079908B (zh) * | 2018-10-18 | 2024-02-13 | 上海寒武纪信息科技有限公司 | 片上网络数据处理方法、存储介质、计算机设备和装置 |
CN111209231B (zh) * | 2018-11-21 | 2021-05-11 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
CN111079909B (zh) * | 2018-10-19 | 2021-01-26 | 安徽寒武纪信息科技有限公司 | 运算方法、系统及相关产品 |
CN111078284B (zh) * | 2018-10-19 | 2021-02-05 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111078286B (zh) * | 2018-10-19 | 2023-09-01 | 上海寒武纪信息科技有限公司 | 数据通信方法、计算系统和存储介质 |
CN111078280B (zh) * | 2018-10-19 | 2021-01-26 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN111078291B (zh) * | 2018-10-19 | 2021-02-09 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111079912B (zh) * | 2018-10-19 | 2021-02-12 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111079913B (zh) * | 2018-10-19 | 2021-02-05 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN111078282B (zh) * | 2018-10-19 | 2020-12-22 | 安徽寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN109669773B (zh) * | 2018-11-12 | 2024-03-08 | 平安科技(深圳)有限公司 | 金融数据处理方法、装置、设备和存储介质 |
CN111191774B (zh) * | 2018-11-14 | 2023-04-07 | 上海富瀚微电子股份有限公司 | 面向精简卷积神经网络的低代价加速器架构及其处理方法 |
CN109583579B (zh) * | 2018-11-30 | 2021-04-09 | 上海寒武纪信息科技有限公司 | 计算装置及相关产品 |
CN111381871B (zh) * | 2018-12-28 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111260070B (zh) * | 2018-11-30 | 2022-11-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111258641B (zh) * | 2018-11-30 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111258935B (zh) * | 2018-11-30 | 2022-01-25 | 上海寒武纪信息科技有限公司 | 数据传输装置和方法 |
CN109558110B (zh) * | 2018-11-30 | 2021-06-01 | 上海寒武纪信息科技有限公司 | 数据转换装置及相关产品 |
US11573765B2 (en) * | 2018-12-13 | 2023-02-07 | Advanced Micro Devices, Inc. | Fused convolution and batch normalization for neural networks |
CN109684087B (zh) * | 2018-12-17 | 2020-01-10 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN109635944B (zh) * | 2018-12-24 | 2020-10-27 | 西安交通大学 | 一种稀疏卷积神经网络加速器及实现方法 |
CN111368967B (zh) * | 2018-12-25 | 2023-04-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111368985B (zh) * | 2018-12-25 | 2023-11-28 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111367567B (zh) * | 2018-12-25 | 2023-03-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111368990B (zh) * | 2018-12-25 | 2023-03-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111385462A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
CN111488976B (zh) * | 2019-01-28 | 2023-06-30 | 中科寒武纪科技股份有限公司 | 神经网络计算装置、神经网络计算方法及相关产品 |
CN111506522B (zh) * | 2019-01-31 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 数据处理设备及方法 |
CN111523652B (zh) * | 2019-02-01 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 处理器及其数据处理方法、摄像装置 |
CN109902819B (zh) * | 2019-02-12 | 2023-04-18 | Oppo广东移动通信有限公司 | 神经网络计算方法、装置、移动终端及存储介质 |
US20200264891A1 (en) * | 2019-02-20 | 2020-08-20 | Nanjing Iluvatar CoreX Technology Co., Ltd. (DBA “Iluvatar CoreX Inc. Nanjing”) | Constant scalar register architecture for acceleration of delay sensitive algorithm |
CN109993293B (zh) * | 2019-02-28 | 2021-04-13 | 中山大学 | 一种适用于堆叠式沙漏网络的深度学习加速器 |
CN109885407B (zh) * | 2019-03-05 | 2021-09-21 | 上海商汤智能科技有限公司 | 数据处理方法和装置、电子设备、存储介质 |
CN111695686B (zh) * | 2019-03-15 | 2022-11-01 | 上海寒武纪信息科技有限公司 | 地址分配方法及装置 |
CN111723920B (zh) * | 2019-03-22 | 2024-05-17 | 中科寒武纪科技股份有限公司 | 人工智能计算装置及相关产品 |
WO2020192587A1 (zh) * | 2019-03-22 | 2020-10-01 | 中科寒武纪科技股份有限公司 | 人工智能计算装置及相关产品 |
WO2020200250A1 (zh) * | 2019-04-02 | 2020-10-08 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
US10698842B1 (en) * | 2019-04-10 | 2020-06-30 | Xilinx, Inc. | Domain assist processor-peer for coherent acceleration |
US20200334522A1 (en) | 2019-04-18 | 2020-10-22 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN111832739B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN111860797B (zh) * | 2019-04-27 | 2023-05-02 | 中科寒武纪科技股份有限公司 | 运算装置 |
WO2020220935A1 (zh) * | 2019-04-27 | 2020-11-05 | 中科寒武纪科技股份有限公司 | 运算装置 |
CN111966402A (zh) * | 2019-05-20 | 2020-11-20 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN111966401A (zh) * | 2019-05-20 | 2020-11-20 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN110298441B (zh) * | 2019-05-24 | 2022-01-11 | 深圳云天励飞技术有限公司 | 一种数据处理方法、电子装置及计算机可读存储介质 |
CN112068799B (zh) * | 2019-06-11 | 2022-08-02 | 云南大学 | 一种最优带符号二进制快速计算方法以及椭圆曲线标量乘法 |
CN112085190B (zh) | 2019-06-12 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 一种神经网络的量化参数确定方法及相关产品 |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
CN110245750B (zh) * | 2019-06-14 | 2022-07-15 | 西南科技大学 | 一种基于fpga的神经网络数值模拟方法 |
CN110390383B (zh) * | 2019-06-25 | 2021-04-06 | 东南大学 | 一种基于幂指数量化的深度神经网络硬件加速器 |
CN112168140B (zh) * | 2019-07-05 | 2021-07-13 | 山东大学齐鲁医院 | 基于人工智能芯片的穿戴式生物信息监测设备及方法 |
WO2021004076A1 (zh) * | 2019-07-05 | 2021-01-14 | 山东大学 | 基于人工智能芯片的适形穿戴式生物信息监测设备及系统 |
CN110348021B (zh) * | 2019-07-17 | 2021-05-18 | 湖北亿咖通科技有限公司 | 基于命名实体模型的字符串识别方法、电子设备、存储介质 |
WO2021022441A1 (zh) * | 2019-08-05 | 2021-02-11 | 华为技术有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN112346784A (zh) * | 2019-08-07 | 2021-02-09 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN112346707A (zh) * | 2019-08-07 | 2021-02-09 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
EP4020321A4 (en) | 2019-08-23 | 2024-01-17 | Anhui Cambricon Information Technology Co., Ltd. | DATA PROCESSING METHOD, APPARATUS, COMPUTER APPARATUS AND STORAGE MEDIUM |
CN110728365B (zh) * | 2019-09-12 | 2022-04-01 | 东南大学 | 多位宽pe阵列计算位宽的选择方法及计算精度控制电路 |
US11579802B2 (en) * | 2019-10-04 | 2023-02-14 | Fungible, Inc. | Pipeline using match-action blocks |
CN112667288A (zh) * | 2019-10-15 | 2021-04-16 | 北京希姆计算科技有限公司 | 数据运算电路、数据处理装置、芯片、卡板及电子设备 |
WO2021077283A1 (zh) * | 2019-10-22 | 2021-04-29 | 深圳鲲云信息科技有限公司 | 神经网络计算压缩方法、系统及存储介质 |
CN111080400B (zh) * | 2019-11-25 | 2023-04-18 | 中山大学 | 一种基于门控图卷积网络的商品推荐方法及系统、存储介质 |
CN110989970B (zh) * | 2019-11-27 | 2023-04-11 | 广州海格通信集团股份有限公司 | 一种双精度浮点矩阵运算处理器及方法 |
CN111091181B (zh) * | 2019-12-09 | 2023-09-05 | Oppo广东移动通信有限公司 | 卷积处理单元、神经网络处理器、电子设备及卷积运算方法 |
CN111124500B (zh) * | 2019-12-12 | 2022-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种指令执行方法、装置、设备及存储介质 |
CN111104513B (zh) * | 2019-12-13 | 2023-05-02 | 中山大学 | 一种游戏平台用户问答业务的短文本分类方法 |
CN111026445A (zh) * | 2019-12-17 | 2020-04-17 | 湖南长城银河科技有限公司 | 一种智能识别方法及芯片 |
CN111242293B (zh) * | 2020-01-13 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 一种处理部件、数据处理的方法以及电子设备 |
CN111221479B (zh) * | 2020-01-19 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 一种判断存储容量变化量异常的方法、系统及存储介质 |
US12039432B2 (en) * | 2020-03-18 | 2024-07-16 | Infineon Technologies Ag | Artificial neural network activation function |
CN111507473B (zh) * | 2020-04-20 | 2023-05-12 | 上海交通大学 | 一种基于Crossbar架构的剪枝方法及系统 |
CN111522776B (zh) * | 2020-04-27 | 2022-04-05 | 西安交通大学 | 一种计算架构 |
US11450672B2 (en) * | 2020-04-27 | 2022-09-20 | Intel Corporation | Ultra-deep compute static random access memory with high compute throughput and multi-directional data propagation |
CN113626080B (zh) * | 2020-05-08 | 2023-10-03 | 安徽寒武纪信息科技有限公司 | 数据处理装置以及相关产品 |
CN113626082A (zh) * | 2020-05-08 | 2021-11-09 | 安徽寒武纪信息科技有限公司 | 数据处理方法及装置以及相关产品 |
CN113807507A (zh) * | 2020-06-16 | 2021-12-17 | 安徽寒武纪信息科技有限公司 | 数据处理方法及装置以及相关产品 |
CN111832718B (zh) * | 2020-06-24 | 2021-08-03 | 上海西井信息科技有限公司 | 芯片架构 |
CN113867800A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN113867793A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN113867799A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN111783954B (zh) * | 2020-06-30 | 2023-05-02 | 安徽寒武纪信息科技有限公司 | 一种用于确定神经网络的性能的方法、电子设备和存储介质 |
US11823035B2 (en) | 2020-07-07 | 2023-11-21 | Qualcomm Incorporated | Power-efficient compute-in-memory pooling |
CN111651207B (zh) * | 2020-08-06 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 一种神经网络模型运算芯片、方法、装置、设备及介质 |
CN111930506A (zh) * | 2020-08-13 | 2020-11-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种矩阵调度方法及相关装置 |
WO2022040643A1 (en) * | 2020-08-21 | 2022-02-24 | Fu Zhi Sing | Processing unit architectures and techniques for reusable instructions and data |
KR20220034542A (ko) * | 2020-09-11 | 2022-03-18 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
CN112259071A (zh) * | 2020-09-22 | 2021-01-22 | 北京百度网讯科技有限公司 | 语音处理系统、语音处理方法、电子设备和可读存储介质 |
CN112257859B (zh) * | 2020-10-30 | 2024-07-05 | 地平线(上海)人工智能技术有限公司 | 特征数据处理方法及装置、设备、存储介质 |
CN112036554B (zh) * | 2020-11-04 | 2021-04-06 | 深圳追一科技有限公司 | 神经网络模型的处理方法、装置、计算机设备和存储介质 |
CN112711218B (zh) * | 2020-12-08 | 2022-03-15 | 杭州电子科技大学上虞科学与工程研究院有限公司 | 一种工业设备数据采集的方法 |
CN112506436B (zh) * | 2020-12-11 | 2023-01-31 | 西北工业大学 | 用于卷积神经网络加速器的高效率数据动态存储分配方法 |
CN112783556B (zh) * | 2021-01-06 | 2023-04-07 | 南阳理工学院 | 信息处理方法、信息处理装置及终端设备 |
CN115271047A (zh) * | 2021-04-29 | 2022-11-01 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN113806285B (zh) * | 2021-09-18 | 2024-06-25 | 北京爱芯科技有限公司 | 一种数据处理模组、芯片和数据处理方法 |
CN114237612A (zh) * | 2021-12-03 | 2022-03-25 | 龙芯中科技术股份有限公司 | 程序代码的编译方法、装置、电子设备及存储介质 |
CN114139693A (zh) * | 2021-12-03 | 2022-03-04 | 安谋科技(中国)有限公司 | 神经网络模型的数据处理方法、介质和电子设备 |
CN114296798A (zh) * | 2021-12-10 | 2022-04-08 | 龙芯中科技术股份有限公司 | 向量移位方法、处理器及电子设备 |
CN114372012B (zh) * | 2021-12-21 | 2024-02-20 | 中国科学院深圳先进技术研究院 | 一种通用、可配置的高能效池化计算单行输出系统和方法 |
CN114265872B (zh) * | 2022-02-24 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 一种用于总线的互联装置 |
CN114726512B (zh) * | 2022-03-08 | 2024-03-26 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
CN114692833B (zh) * | 2022-03-30 | 2023-11-21 | 广东齐芯半导体有限公司 | 一种卷积计算电路、神经网络处理器以及卷积计算方法 |
CN114612996A (zh) * | 2022-03-31 | 2022-06-10 | 安谋科技(中国)有限公司 | 神经网络模型的运行方法、介质、程序产品以及电子设备 |
CN115390654A (zh) * | 2022-08-11 | 2022-11-25 | Oppo广东移动通信有限公司 | 降低功耗的方法、处理器、电子设备及存储介质 |
KR20240033565A (ko) * | 2022-09-05 | 2024-03-12 | 리벨리온 주식회사 | 뉴럴 프로세싱 장치, 그에 포함되는 프로세싱 엘리먼트 및 뉴럴 프로세싱 장치의 다양한 포맷 연산 방법 |
CN115203126B (zh) * | 2022-09-15 | 2023-04-18 | 太初(无锡)电子科技有限公司 | 一种算子融合处理方法、装置、设备及存储介质 |
CN115934768A (zh) * | 2022-12-01 | 2023-04-07 | 摩尔线程智能科技(北京)有限责任公司 | 数据的处理方法、显示适配器、电子设备及存储介质 |
CN115826910B (zh) * | 2023-02-07 | 2023-05-02 | 成都申威科技有限责任公司 | 一种向量定点的alu处理系统 |
CN116055049B (zh) * | 2023-04-03 | 2023-07-04 | 富算科技(上海)有限公司 | 多方安全计算方法、装置、系统、电子设备和存储介质 |
CN116360858B (zh) * | 2023-05-26 | 2023-08-29 | 摩尔线程智能科技(北京)有限责任公司 | 数据的处理方法、图形处理器、电子设备及存储介质 |
KR102653745B1 (ko) * | 2023-06-02 | 2024-04-02 | 라이프앤사이언스주식회사 | 최적화된 연산속도를 가지는 교육용 로봇제어기 |
CN117992396B (zh) * | 2024-03-29 | 2024-05-28 | 深存科技(无锡)有限公司 | 流式张量处理器 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211341A (zh) * | 2006-12-29 | 2008-07-02 | 上海芯盛电子科技有限公司 | 图像智能模式识别搜索方法 |
CN102880341A (zh) * | 2012-08-29 | 2013-01-16 | 北京集创北方科技有限公司 | 触摸屏数据处理系统、方法及专用alu |
US20130031040A1 (en) * | 2011-07-29 | 2013-01-31 | International Business Machines Corporation | Hierarchical routing for two-way information flow and structural plasticity in neural networks |
US20140201126A1 (en) * | 2012-09-15 | 2014-07-17 | Lotfi A. Zadeh | Methods and Systems for Applications for Z-numbers |
CN105512723A (zh) * | 2016-01-20 | 2016-04-20 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
US20160328643A1 (en) * | 2015-05-07 | 2016-11-10 | Siemens Aktiengesellschaft | Method and System for Approximating Deep Neural Networks for Anatomical Object Detection |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
CN106775599A (zh) * | 2017-01-09 | 2017-05-31 | 南京工业大学 | 递归神经网络的多计算单元粗粒度可重构系统及方法 |
CN106940815A (zh) * | 2017-02-13 | 2017-07-11 | 西安交通大学 | 一种可编程卷积神经网络协处理器ip核 |
CN106951961A (zh) * | 2017-02-24 | 2017-07-14 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
US9710265B1 (en) * | 2016-10-27 | 2017-07-18 | Google Inc. | Neural network compute tile |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1013070B (zh) * | 1988-01-09 | 1991-07-03 | 北京信通电脑技术公司 | 直接处理接近数学公式的″机器表达式″的计算机系统 |
US5083285A (en) * | 1988-10-11 | 1992-01-21 | Kabushiki Kaisha Toshiba | Matrix-structured neural network with learning circuitry |
US5327537A (en) * | 1990-03-13 | 1994-07-05 | At&T Bell Laboratories | Apparatus for controlling instruction execution in a pipelined processor |
GB2288521B (en) * | 1994-03-24 | 1998-10-14 | Discovision Ass | Reconfigurable process stage |
US5956703A (en) * | 1995-07-28 | 1999-09-21 | Delco Electronics Corporation | Configurable neural network integrated circuit |
US5717891A (en) | 1995-10-12 | 1998-02-10 | Analog Devices, Inc. | Digital signal processor with caching of instructions that produce a memory conflict |
US5889985A (en) * | 1996-08-07 | 1999-03-30 | Elbrus International | Array prefetch apparatus and method |
CN1302403A (zh) * | 1998-05-22 | 2001-07-04 | 弗兰普顿·E·埃利斯三世 | 全球网络计算机 |
US6941289B2 (en) * | 2001-04-06 | 2005-09-06 | Sas Institute Inc. | Hybrid neural network generation system and method |
AU2003281792A1 (en) * | 2002-07-26 | 2004-02-23 | Koninklijke Philips Electronics N.V. | Method and apparatus for accessing multiple vector elements in parallel |
US7236995B2 (en) * | 2002-12-27 | 2007-06-26 | Arm Limited | Data processing apparatus and method for converting a number between fixed-point and floating-point representations |
US9555052B2 (en) * | 2003-06-13 | 2017-01-31 | Sumathi Paturu | Intrauterine fetal growth restriction—the biochemical rationale of treatment modalities including extraperitoneal transamniotic fetal supplements |
US7539714B2 (en) * | 2003-06-30 | 2009-05-26 | Intel Corporation | Method, apparatus, and instruction for performing a sign operation that multiplies |
US7020769B2 (en) * | 2003-09-30 | 2006-03-28 | Starcore, Llc | Method and system for processing a loop of instructions |
EP2115583A2 (en) * | 2007-01-30 | 2009-11-11 | Nema Labs Ab | Speculative throughput computing |
CN101021832A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 支持局部寄存和条件执行的64位浮点整数融合运算群 |
CN101399977A (zh) * | 2007-09-29 | 2009-04-01 | 智多微电子(上海)有限公司 | 解码装置中控制片内存储器的数据并行读写的方法及装置 |
US8181003B2 (en) * | 2008-05-29 | 2012-05-15 | Axis Semiconductor, Inc. | Instruction set design, control and communication in programmable microprocessor cores and the like |
US20100047768A1 (en) * | 2008-08-18 | 2010-02-25 | J. Craig Venter Institute, Inc. | Amplification of single viral genomes |
US20100122070A1 (en) * | 2008-11-07 | 2010-05-13 | Nokia Corporation | Combined associative and distributed arithmetics for multiple inner products |
CN101644921B (zh) * | 2009-08-05 | 2011-07-20 | 无锡信捷电气有限公司 | 一种改进型板料数控折弯设计方法 |
US8577950B2 (en) * | 2009-08-17 | 2013-11-05 | International Business Machines Corporation | Matrix multiplication operations with data pre-conditioning in a high performance computing architecture |
CN101667114B (zh) * | 2009-09-30 | 2012-07-04 | 西安电子科技大学 | 适于矩阵求逆的超长指令集微处理系统 |
CN101770515B (zh) * | 2010-01-18 | 2012-01-11 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
CN101783805B (zh) * | 2010-03-01 | 2013-04-17 | 田耕 | 一种利用动态矢量矩阵的加密通信方法 |
CN101833441B (zh) * | 2010-04-28 | 2013-02-13 | 中国科学院自动化研究所 | 并行向量处理引擎结构 |
US9129220B2 (en) * | 2010-07-07 | 2015-09-08 | Qualcomm Incorporated | Methods and systems for digital neural processing with discrete-level synapes and probabilistic STDP |
CN101916180B (zh) * | 2010-08-11 | 2013-05-29 | 中国科学院计算技术研究所 | Risc处理器中执行寄存器类型指令的方法和其系统 |
CN101963983A (zh) * | 2010-09-28 | 2011-02-02 | 江苏瑞蚨通软件科技有限公司(中外合资) | 一种粗集优化神经网络的数据挖掘方法 |
SG180028A1 (en) * | 2010-10-12 | 2012-05-30 | St Electronics Info Software Systems Pte Ltd | Information management system and device |
US8515885B2 (en) * | 2010-10-29 | 2013-08-20 | International Business Machines Corporation | Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation |
CN102541814B (zh) * | 2010-12-27 | 2015-10-14 | 北京国睿中数科技股份有限公司 | 用于数据通信处理器的矩阵计算装置和方法 |
CN102637157B (zh) * | 2011-02-15 | 2014-12-03 | 郑磊 | 一种片上数字模板系统dtsoc |
FR2980905B1 (fr) * | 2011-09-29 | 2014-03-14 | Continental Automotive France | Procede d'effacement d'informations memorisees dans une memoire reinscriptible non volatile, support de memorisation et calculateur de vehicule automobile |
CN102510282B (zh) * | 2011-10-25 | 2014-07-09 | 中国科学院空间科学与应用研究中心 | 一种时间分辨单光子计数二维成像系统及方法 |
US9960917B2 (en) * | 2011-12-22 | 2018-05-01 | Intel Corporation | Matrix multiply accumulate instruction |
CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
KR20130090147A (ko) * | 2012-02-03 | 2013-08-13 | 안병익 | 신경망 컴퓨팅 장치 및 시스템과 그 방법 |
CN103377033B (zh) * | 2012-04-12 | 2016-01-13 | 无锡江南计算技术研究所 | 运算核心及其指令管理方法 |
CN103699360B (zh) * | 2012-09-27 | 2016-09-21 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
CN103023839B (zh) * | 2012-12-04 | 2016-12-28 | 温州大学 | 基于输出反馈偏置型复连续反馈神经网络结构的无线光通信系统盲均衡方法 |
US9171029B2 (en) * | 2013-01-31 | 2015-10-27 | International Business Machines Corporation | Performing batches of selective assignments in a vector friendly manner |
CN103246541B (zh) * | 2013-04-27 | 2016-03-23 | 中国人民解放军信息工程大学 | 一种自动并行化多级并行代价评估方法 |
CN103399486B (zh) * | 2013-07-05 | 2016-04-06 | 杭州电子科技大学 | 塑料烘干器温度优化节能控制方法 |
EP2858024A1 (en) * | 2013-10-01 | 2015-04-08 | Enyx SA | An asset management device and method in a hardware platform |
US9582248B2 (en) * | 2014-09-26 | 2017-02-28 | Arm Limited | Standalone floating-point conversion unit |
US20160124651A1 (en) * | 2014-11-03 | 2016-05-05 | Texas Instruments Incorporated | Method for performing random read access to a block of data using parallel lut read instruction in vector processors |
US9996350B2 (en) * | 2014-12-27 | 2018-06-12 | Intel Corporation | Hardware apparatuses and methods to prefetch a multidimensional block of elements from a multidimensional array |
US20170061279A1 (en) * | 2015-01-14 | 2017-03-02 | Intel Corporation | Updating an artificial neural network using flexible fixed point representation |
US10223635B2 (en) * | 2015-01-22 | 2019-03-05 | Qualcomm Incorporated | Model compression and fine-tuning |
US11544214B2 (en) * | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
CN104699629B (zh) * | 2015-03-16 | 2017-09-22 | 清华大学 | 共享片上缓存划分装置 |
CN104778026A (zh) * | 2015-04-28 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种带simd的高速数据格式转换部件及转换方法 |
US9805303B2 (en) * | 2015-05-21 | 2017-10-31 | Google Inc. | Rotating data for neural network computations |
US10083395B2 (en) * | 2015-05-21 | 2018-09-25 | Google Llc | Batch processing in a neural network processor |
CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
US9973194B2 (en) * | 2015-09-01 | 2018-05-15 | Flex Logix Technologies, Inc. | Block memory layout and architecture for programmable logic IC, and method of operating same |
US10776690B2 (en) * | 2015-10-08 | 2020-09-15 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with plurality of selectable output functions |
CN106447037B (zh) * | 2015-10-08 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有多个可选择输出的神经网络单元 |
CN106570559A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种基于神经网络的数据处理方法和装置 |
CN105224505B (zh) * | 2015-10-29 | 2018-05-25 | 中国人民解放军国防科学技术大学 | 基于矩阵转置操作的fft加速器装置 |
CN105550749A (zh) * | 2015-12-09 | 2016-05-04 | 四川长虹电器股份有限公司 | 一种新型网络拓扑结构的卷积神经网络的构造方法 |
US11579677B2 (en) * | 2015-12-18 | 2023-02-14 | Hewlett Packard Enterprise Development Lp | Memristor crossbar arrays to activate processors |
CN105630680B (zh) * | 2015-12-28 | 2018-12-18 | 中国科学院微电子研究所 | 一种随机测试程序生成方法 |
US10762164B2 (en) * | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
CN105844330B (zh) * | 2016-03-22 | 2019-06-28 | 华为技术有限公司 | 神经网络处理器的数据处理方法及神经网络处理器 |
CN105912476A (zh) * | 2016-04-06 | 2016-08-31 | 中国科学院计算技术研究所 | 片上重复寻址的方法及装置 |
CN105843775B (zh) * | 2016-04-06 | 2018-12-04 | 中国科学院计算技术研究所 | 片上数据划分读写方法、系统及其装置 |
US11740903B2 (en) * | 2016-04-26 | 2023-08-29 | Onnivation, LLC | Computing machine using a matrix space and matrix pointer registers for matrix and array processing |
US20170337156A1 (en) * | 2016-04-26 | 2017-11-23 | Onnivation Llc | Computing machine architecture for matrix and array processing |
CN105930281B (zh) * | 2016-05-12 | 2019-01-15 | 清华大学 | 以配置信息驱动数据访存模式匹配的片上缓存预取机制 |
CN106022614A (zh) * | 2016-05-22 | 2016-10-12 | 广州供电局有限公司 | 一种基于最近邻聚类的神经网络数据挖掘方法 |
CN106066783A (zh) * | 2016-06-02 | 2016-11-02 | 华为技术有限公司 | 基于幂次权重量化的神经网络前向运算硬件结构 |
CN105976024B (zh) * | 2016-06-03 | 2018-12-25 | 福州大学 | 基于rbf的模式分类器及其工作方法 |
CN106203622B (zh) * | 2016-07-14 | 2018-12-25 | 杭州华为数字技术有限公司 | 神经网络运算装置 |
CN106650922B (zh) * | 2016-09-29 | 2019-05-03 | 清华大学 | 硬件神经网络转换方法、计算装置、软硬件协作系统 |
CN106599840A (zh) * | 2016-12-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种图像识别协处理器、图像识别系统及方法 |
CN106845631B (zh) * | 2016-12-26 | 2020-05-29 | 上海寒武纪信息科技有限公司 | 一种流执行方法及装置 |
CN106909971A (zh) * | 2017-02-10 | 2017-06-30 | 华南理工大学 | 一种面向多核计算环境的bp神经网络并行化方法 |
CN109121435A (zh) * | 2017-04-19 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 处理装置和处理方法 |
CN107807819B (zh) * | 2017-07-20 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 |
US10223114B1 (en) * | 2017-09-29 | 2019-03-05 | Intel Corporation | Fixed point to floating point conversion |
US11210063B2 (en) * | 2019-03-27 | 2021-12-28 | Intel Corporation | Machine learning training architecture for programmable devices |
US11983530B2 (en) * | 2020-03-27 | 2024-05-14 | Intel Corporation | Reconfigurable digital signal processing (DSP) vector engine |
-
2017
- 2017-07-20 CN CN201710928125.4A patent/CN107807819B/zh active Active
- 2017-07-20 CN CN201710928261.3A patent/CN107729990B/zh active Active
- 2017-07-20 CN CN201710927338.5A patent/CN107608715B/zh active Active
- 2017-07-20 CN CN201710927144.5A patent/CN109284822B/zh active Active
- 2017-07-20 CN CN201710927267.9A patent/CN107832082B/zh active Active
- 2017-07-20 CN CN201710595951.1A patent/CN107992329B/zh active Active
- 2017-07-20 CN CN201710927526.8A patent/CN107844322B/zh active Active
- 2017-07-20 CN CN201710927307.XA patent/CN109284130B/zh active Active
- 2017-07-20 CN CN201710927336.6A patent/CN107729989B/zh active Active
-
2018
- 2018-07-13 CN CN201880004680.0A patent/CN110036369B/zh active Active
- 2018-07-13 CN CN201911058837.0A patent/CN110688159B/zh active Active
- 2018-07-13 CN CN201911069248.2A patent/CN110597559B/zh active Active
- 2018-07-13 EP EP18835662.0A patent/EP3686734A4/en active Pending
- 2018-07-13 CN CN201911058620.XA patent/CN110688157B/zh active Active
- 2018-07-13 CN CN202010189417.2A patent/CN111221578B/zh active Active
- 2018-07-13 CN CN201911058840.2A patent/CN110825434B/zh active Active
- 2018-07-13 WO PCT/CN2018/095706 patent/WO2019015541A1/zh unknown
- 2018-07-13 CN CN202010189355.5A patent/CN111176727B/zh active Active
- 2018-07-13 CN CN201911058836.6A patent/CN110688158B/zh active Active
- 2018-07-13 CN CN201911057705.6A patent/CN110597558B/zh active Active
-
2020
- 2020-01-17 US US16/745,743 patent/US11481215B2/en active Active
-
2022
- 2022-09-05 US US17/929,730 patent/US11983534B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211341A (zh) * | 2006-12-29 | 2008-07-02 | 上海芯盛电子科技有限公司 | 图像智能模式识别搜索方法 |
US20130031040A1 (en) * | 2011-07-29 | 2013-01-31 | International Business Machines Corporation | Hierarchical routing for two-way information flow and structural plasticity in neural networks |
CN102880341A (zh) * | 2012-08-29 | 2013-01-16 | 北京集创北方科技有限公司 | 触摸屏数据处理系统、方法及专用alu |
US20140201126A1 (en) * | 2012-09-15 | 2014-07-17 | Lotfi A. Zadeh | Methods and Systems for Applications for Z-numbers |
US20160328643A1 (en) * | 2015-05-07 | 2016-11-10 | Siemens Aktiengesellschaft | Method and System for Approximating Deep Neural Networks for Anatomical Object Detection |
CN105512723A (zh) * | 2016-01-20 | 2016-04-20 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
US9710265B1 (en) * | 2016-10-27 | 2017-07-18 | Google Inc. | Neural network compute tile |
CN106775599A (zh) * | 2017-01-09 | 2017-05-31 | 南京工业大学 | 递归神经网络的多计算单元粗粒度可重构系统及方法 |
CN106940815A (zh) * | 2017-02-13 | 2017-07-11 | 西安交通大学 | 一种可编程卷积神经网络协处理器ip核 |
CN106951961A (zh) * | 2017-02-24 | 2017-07-14 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
Non-Patent Citations (8)
Title |
---|
SHIJIN ZHANG .ETC: "Cambricon-X: An accelerator for sparse neural networks", 《2016 49TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO)》 * |
SHIJIN ZHANG .ETC: "Cambricon-X: An accelerator for sparse neural networks", 《2016 49TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO)》, 15 December 2016 (2016-12-15), pages 1 - 12 * |
SONG HAN .ETC: "Learning both Weights and Connections for Efficient Neural Networks", 《ARXIV.ORG》 * |
SONG HAN .ETC: "Learning both Weights and Connections for Efficient Neural Networks", 《ARXIV.ORG》, 30 October 2015 (2015-10-30), pages 3 * |
张贤骥等: "基于构造型神经网络的异常模式发现方法", 《计算机科学》 * |
张贤骥等: "基于构造型神经网络的异常模式发现方法", 《计算机科学》, vol. 41, no. 7, 15 July 2014 (2014-07-15), pages 297 - 300 * |
杨安等: "工业控制系统入侵检测技术综述", 《计算机研究与发展》 * |
杨安等: "工业控制系统入侵检测技术综述", 《计算机研究与发展》, 30 September 2016 (2016-09-30), pages 2039 - 2054 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469326A (zh) * | 2021-06-24 | 2021-10-01 | 上海寒武纪信息科技有限公司 | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 |
CN113469326B (zh) * | 2021-06-24 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 |
CN114818803A (zh) * | 2022-04-25 | 2022-07-29 | 上海韶脑传感技术有限公司 | 基于神经元优化的单侧肢体患者运动想象脑电建模方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221578B (zh) | 计算装置以及计算方法 | |
CN110163360B (zh) | 一种计算装置及方法 | |
TWI827432B (zh) | 計算裝置、機器學習運算裝置、組合處理裝置、神經網絡芯片、電子設備、板卡、及計算方法 | |
CN110689125A (zh) | 计算装置 | |
CN110163350B (zh) | 一种计算装置及方法 | |
CN111626413A (zh) | 一种计算装置及方法 | |
CN111045728B (zh) | 一种计算装置及相关产品 | |
CN108960415B (zh) | 处理装置和处理系统 | |
CN109389210B (zh) | 处理方法和处理装置 | |
CN111178492A (zh) | 计算装置及相关产品、执行人工神经网络模型的计算方法 | |
CN111047024B (zh) | 一种计算装置及相关产品 | |
CN111198714A (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 |