CN111176727A - 计算装置以及计算方法 - Google Patents
计算装置以及计算方法 Download PDFInfo
- Publication number
- CN111176727A CN111176727A CN202010189355.5A CN202010189355A CN111176727A CN 111176727 A CN111176727 A CN 111176727A CN 202010189355 A CN202010189355 A CN 202010189355A CN 111176727 A CN111176727 A CN 111176727A
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- chip
- storage medium
- unit
- 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
- 230000015654 memory Effects 0.000 claims abstract description 49
- 238000013528 artificial neural network Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 30
- 230000004913 activation Effects 0.000 claims description 18
- 238000013527 convolutional neural network Methods 0.000 claims description 17
- 210000004205 output neuron Anatomy 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000000638 solvent extraction Methods 0.000 description 9
- 230000003252 repetitive effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 210000002364 input neuron Anatomy 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect 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
- 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
- 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/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)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种计算装置及神经网络的处理系统,所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、控制单元和数据访问单元。
Description
技术领域
本申请属于神经网络运算领域,尤其涉及一种计算装置以及计算方法。
背景技术
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行神经网络的数据计算时速度慢,效率低。
申请内容
有鉴于此,本申请提供一种计算装置以及计算方法,能够提高计算速度,并且运算性能高效。
本申请提供一种一种计算装置,所述计算装置包括:片内存储器、片外存储介质、片内地址索引单元、片内处理单元,所述片内处理单元包括:互联模块、运算单元;其中,
数据划分模块,用于根据预定的数据划分原则将片上存储介质和/或片外存储介质的数据划分为不同的数据块,所述数据划分原则包括将重用距离低于预定距离阈值的数据划分在同一个数据块;
数据索引模块,用于根据预定的替换策略的顺序关系,依次载入不同的所述数据块到至少一个片上处理单元的互联模块,被载入的所述数据块中的重复数据在片内重复寻址;
互联模块、用于将所述数据块发送至运算单元;
运算单元,用于执行指令调用计算器对所述数据块执行运算操作得到运算结果。
附图说明
图1-1是本申请实施例提供的计算装置的另一种结构示意图。
图1-2是本申请实施例提供的卷积计算指令的流程示意图。
图2-1是本申请片上重复寻址的装置的优选实施例的总体结构的示例的框图;
图2-2是本申请片上重复寻址的方法的优选实施例的数据地址划分图;
图2-3是本申请片上重复寻址的方法的优选实施例的数据划分示意图之一;
图2-4是本申请片上重复寻址的方法的优选实施例的数据划分示意图之二;
图2-5是本申请片上重复寻址的方法的优选实施例的替换策略示意图;
图2-6是本申请片上重复寻址的方法的一种具体实施例的流程图;
图2-7是本申请片上重复寻址的方法的片上重复索引优选实施例示意图。
具体实施方式
参阅图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所示的互联模块以及运算单元,该运算单元包括多个计算器。对于如图2-1所示的总体结构,举例说明,对于异构平台来说,处理器的片上存储器20能够存储的数据十分有限,通常来讲片上有限的资源限制了将所有数据放置在片上的可能性,所以将大存储器(廉价,速度稍慢)放在片外,小存储器(昂贵,速度快)集成在片上,需要将所有的数据划分成为大小可以存储在片上存储器20的数据块,通过存储容量大的片外存储介质10和存储容量小的片上存储介质20上的数据交互将所需数据块读入或者写出。其间,片内地址索引单元40将片内数据地址按需提供给片上处理单元30。本申请的存储器并不限定,可以是静态随机存储器(Static Random Access Memory,SRAM),动态随机存储器(DynamicRandom Access Memory,DRAM),增强动态随机存取存储器(Enhanced Dynamic RandomAccess Memory,eDRAM),寄存器堆(Register file,RF)等常见存储介质,也可是新型的存储器件,如非易失存储器(Non-Volatile Memory,NVM)或3D存储器件等。
本申请提供一种片上重复寻址的方法,是一种当总数据过大,大于片上存储介质20的存储容量时所使用的数据管理策略,从而可以把片外的数据读取至片内进行快速重复寻址,当然,也可以实现片外重复寻址,然而高效的做法是将集中访问的数据放在一起,一次搬至片内,然后直接在片内快速寻址。该方法包括:
数据划分步骤,根据预定的数据划分原则将片上存储介质和/或片外存储介质的数据划分为不同的数据块,所述数据划分原则包括将重用距离低于预定距离阈值的数据划分在同一个数据块。重用距离指的是一个数据两次使用的距离,距离是指访存次数,重用距离近的数据在运行短期内就会被访问,也即就有很强的时间上的相关性。这些数据划分在同一数据块上可以一次载入片内存储然后使用尽可能多的次数,从而访存更加高效。在每个数据块中,数据则按照预定的规则存储介质内,例如,顺序存储。
数据索引步骤,根据预定的替换策略的顺序关系,依次载入不同的所述数据块到至少一个片上处理单元,被载入的所述数据块中的重复数据在片内重复寻址。该数据块里的数据可在片内直接重复寻址,避免从片外存储或IO多次读写(速度慢,功耗高)。采用有效的数据划分原则,从而使得上述替换发生次数尽可能的少(有效的数据划分原则可减少替换次数,有效的数据替换策略在此基础上可进一步减少替换次数)。优选的是,图2-2所示即为数据地址划分图,所述数据的索引地址50包括数据块地址51与块内地址52;即每个数据的地址为当前数据块地址51与块内地址52拼接而成。将数据划分成为合理的数据块后,通过将地址划分成为片内和片外使得片内重复寻址更加高效。地址索引所采用的技术并不局限于简单的数据索引,也包括codebook(码本)等划分实施方案。
所述数据索引步骤包括:根据所述替换策略的顺序关系和数据块地址51,依次载入不同的所述数据块到至少一个片上处理单元30,被载入的所述数据块中的重复数据在片内重复寻址,当所述数据块的块内地址52全部索引完成后才替换新的数据块,直至没有数据块被需要载入为止。在数据块内进行索引时,只有数据的块内地址52有用,则索引的硬件单元不需要使用数据块地址51,然而数据块地址51仍然需要记录从而可以被后续使用。
优选的是,片上存储介质20与片上处理单元30通过片内数据通路进行数据交换;片上存储介质20与片外存储介质10通过片内外数据通路进行数据交换,片上存储介质20或片外存储介质10至少一次从内部或外部进行读写;所述数据以数据块为单位在片上存储介质20、片外存储介质10和/或片上处理单元30两两之间搬运。
优选的是,所述数据块的数据量小于片上存储介质20的容量,优选能够被其整除。
优选的是,片上存储介质20采用读写端口分离设计,从而使得数据的读出和写入相互独立,可以同时进行。
优选的是,所述方法应用于学习类处理器。
优选的是,所述方法应用于异构环境。
优选的是,片上处理单元30为片上运算模块,所述根据预定条件选取数据,满足所述预定条件的所述数据被划分在相同的所述数据块中。具体的是,所述预定条件包括简单划分条件、平均为预定数目的数据块条件、与不同输出神经元相关条件或者满足预定数学关系条件。这些是针对不同情况下具体的数据划分准则,仍在数据划分原则限定的范围内。
如图2-3所示为一个优选实施例的数据划分示意图。以常见的神经网络为例(向量运算),不同输出神经元所需的权值数据存储在不同的数据块,运算时,需要在不同的时刻载入不同的数据块进行索引。输入神经元的值是被复用,计算两个输出神经元用的是同样的输入。在计算输出神经元的时候需要载入相关的权值,计算完成后则这部分权值完全不需要了;计算输出神经元时,需要载入相关的权值。其中相同输入神经元的值只存了一份,也即计算时需要重复寻址。相同的权值也只存了一份,也需要重复寻址获得。
如图2-4所示为一个优选实施例的数据划分示意图。同样以常见的神经网络为例(向量运算),满足指定条件的权值连接被划分存储在同样的数据块中,如实线权值连接和虚线权值连接。在不同的时刻,不同数据块被载入,运算单元根据指定条件选取数据,如所有的输出神经元先计算与实线权值连接的相关计算,在数据块替换后再计算与虚线权值连接的相关计算。
优选的是,所述替换策略包括顺序替换、逆序替换或者乱序替换;图2-5所示即为一个优选实施例的替换策略示意图,数据被划分成为不同的数据块,在不同时刻,根据不同的替换策略载入不同的数据块。如顺序替换,数据块按照#1、#2、#3以此类推的顺序载入;逆序替换,数据块按照#N、#(N-1)、#(N-2)的顺序载入;乱序替换,则根据指定的顺序读入数据块。或者,所述替换策略包括数据写回,在数据处理完成后将最终结果或中间结果写回所述片上存储介质、所述片外存储介质和/或所述片上处理单元。不同的替换策略应当考虑到数据的一致性。
本申请相应提供一种实现片上重复寻址的方法的装置,该装置包括:
数据划分模块,用于根据预定的数据划分原则将片上存储介质和/或片外存储介质的数据划分为不同的数据块,所述数据划分原则包括将重用距离低于预定距离阈值的数据划分在同一个数据块;
数据索引模块,用于根据预定的替换策略的顺序关系,依次载入不同的所述数据块到至少一个片上处理单元,被载入的所述数据块中的重复数据在片内重复寻址。
优选的是,所述数据的索引地址包括数据块地址与块内地址;
所述数据索引模块用于根据所述替换策略的顺序关系和所述数据块地址,依次载入不同的所述数据块到至少一个所述片上处理单元,被载入的所述数据块中的重复数据在片内重复寻址,当所述数据块的所述块内地址全部索引完成后才替换新的数据块,直至没有数据块被需要载入为止。
优选的是,所述片上存储介质与所述片上处理单元通过片内数据通路进行数据交换;
所述片上存储介质与所述片外存储介质通过片内外数据通路进行数据交换,所述片上存储介质或所述片外存储介质至少一次从内部或外部进行读写;所述数据以数据块为单位在所述片上存储介质、所述片外存储介质和/或所述片上处理单元两两之间搬运。
优选的是,所述数据块的数据量小于所述片上存储介质的容量。
优选的是,所述片上存储介质采用读写端口分离设计。
优选的是,所述装置应用于学习类处理器。
优选的是,所述装置应用于异构环境。
优选的是,所述片上处理单元为片上运算模块,所述根据预定条件选取数据,满足所述预定条件的所述数据被划分在相同的所述数据块中。
优选的是,所述预定条件包括简单划分条件、平均为预定数目的数据块条件、与不同输出神经元相关条件或者满足预定数学关系条件。
优选的是,所述替换策略包括顺序替换、逆序替换或者乱序替换;或者
所述替换策略包括数据写回,在数据处理完成后将最终结果或中间结果写回所述片上存储介质、所述片外存储介质和/或所述片上处理单元。
图2-6所示即为一个优选实施例的利用片上数据重复寻址降低访存带宽需求装置使用的流程图。开始计算后,
步骤S101,数据按照数据划分原则划分成为不同的数据块。
步骤S102,将数据块载入片上存储介质20。在某一时刻,只有一块数据块被载入片上存储介质20用于片上计算,根据不同的替换策略,不同的数据块按不同的顺序被载入用于运算。
步骤S103,对获取的数据进行片上计算。
步骤S104,判断是否所有的计算完毕没有数据块需要再次载入,如果是则全部计算结束,否则,回到步骤S102。
图2-7所示即为一个优选实施例的计算单元根据地址进行重复寻址的框图。根据地址索引,存储于地址DA的数据被计算单元#0、#2、#4所需要,则实施例索引至地址DA,并将DA中的数据传播给所需的计算单元,即#0、#2和#4。这个例子中,三个计算单元所需要的数据因为是一样的,所以在片上只存储了一份,也即同一个数据要被重复寻址三次。图2-5中数据传递给片上计算单元的方式并不局限于BUS总线的连接方式,也包括Crossbar结构、FAT-TREE、H-TREE等其他连接方式。
综上所述,本申请将重用距离小于预定的距离阈值的数据划分在同一个数据块,重用距离指的是一个数据两次使用的距离,距离是指访存次数,重用距离近的数据在运行短期内就会被访问,也即就有很强的时间上的相关性。这些数据划分在同一数据块上可以一次载入片内存储然后使用尽可能多的次数,从而访存更加高效。本申请旨在利用片上的重复寻址用于降低访存带宽。本申请的装置及其相关使用方法可以有效的提供数据的复用性和其灵活寻址的需求,能够适用于不同场景,并不仅仅局限于机器学习类处理器。
在一些实施例里,公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,公开了一种板卡,其包括了上述芯片封装结构。
在一些实施例里,公开了一种电子装置,其包括了上述板卡。
电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种计算装置,其特征在于,所述计算装置包括:片内存储器、片外存储介质、片内地址索引单元、片内处理单元,所述片内处理单元包括:互联模块、运算单元;其中,
数据划分模块,用于根据预定的数据划分原则将片上存储介质和/或片外存储介质的数据划分为不同的数据块,所述数据划分原则包括将重用距离低于预定距离阈值的数据划分在同一个数据块;
数据索引模块,用于根据预定的替换策略的顺序关系,依次载入不同的所述数据块到至少一个片上处理单元的互联模块,被载入的所述数据块中的重复数据在片内重复寻址;
互联模块、用于将所述数据块发送至运算单元;
运算单元,用于执行指令调用计算器对所述数据块执行运算操作得到运算结果。
2.根据权利要求1所述的计算装置,其特征在于,
所述数据索引模块,具体用于根据所述替换策略的顺序关系和所述数据块地址,依次载入不同的所述数据块到至少一个所述片上处理单元,被载入的所述数据块中的重复数据在片内重复寻址,当所述数据块的所述块内地址全部索引完成后替换新的数据块,直至没有数据块被需要载入为止。
3.根据权利要求1所述的计算装置,其特征在于,所述片上存储介质与所述片上处理单元通过片内数据通路进行数据交换;
所述片上存储介质与所述片外存储介质通过片内外数据通路进行数据交换,所述片上存储介质或所述片外存储介质至少一次从内部或外部进行读写;
所述数据以数据块为单位在所述片上存储介质、所述片外存储介质和/或所述片上处理单元两两之间搬运;所述数据块的数据量小于所述片上存储介质的容量。
4.根据权利要求1所述的计算装置,其特征在于,
所述片上存储介质采用读写端口分离设计;所述计算装置应用于学习类加速器和/或异构环境。
5.根据权利要求1所述的计算装置,其特征在于,
所述运算模块,用于根据预定条件选取数据,满足所述预定条件的所述数据被划分在相同的所述数据块中;所述预定条件包括简单划分条件、平均为预定数目的数据块条件、与不同输出神经元相关条件或者满足预定数学关系条件;
所述替换策略包括顺序替换、逆序替换或者乱序替换;或者
所述替换策略包括数据写回,在数据处理完成后将最终结果或中间结果写回所述片上存储介质、所述片外存储介质和/或所述片上处理单元。
6.根据权利要求1所述的计算总计结构,其特征在于,
所述运算单元包括:一个主运算单元和多个从运算单元,所述互联模块连接所述主运算单元和多个从运算单元,所述互联模块为:树状结构、环状结构、网格状结构、分级互连或总线结构。
7.根据权利要求1-6任意一项所述的计算装置,其特征在于,
所述运算指令为卷积计算指令,所述计算指令包括:操作域和操作码;
所述卷积计算指令包括:卷积神经网络sigmoid指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做sigmoid激活;
卷积神经网络TanH指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做TanH激活;
卷积神经网络ReLU指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做ReLU激活;以及
卷积神经网络group指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作,然后将输出结果做激活;所述运算指令还包括:
IO指令实现从外部存储空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;
NOP指令负责清空当前装置内部所有控制信号缓存队列中的控制信号,保证NOP指令之前的所有指令全部指令完毕;
JUMP指令负责控制将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。
8.一种片上寻址方法,其特征在于,所述方法应用于计算装置,所述总体结构包括:片内存储器、片外存储介质、片内地址索引单元、片内处理单元,所述片内处理单元包括:互联模块、运算单元;所述方法包括如下步骤:
数据划分模块根据预定的数据划分原则将片上存储介质和/或片外存储介质的数据划分为不同的数据块,所述数据划分原则包括将重用距离低于预定距离阈值的数据划分在同一个数据块;
数据索引模块根据预定的替换策略的顺序关系,依次载入不同的所述数据块到至少一个片上处理单元的互联模块,被载入的所述数据块中的重复数据在片内重复寻址;
互联模块将所述数据块发送至运算单元;运算单元执行指令调用计算器对所述数据块执行运算操作得到运算结果。
9.根据权利要求8所述的方法,其特征在于,所述方法具体包括:
所述数据索引模块根据所述替换策略的顺序关系和所述数据块地址,依次载入不同的所述数据块到至少一个所述片上处理单元,被载入的所述数据块中的重复数据在片内重复寻址,当所述数据块的所述块内地址全部索引完成后替换新的数据块,直至没有数据块被需要载入为止。
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 |
---|---|---|---|
CN201710595951.1A CN107992329B (zh) | 2017-07-20 | 2017-07-20 | 一种计算方法及相关产品 |
CN2017105959511 | 2017-07-20 | ||
PCT/CN2018/095706 WO2019015541A1 (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
CN201880004680.0A CN110036369B (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 |
---|---|
CN111176727A true CN111176727A (zh) | 2020-05-19 |
CN111176727B CN111176727B (zh) | 2022-05-31 |
Family
ID=61067110
Family Applications (18)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710927336.6A Active CN107729989B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置及方法 |
CN201710595951.1A Active CN107992329B (zh) | 2017-07-20 | 2017-07-20 | 一种计算方法及相关产品 |
CN201710928261.3A Active CN107729990B (zh) | 2017-07-20 | 2017-07-20 | 支持离散数据表示的用于执行正向运算的装置及方法 |
CN201710927267.9A Active CN107832082B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置和方法 |
CN201710927144.5A Active CN109284822B (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 | 神经网络运算装置及方法 |
CN201710927338.5A Active CN107608715B (zh) | 2017-07-20 | 2017-07-20 | 用于执行人工神经网络正向运算的装置及方法 |
CN201710928125.4A Active CN107807819B (zh) | 2017-07-20 | 2017-07-20 | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 |
CN201880004680.0A Active CN110036369B (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
CN201911057705.6A Active CN110597558B (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 | 计算装置以及计算方法 |
CN201911058836.6A Active CN110688158B (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 | 计算装置以及计算方法 |
CN201911058620.XA Active CN110688157B (zh) | 2017-07-20 | 2018-07-13 | 一种计算装置及计算方法 |
Family Applications Before (16)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710927336.6A Active CN107729989B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置及方法 |
CN201710595951.1A Active CN107992329B (zh) | 2017-07-20 | 2017-07-20 | 一种计算方法及相关产品 |
CN201710928261.3A Active CN107729990B (zh) | 2017-07-20 | 2017-07-20 | 支持离散数据表示的用于执行正向运算的装置及方法 |
CN201710927267.9A Active CN107832082B (zh) | 2017-07-20 | 2017-07-20 | 一种用于执行人工神经网络正向运算的装置和方法 |
CN201710927144.5A Active CN109284822B (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 | 神经网络运算装置及方法 |
CN201710927338.5A Active CN107608715B (zh) | 2017-07-20 | 2017-07-20 | 用于执行人工神经网络正向运算的装置及方法 |
CN201710928125.4A Active CN107807819B (zh) | 2017-07-20 | 2017-07-20 | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 |
CN201880004680.0A Active CN110036369B (zh) | 2017-07-20 | 2018-07-13 | 一种计算方法及相关产品 |
CN201911057705.6A Active CN110597558B (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 | 计算装置以及计算方法 |
CN201911058836.6A Active CN110688158B (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 | 计算装置及计算方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911058620.XA Active CN110688157B (zh) | 2017-07-20 | 2018-07-13 | 一种计算装置及计算方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11481215B2 (zh) |
EP (1) | EP3686734A4 (zh) |
CN (18) | CN107729989B (zh) |
WO (1) | WO2019015541A1 (zh) |
Families Citing this family (186)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018214913A1 (zh) * | 2017-05-23 | 2018-11-29 | 上海寒武纪信息科技有限公司 | 处理方法及加速装置 |
WO2019001418A1 (zh) | 2017-06-26 | 2019-01-03 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
CN110619390A (zh) * | 2018-06-20 | 2019-12-27 | 上海寒武纪信息科技有限公司 | 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法 |
CN109426553A (zh) | 2017-08-21 | 2019-03-05 | 上海寒武纪信息科技有限公司 | 任务切分装置及方法、任务处理装置及方法、多核处理器 |
CN110413551B (zh) | 2018-04-28 | 2021-12-10 | 上海寒武纪信息科技有限公司 | 信息处理装置、方法及设备 |
CN109214616B (zh) | 2017-06-29 | 2023-04-07 | 上海寒武纪信息科技有限公司 | 一种信息处理装置、系统和方法 |
CN107729989B (zh) * | 2017-07-20 | 2020-12-29 | 安徽寒武纪信息科技有限公司 | 一种用于执行人工神经网络正向运算的装置及方法 |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
CN109902817B (zh) | 2017-12-11 | 2021-02-09 | 安徽寒武纪信息科技有限公司 | 板卡和神经网络运算方法 |
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 | 上海寒武纪信息科技有限公司 | 一种网络模型的计算方法及装置 |
CN110276447A (zh) * | 2018-03-14 | 2019-09-24 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN110163359B (zh) * | 2018-02-13 | 2020-12-11 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
US11106598B2 (en) | 2018-02-13 | 2021-08-31 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
EP3617959B1 (en) * | 2018-02-13 | 2021-08-04 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11169803B2 (en) | 2018-02-13 | 2021-11-09 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
CN110163350B (zh) * | 2018-02-13 | 2021-06-08 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN116991225A (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 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN110147872B (zh) * | 2018-05-18 | 2020-07-17 | 中科寒武纪科技股份有限公司 | 编码存储装置及方法、处理器及训练方法 |
EP3796189A4 (en) | 2018-05-18 | 2022-03-02 | Cambricon Technologies Corporation Limited | VIDEO RECOVERY METHOD, AND METHOD AND APPARATUS FOR GENERATING A VIDEO RECOVERY MAPPING RELATION |
CN111368987B (zh) * | 2018-12-25 | 2023-03-24 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN110503179B (zh) * | 2018-05-18 | 2024-03-01 | 上海寒武纪信息科技有限公司 | 计算方法以及相关产品 |
EP3624020A4 (en) | 2018-05-18 | 2021-05-05 | Shanghai Cambricon Information Technology Co., Ltd | CALCULATION PROCEDURES AND RELATED PRODUCTS |
CN113190791A (zh) * | 2018-08-06 | 2021-07-30 | 华为技术有限公司 | 矩阵的处理方法、装置及逻辑电路 |
CN109032670B (zh) * | 2018-08-08 | 2021-10-19 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行向量复制指令的方法 |
CN109189715B (zh) * | 2018-08-16 | 2022-03-15 | 北京算能科技有限公司 | 可编程人工智能加速器执行单元及人工智能加速方法 |
WO2020042739A1 (zh) * | 2018-08-28 | 2020-03-05 | 中科寒武纪科技股份有限公司 | 数据预处理方法、装置、计算机设备和存储介质 |
KR20200026455A (ko) * | 2018-09-03 | 2020-03-11 | 삼성전자주식회사 | 인공 신경망 시스템 및 인공 신경망의 고정 소수점 제어 방법 |
CN109242091B (zh) * | 2018-09-03 | 2022-03-22 | 郑州云海信息技术有限公司 | 图像识别方法、装置、设备及可读存储介质 |
CN110929838B (zh) * | 2018-09-19 | 2023-09-26 | 杭州海康威视数字技术股份有限公司 | 神经网络中位宽定点化方法、装置、终端和存储介质 |
CN110941789B (zh) * | 2018-09-21 | 2023-12-15 | 北京地平线机器人技术研发有限公司 | 张量运算方法和装置 |
WO2020062392A1 (zh) | 2018-09-28 | 2020-04-02 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
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 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
WO2020073923A1 (zh) * | 2018-10-09 | 2020-04-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111353595A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111124497B (zh) * | 2018-10-11 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111275197B (zh) * | 2018-12-05 | 2023-11-10 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047030A (zh) * | 2018-10-11 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047027A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111047028A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111222633A (zh) * | 2018-11-23 | 2020-06-02 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111061507A (zh) * | 2018-10-16 | 2020-04-24 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096283A (zh) * | 2018-10-12 | 2019-08-06 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111045729A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
WO2020073925A1 (zh) * | 2018-10-09 | 2020-04-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111026440B (zh) * | 2018-10-09 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096310B (zh) * | 2018-11-14 | 2021-09-03 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111353124A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096309B (zh) * | 2018-11-14 | 2020-04-14 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111290789B (zh) * | 2018-12-06 | 2022-05-27 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111290788B (zh) * | 2018-12-07 | 2022-05-31 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047005A (zh) * | 2018-10-11 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047023B (zh) * | 2018-10-12 | 2023-11-24 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111047024B (zh) * | 2018-10-12 | 2023-05-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111210011B (zh) * | 2018-11-21 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111079908B (zh) * | 2018-10-18 | 2024-02-13 | 上海寒武纪信息科技有限公司 | 片上网络数据处理方法、存储介质、计算机设备和装置 |
EP4009184A1 (en) | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
CN111209245B (zh) * | 2018-11-21 | 2021-11-16 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN111209231B (zh) * | 2018-11-21 | 2021-05-11 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
CN111209230B (zh) * | 2018-11-21 | 2021-08-31 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN111078624B (zh) * | 2018-10-18 | 2022-03-25 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN111078623B (zh) * | 2018-10-18 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN111078625B (zh) * | 2018-10-18 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN111210012B (zh) * | 2018-11-21 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
CN111209243B (zh) * | 2018-11-21 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN111209244B (zh) * | 2018-11-21 | 2022-05-06 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111078286B (zh) * | 2018-10-19 | 2023-09-01 | 上海寒武纪信息科技有限公司 | 数据通信方法、计算系统和存储介质 |
CN111079913B (zh) * | 2018-10-19 | 2021-02-05 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN111078284B (zh) * | 2018-10-19 | 2021-02-05 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111078291B (zh) * | 2018-10-19 | 2021-02-09 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111078282B (zh) * | 2018-10-19 | 2020-12-22 | 安徽寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111078280B (zh) * | 2018-10-19 | 2021-01-26 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN111079912B (zh) * | 2018-10-19 | 2021-02-12 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111079909B (zh) * | 2018-10-19 | 2021-01-26 | 安徽寒武纪信息科技有限公司 | 运算方法、系统及相关产品 |
CN109669773B (zh) * | 2018-11-12 | 2024-03-08 | 平安科技(深圳)有限公司 | 金融数据处理方法、装置、设备和存储介质 |
CN111191774B (zh) * | 2018-11-14 | 2023-04-07 | 上海富瀚微电子股份有限公司 | 面向精简卷积神经网络的低代价加速器架构及其处理方法 |
CN111260070B (zh) * | 2018-11-30 | 2022-11-29 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN109583579B (zh) * | 2018-11-30 | 2021-04-09 | 上海寒武纪信息科技有限公司 | 计算装置及相关产品 |
CN111258935B (zh) * | 2018-11-30 | 2022-01-25 | 上海寒武纪信息科技有限公司 | 数据传输装置和方法 |
CN111381871B (zh) * | 2018-12-28 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN109558110B (zh) * | 2018-11-30 | 2021-06-01 | 上海寒武纪信息科技有限公司 | 数据转换装置及相关产品 |
CN111258641B (zh) * | 2018-11-30 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
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 | 西安交通大学 | 一种稀疏卷积神经网络加速器及实现方法 |
CN111368990B (zh) * | 2018-12-25 | 2023-03-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111368967B (zh) * | 2018-12-25 | 2023-04-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111368985B (zh) * | 2018-12-25 | 2023-11-28 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111367567B (zh) * | 2018-12-25 | 2023-03-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN111383638A (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 |
CN111832738B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
WO2020220935A1 (zh) * | 2019-04-27 | 2020-11-05 | 中科寒武纪科技股份有限公司 | 运算装置 |
CN111860797B (zh) * | 2019-04-27 | 2023-05-02 | 中科寒武纪科技股份有限公司 | 运算装置 |
CN110298441B (zh) * | 2019-05-24 | 2022-01-11 | 深圳云天励飞技术有限公司 | 一种数据处理方法、电子装置及计算机可读存储介质 |
CN112068799B (zh) * | 2019-06-11 | 2022-08-02 | 云南大学 | 一种最优带符号二进制快速计算方法以及椭圆曲线标量乘法 |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
CN112085186B (zh) | 2019-06-12 | 2024-03-05 | 上海寒武纪信息科技有限公司 | 一种神经网络的量化参数确定方法及相关产品 |
CN110245750B (zh) * | 2019-06-14 | 2022-07-15 | 西南科技大学 | 一种基于fpga的神经网络数值模拟方法 |
CN110390383B (zh) * | 2019-06-25 | 2021-04-06 | 东南大学 | 一种基于幂指数量化的深度神经网络硬件加速器 |
WO2021004076A1 (zh) * | 2019-07-05 | 2021-01-14 | 山东大学 | 基于人工智能芯片的适形穿戴式生物信息监测设备及系统 |
CN112168140B (zh) * | 2019-07-05 | 2021-07-13 | 山东大学齐鲁医院 | 基于人工智能芯片的穿戴式生物信息监测设备及方法 |
CN110348021B (zh) * | 2019-07-17 | 2021-05-18 | 湖北亿咖通科技有限公司 | 基于命名实体模型的字符串识别方法、电子设备、存储介质 |
WO2021022441A1 (zh) * | 2019-08-05 | 2021-02-11 | 华为技术有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN112346707A (zh) * | 2019-08-07 | 2021-02-09 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN112395006A (zh) * | 2019-08-13 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
WO2021036904A1 (zh) | 2019-08-23 | 2021-03-04 | 安徽寒武纪信息科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
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 | 北京希姆计算科技有限公司 | 数据运算电路、数据处理装置、芯片、卡板及电子设备 |
CN114365147A (zh) * | 2019-10-22 | 2022-04-15 | 深圳鲲云信息科技有限公司 | 神经网络计算压缩方法、系统及存储介质 |
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 | 苏州浪潮智能科技有限公司 | 一种判断存储容量变化量异常的方法、系统及存储介质 |
US20210295134A1 (en) * | 2020-03-18 | 2021-09-23 | 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 | 上海西井信息科技有限公司 | 芯片架构 |
CN113867793A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN113867799A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN111783954B (zh) * | 2020-06-30 | 2023-05-02 | 安徽寒武纪信息科技有限公司 | 一种用于确定神经网络的性能的方法、电子设备和存储介质 |
CN118012505A (zh) * | 2020-06-30 | 2024-05-10 | 上海寒武纪信息科技有限公司 | 人工智能处理器、集成电路芯片、板卡、电子设备 |
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 | 北京百度网讯科技有限公司 | 语音处理系统、语音处理方法、电子设备和可读存储介质 |
CN112257859A (zh) * | 2020-10-30 | 2021-01-22 | 地平线(上海)人工智能技术有限公司 | 特征数据处理方法及装置、设备、存储介质 |
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 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN113469326B (zh) * | 2021-06-24 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 |
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 | 广东齐芯半导体有限公司 | 一种卷积计算电路、神经网络处理器以及卷积计算方法 |
CN114818803A (zh) * | 2022-04-25 | 2022-07-29 | 上海韶脑传感技术有限公司 | 基于神经元优化的单侧肢体患者运动想象脑电建模方法 |
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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327537A (en) * | 1990-03-13 | 1994-07-05 | At&T Bell Laboratories | Apparatus for controlling instruction execution in a pipelined processor |
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
CN105512723A (zh) * | 2016-01-20 | 2016-04-20 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
US20160217369A1 (en) * | 2015-01-22 | 2016-07-28 | Qualcomm Incorporated | Model compression and fine-tuning |
CN105912476A (zh) * | 2016-04-06 | 2016-08-31 | 中国科学院计算技术研究所 | 片上重复寻址的方法及装置 |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
CN106940815A (zh) * | 2017-02-13 | 2017-07-11 | 西安交通大学 | 一种可编程卷积神经网络协处理器ip核 |
CN106951961A (zh) * | 2017-02-24 | 2017-07-14 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
Family Cites Families (87)
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 |
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·埃利斯三世 | 全球网络计算机 |
WO2004013752A1 (en) * | 2002-07-26 | 2004-02-12 | Koninklijke Philips Electronics N.V. | Method and apparatus for accessing multiple vector elements in parallel |
US6941289B2 (en) * | 2001-04-06 | 2005-09-06 | Sas Institute Inc. | Hybrid neural network generation system and method |
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 |
CN101211341A (zh) * | 2006-12-29 | 2008-07-02 | 上海芯盛电子科技有限公司 | 图像智能模式识别搜索方法 |
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 | 西安电子科技大学 | 适于矩阵求逆的超长指令集微处理系统 |
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 |
US8843425B2 (en) * | 2011-07-29 | 2014-09-23 | International Business Machines Corporation | Hierarchical routing for two-way information flow and structural plasticity in neural networks |
US9916538B2 (en) * | 2012-09-15 | 2018-03-13 | Z Advanced Computing, Inc. | Method and system for feature detection |
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 | 中国科学院空间科学与应用研究中心 | 一种时间分辨单光子计数二维成像系统及方法 |
CN103975302B (zh) * | 2011-12-22 | 2017-10-27 | 英特尔公司 | 矩阵乘法累加指令 |
CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
KR20130090147A (ko) * | 2012-02-03 | 2013-08-13 | 안병익 | 신경망 컴퓨팅 장치 및 시스템과 그 방법 |
CN103377033B (zh) * | 2012-04-12 | 2016-01-13 | 无锡江南计算技术研究所 | 运算核心及其指令管理方法 |
CN102880341B (zh) * | 2012-08-29 | 2015-08-05 | 北京集创北方科技有限公司 | 触摸屏数据处理系统、方法及专用alu |
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 |
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的高速数据格式转换部件及转换方法 |
US9633306B2 (en) * | 2015-05-07 | 2017-04-25 | Siemens Healthcare Gmbh | Method and system for approximating deep neural networks for anatomical object detection |
US10083395B2 (en) * | 2015-05-21 | 2018-09-25 | Google Llc | Batch processing in a neural network processor |
US9805303B2 (en) * | 2015-05-21 | 2017-10-31 | Google Inc. | Rotating data for neural network computations |
CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
CN107924428B (zh) * | 2015-09-01 | 2022-03-15 | 弗莱克斯-罗技克斯技术公司 | 可编程逻辑ic的块存储器布局和体系架构及其操作方法 |
CN106485321B (zh) * | 2015-10-08 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有架构神经网络执行单元的处理器 |
US10776690B2 (en) * | 2015-10-08 | 2020-09-15 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with plurality of selectable output functions |
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 | 四川长虹电器股份有限公司 | 一种新型网络拓扑结构的卷积神经网络的构造方法 |
WO2017105517A1 (en) * | 2015-12-18 | 2017-06-22 | 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 | 华为技术有限公司 | 神经网络处理器的数据处理方法及神经网络处理器 |
CN105843775B (zh) * | 2016-04-06 | 2018-12-04 | 中国科学院计算技术研究所 | 片上数据划分读写方法、系统及其装置 |
US20170337156A1 (en) * | 2016-04-26 | 2017-11-23 | Onnivation Llc | Computing machine architecture for matrix and array processing |
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 |
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 | 清华大学 | 硬件神经网络转换方法、计算装置、软硬件协作系统 |
US10175980B2 (en) * | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
CN106599840A (zh) * | 2016-12-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种图像识别协处理器、图像识别系统及方法 |
CN106845631B (zh) * | 2016-12-26 | 2020-05-29 | 上海寒武纪信息科技有限公司 | 一种流执行方法及装置 |
CN106775599B (zh) * | 2017-01-09 | 2019-03-01 | 南京工业大学 | 递归神经网络的多计算单元粗粒度可重构系统及方法 |
CN106909971A (zh) * | 2017-02-10 | 2017-06-30 | 华南理工大学 | 一种面向多核计算环境的bp神经网络并行化方法 |
EP3614259A4 (en) * | 2017-04-19 | 2021-02-24 | Shanghai Cambricon Information Technology Co., Ltd | TREATMENT APPARATUS AND TREATMENT METHOD |
CN107729989B (zh) * | 2017-07-20 | 2020-12-29 | 安徽寒武纪信息科技有限公司 | 一种用于执行人工神经网络正向运算的装置及方法 |
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 CN201710927336.6A patent/CN107729989B/zh active Active
- 2017-07-20 CN CN201710595951.1A patent/CN107992329B/zh active Active
- 2017-07-20 CN CN201710928261.3A patent/CN107729990B/zh active Active
- 2017-07-20 CN CN201710927267.9A patent/CN107832082B/zh active Active
- 2017-07-20 CN CN201710927144.5A patent/CN109284822B/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 CN201710927338.5A patent/CN107608715B/zh active Active
- 2017-07-20 CN CN201710928125.4A patent/CN107807819B/zh active Active
-
2018
- 2018-07-13 WO PCT/CN2018/095706 patent/WO2019015541A1/zh unknown
- 2018-07-13 CN CN201880004680.0A patent/CN110036369B/zh active Active
- 2018-07-13 CN CN201911057705.6A patent/CN110597558B/zh active Active
- 2018-07-13 EP EP18835662.0A patent/EP3686734A4/en active Pending
- 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 CN CN201911058836.6A patent/CN110688158B/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 CN CN202010189355.5A patent/CN111176727B/zh active Active
- 2018-07-13 CN CN201911058620.XA patent/CN110688157B/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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327537A (en) * | 1990-03-13 | 1994-07-05 | At&T Bell Laboratories | Apparatus for controlling instruction execution in a pipelined processor |
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
US20160217369A1 (en) * | 2015-01-22 | 2016-07-28 | Qualcomm Incorporated | Model compression and fine-tuning |
CN105512723A (zh) * | 2016-01-20 | 2016-04-20 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
CN105912476A (zh) * | 2016-04-06 | 2016-08-31 | 中国科学院计算技术研究所 | 片上重复寻址的方法及装置 |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
CN106940815A (zh) * | 2017-02-13 | 2017-07-11 | 西安交通大学 | 一种可编程卷积神经网络协处理器ip核 |
CN106951961A (zh) * | 2017-02-24 | 2017-07-14 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
Non-Patent Citations (2)
Title |
---|
C.P. TSANG. ETC: "Synthesizing neural network applications using computer algebra", 《PROCEEDINGS OF 1993 INTERNATIONAL CONFERENCE ON NEURAL NETWORKS (IJCNN-93-NAGOYA, JAPAN)》 * |
赵松年: "计算神经网络与智能计算机", 《物理》 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176727B (zh) | 计算装置以及计算方法 | |
CN109062611B (zh) | 神经网络处理装置及其执行向量缩放指令的方法 | |
KR102492477B1 (ko) | 행렬 곱셈기 | |
CN112799726A (zh) | 数据处理装置、方法及相关产品 | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
CN111860807A (zh) | 分形计算装置、方法、集成电路及板卡 | |
CN112416433A (zh) | 一种数据处理装置、数据处理方法及相关产品 | |
CN112686379A (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
CN112799599A (zh) | 一种数据存储方法、计算核、芯片和电子设备 | |
CN109753319B (zh) | 一种释放动态链接库的装置及相关产品 | |
CN111079908B (zh) | 片上网络数据处理方法、存储介质、计算机设备和装置 | |
CN111488963B (zh) | 神经网络计算装置和方法 | |
CN110059809B (zh) | 一种计算装置及相关产品 | |
CN111368967B (zh) | 一种神经网络计算装置和方法 | |
CN111047005A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111353124A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111368990B (zh) | 一种神经网络计算装置和方法 | |
CN112801276A (zh) | 数据处理方法、处理器及电子设备 | |
CN111368987B (zh) | 一种神经网络计算装置和方法 | |
CN111723920A (zh) | 人工智能计算装置及相关产品 | |
CN111367567A (zh) | 一种神经网络计算装置和方法 | |
CN111368986A (zh) | 一种神经网络计算装置和方法 | |
CN111078624A (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111384944B (zh) | 全加器、半加器、数据处理方法、芯片及电子设备 | |
CN111222632B (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 |