CN109522254A - 运算装置及方法 - Google Patents
运算装置及方法 Download PDFInfo
- Publication number
- CN109522254A CN109522254A CN201811440484.6A CN201811440484A CN109522254A CN 109522254 A CN109522254 A CN 109522254A CN 201811440484 A CN201811440484 A CN 201811440484A CN 109522254 A CN109522254 A CN 109522254A
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- matrix
- target data
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000011159 matrix material Substances 0.000 claims abstract description 312
- 230000015654 memory Effects 0.000 claims abstract description 263
- 230000005540 biological transmission Effects 0.000 claims abstract description 79
- 238000013500 data storage Methods 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 230000009191 jumping Effects 0.000 claims description 7
- 238000013501 data transformation Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000007667 floating Methods 0.000 claims description 3
- 210000004027 cell Anatomy 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000013459 approach Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 210000002364 input neuron Anatomy 0.000 description 3
- 210000004205 output neuron Anatomy 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/263—Language identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- 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
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/08—Learning methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4046—Scaling the whole image or part thereof using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4053—Super resolution, i.e. output image resolution higher than sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开提供了一种运算装置及方法,其中,该装置包括:存储器、标量数据存储单元、运算单元、控制单元和传输单元,所述传输单元,用于对目标数据进行传输,目标数据包括运算装置中的任一待传输的数据;传输单元包括寄存器模块和直接内存访问DMA控制模块,寄存器模块,用于存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;DMA控制模块,用于接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址,通过本公开的装置及方法,可以解决现有技术中存在的矩阵传送效率低下、多组数据交替传送时缺失过多的问题。
Description
技术领域
本发明涉及计算机科学技术领域,尤其涉及一种运算装置及方法。
背景技术
直接内存访问(Direct Memory Access,DMA)是计算机科学中的一种内存访问技术。它允许某些硬件子系统(外存储器)独立地直接读写系统内存,而不需CPU介入处理。在同等程度的处理器负担下,DMA是一种快速的数据传送方式。有时,数据除了往来处理器和外存储器之间之外,还需要在多个存储空间之间转移。我们并不希望让处理器在这种情况下也忙于数据拷贝,而DMA就可以负担起此类工作,减少了系统资源的占用。此外,DMA的传送能力并不总是用来移动数据,也可以用于将存储在外存储器中的将要运行的代码提前送入内存,加快执行效率。
DMA控制器需要指令支持,才能正确执行处理器布置的多种任务。对于任何类型的DMA传输,都需要规定源端地址、目标端地址和待传送数据的大小。这种类型的事务代表了简单的一维(“1D”)统一“跨度”(unity stride)的传输。不过,虽然1D DMA得到了广泛的应用,但用处更大的则是二维(2D)DMA,特别是在图像、视频等应用中。2DDMA可以简单地理解为一个嵌套的循环,亦即对一个矩阵的行和列分别操作,最终完成遍历,每一层循环都相当于一个1D DMA。
而更复杂的DMA装置往往会同时与多个外存储器相连,一段时间内CPU需要交替从这些外存储器中获取多组数据,这些数据是根据任务所需不时切换的,但在同组内又是连续的。这时DMA装置需要正确识别相关指令,确保同组数据的缓存尽可能命中,不受其他组的数据传送的影响。
发明内容
本发明实施例提供的一种运算装置及方法,在图像、视频处理的应用场景下极大地提升了数据传送的效率和规范程度,弥补了数据密集型计算任务的I/O短板。
第一方面,本申请实施例提供了一种运算装置,所述运算装置包括存储器、标量数据存储单元、运算单元、控制单元和传输单元,其中,
所述存储器,用于存储矩阵;
所述标量数据存储单元,用于存储标量数据,所述标量数据至少包括:所述矩阵在所述存储器内的存储地址;
所述控制单元,用于控制所述运算单元获取第一运算指令,所述第一运算指令包括执行所述第一运算指令所需的矩阵读取指示;
所述运算单元,用于依据所述矩阵读取指示向所述存储器发送读取命令;采用批量读取方式读取所述矩阵读取指示对应的矩阵,对该矩阵执行所述第一运算指令;
所述传输单元,用于对目标数据进行传输,所述目标数据包括所述运算装置中的任一待传输的数据;
所述传输单元包括寄存器模块和直接内存访问DMA控制模块,其中,
所述寄存器模块,用于存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块,用于接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块,还用于根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间;
其中,所述源存储器为所述目标数据的存储空间,所述目的存储器用于存储传输后的目标数据。
可选的,所述运算单元包括至少一个运算器,所述运算器包括:矩阵加法运算器、矩阵乘法运算器、大小比较运算器、非线性运算器和/或矩阵标量乘法运算器。
可选的,所述运算单元还用于对矩阵执行n级流水级运算,对所述矩阵执行n级流水级运算包括:
对所述矩阵执行第一流水级的计算,得到第一结果;
将所述第一结果输入到第二流水级,所述第二流水级对所述第一结果执行第二流水级的计算,得到第二结果;
重复上述步骤,直至执行完第n-1流水级的计算,得到第n-1计算结果,其中,n为大于1的正整数;
将所述第n-1计算结果输入到第n流水级,所述第n流水级对所述第n-1结果执行第n流水级的计算,得到第n结果,以及将所述第n结果输入到所述存储器。
可选的,若所述n=3,则所述第一流水级至少包括:矩阵加法计算器、矩阵乘法计算器;
所述第二流水级至少包括:大小比较计算器;
所述第三流水级至少包括:非线性运算器、矩阵标量乘法器。
可选的,所述控制单元还用于:
所述矩阵乘向量指令与矩阵乘向量指令之前的运算指令是否存在关联关系,若存在关联关系,将矩阵乘向量指令存储到缓存单元,若不存在关联关系,则通过传输单元将所述矩阵乘向量指令传输至运算单元。
可选的,所述控制单元包括:取指模块、译码模块和指令队列模块,其中,
所述取指模,用于从指令缓存单元中获取运算指令;
所述译码模块,用于对获取的运算指令进行译码;
所述指令队列,用于对译码后的运算指令进行顺序存储。
可选的,所述DMA控制模块具体用于:
根据所述DMA指令从所述寄存器模块中或者从所述DMA指令中获取所述每次传输目标数据的数据量;
根据所述每次传输目标数据的数据量将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间。
可选的,所述寄存器模块包括:
标量寄存器堆,用于存储数据规模、目标数据的源地址和目标数据的目的地址,目标数据在所述源地址的摆放间隔大小、目标数据在所述目的地址的摆放间隔大小、访问次数和数据变换规模;
其中所述数据规模为所述目标数据的每次传输的数据量、所述数据变换规模为所述目标数据进行数据变换的数据量。
可选的,所述目标数据的源地址和目的地址还标记所属的存储空间的类型,若所述存储空间是外存储器,则所述目标数据的源地址和目的地址还标记所属的流;若所述存储空间为内存储器,则所述目标数据的源地址和目的地址还标记所属内存储器的子模块;
其中,所述流为多组数据交替传送时的分组。
可选的,所述DMA指令为定长指令,所述DMA指令包括操作码和操作域,操作码用于指示该指令的功能,操作域用于指示该指令的数据地址;所述DMA指令包括数据传送指令和地址跳转指令;
所述数据传送指令第一操作域、第二操作域、第三操作域和第四操作域,和第五操作域,所述第一操作域用于指示目标数据的源地址所属的存储空间,所述第二操作域用于指示目标数据的源地址,所述第三操作域用于指示目标数据的目的地址所属的存储空间,所述第四操作域用于指示目标数据的目的地址;
所述地址跳转指令包括第五操作域和第六操作域,所述第五操作域用于指示地址寄存器的编号,所述第六操作域用于指示跳转值寄存器的编号;
其中,所述地址寄存器用于所述源地址,所述跳转值寄存器用于存储源地址的跳转值;
所述DMA指令还包括用于指示对目标数据进行数据转换的方式的操作域。
可选的,所述数据传输指令还包括第七操作域,所述第七操作域用于指示目标数据的每次传输的数据量。
可选的,所述运算装置还包括:
数据缓存单元,用于临时存储根据所述源地址从源存储器中读取的目标数据;
其中,所述数据缓存单元包括:
高速暂存存储器,用于支持不同大小的目标数据的传输,并写入所述目标存储器中所述目的地址对应的存储空间;
数据转换单元,用于对从源存储器中读取的目标数据作数据转换;
其中,所述数据转换包括但不限于数据精度转化、定浮点相互转换、数据排列方式转换、数据量大小转换;
地址映射单元,用于对源地址或是目的地址作地址的映射,用映射后的地址到对应的存储空间中取数据。
可选的,所述DMA控制模块包括指令单元、加法单元和读写单元,其中,
所述指令单元,用于处理所述原始直接内存访问指令,以得到处理后的DMA指令,其中,所述指令单元包括:
指令展开单元,用于将所述DMA指令展开为系统DMA指令;
指令缓存单元,用于存储所述系统DMA指令,所述指令缓存单元包括重排序缓存,所述重排序缓存用于存储所述系统DMA指令;
指令处理单元,用于处理所述指令缓存单元中的系统DMA指令;
所述加法单元,用于根据所述处理后的DMA指令,计算得到所述目标数据的源地址和所述目标数据的目的地址;
所述读写单元,用于根据所述目标数据的源地址从所述源存储器中读取所述目标数据,并将所述目标数据送至所述目的存储器中所述目标数据的目的地址对应的存储空间。
可选的,所述加法单元和读写单元为多流水级结构,所述加法单元处于第一流水级,所述读写单元在第二流水级。
可选的,当所述系统DMA指令执行完之后,如果该系统DMA指令同时也是所述指令缓存单元中未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对所述运算装置状态的改变将无法撤销。
第二方面,本申请实施例还提供了一种运算方法,包括:
存储器存储矩阵;
标量数据存储单元存储标量数据,所述标量数据至少包括:所述矩阵在所述存储器内的存储地址;
控制单元控制所述运算单元获取第一运算指令,所述第一运算指令包括执行所述第一运算指令所需的矩阵读取指示;
运算单元依据所述矩阵读取指示向所述存储器发送读取命令,以及采用批量读取方式读取所述矩阵读取指示对应的矩阵;
所述运算单元对所述矩阵执行所述第一运算指令中的运算方法,得到执行结果,以及将所述执行结果写入所述存储器的指定地址;
传输单元对目标数据进行传输,所述目标数据包括第一运算指令和矩阵;
所述传输单元包括寄存器模块和直接内存访问DMA控制模块,其中,
所述寄存器模块存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间,其中,所述源存储器为所述目标数据的存储空间,所述目的存储器用于存储传输后的目标数据。
可选的,矩阵执行所述第一运算指令中的运算方法,得到执行结果,包括:
对所述矩阵执行第一流水级的计算,得到第一结果;
将所述第一结果输入到第二流水级,所述第二流水级对所述第一结果执行第二流水级的计算,得到第二结果;
重复上述步骤,直至执行完第n-1流水级的计算,得到第n-1计算结果,其中,n为大于1的正整数;
将所述第n-1计算结果输入到第n流水级,所述第n流水级对所述第n-1结果执行第n流水级的计算,得到第执行结果。
可选的,所述方法还包括:
所述控制单元确定所述矩阵乘向量指令与矩阵乘向量指令之前的运算指令是否存在关联关系,若存在关联关系,将矩阵乘向量指令存储到缓存单元,若不存在关联关系,则通过传输单元将所述矩阵乘向量指令传输至运算单元。
可选的,所述方法还包括:
DMA控制模块根据所述DMA指令从所述寄存器模块中获取每次传输目标数据的数据量,并根据每次传输目标数据的数据量将所述待传输的目标数据传输至所述目的地址对应的空间。
可选的,所述DMA指令包括数据处理指令和地址跳转指令;
所述数据处理指令,用于指示DMA控制模块中的读写单元根据源地址从源存储器中读取一定大小的数,写入目的存储器中目的地址对应的存储空间中,数据规模可以从寄存器模块或上述DMA指令中获得;
所述地址跳转指令,用于指示DMA控制模块中的加法单元将寄存器模块中的任两个寄存器(包括一个地址寄存器和一个跳转值寄存器)中的值相加,然后写回到其中一个上述地址寄存器中,从而完成所述DMA指令中的换行操作;
其中,所述地址寄存器用于存储所述源地址,所述跳转值寄存器用于存储源地址的跳转值。
可选的,所述方法还包括:
数据缓存单元临时存储根据所述源地址从源存储器中读取的目标数据;
数据转换单元对从源存储器中读取的目标数据作数据转换;
地址映射单元对源地址或是目的地址作地址的映射,用映射后的地址到对应的存储空间中取数据。
可选的,所述方法还包括:
指令单元处理所述原始直接内存访问指令,以得到处理后的DMA指令;
加法单元根据所述处理后的DMA指令,计算得到所述目标数据的源地址和所述目标数据的目的地址;
读写单元根据所述目标数据的源地址从所述源存储器中读取所述目标数据,并将所述目标数据送至所述目的存储器中所述目标数据的目的地址对应的存储空间。
可选的,当系统DMA指令执行完之后,如果该系统DMA指令同时也是DMA控制模块中的指令缓存单元中,未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对目标数据传输的状态的改变将无法撤销。
本公开提供的运算装置,可以支持二维DMA指令,在图像、视频处理的应用场景下极大地提升了数据传送的效率和规范程度,弥补了数据密集型计算任务的I/O短板。同时,该装置还支持多组数据相互独立地交替传送,提升了并行数据处理任务中的缓存命中率。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例提供了一种计算装置的结构示意图;
图1B为本发明实施例提供了另一种计算装置的结构示意图;
图2为本发明实施例提供了一种矩阵计算装置的流程示意图;
图2A为本发明实施例提供了另一种计算装置的结构示意图;
图2B为本发明实施例提供了一种流水级的操作流程图;
图3为本发明实施例提功能了一种矩阵计算方法的流程示意图;
图4为本申请提供了一种指令集的格式示意图;
图5A为本申请实施例提供了一种运算装置的结构示意图;
图5B为本申请实施例提供了一种运算装置中的控制单元503的结构示意图;
图5C为本申请实施例提供了一种传输单元的结构示意图;
图6为本发明一优选实施例的具体结构示意图;
图7为本申请实施例提供了一种运算方法的流程示意图;
图8为本申请实施例提供了另一种运算方法的流程示意图;
图9为本发明实施例的指令集的格式示意图;
图10为本发明实施例的DMA控制模块执行2D DMA命令的流水线时空图。
具体实施方式
基于上述技术问题,本申请提供了一种运算装置,解决现有技术中存在的矩阵传送效率低下、多组数据交替传送时缺失过多的问题,从而使得2D DMA更广泛、高效地应用在图像、视频等应用中。
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请作进一步的详细说明。
需要说明的是,本申请具体实施方式中的矩阵具体可以为m*n矩阵、1*n矩阵或m*1矩阵,其中m、n为大于等于2的整数。当矩阵为1*n矩阵或m*1矩阵时,也可以称为向量,下述矩阵均可以为上述三种类型矩阵中的任意一种,下面不在赘述。在机器学习算法中,以人工神经网络算法为例,多种神经网络算法中都含有大量的矩阵运算。在神经网络中,输出神经元的运算表达式为y=f(wx+b),其中w是第一矩阵,x是第二矩阵、b是第三矩阵,计算输出矩阵y的过程为矩阵w与矩阵x相乘,加上矩阵b。因此,矩阵运算成为目前各种运算装置在设计时需要考虑的问题,现有的矩阵的计算速度慢,无法满足用户对运算装置的要求,效率低。
参阅图1A,图1A为一种计算装置,在如图1A所示的矩阵的计算装置中,其包含多个通用处理器101(CPU),每个CPU均包含自身的内存,其处理的方法可以为,多个CPU并行处理矩阵的计算,此方案虽在在矩阵的计算中采用并行处理的方式,但是其并不能有效的提高效率,因为对于矩阵运算中,第二矩阵运算的结果可能需要使用第一矩阵运算的结果,具体的,第一矩阵运算为f(1)=A+B,第二矩阵运算为:f(2)=f(1)+C,对于第二矩阵运算来说,其需要提取第一矩阵运算的结果f(1)才能够进行实际的矩阵计算处理,此种情况在神经网络计算中尤为突出,由于多个CPU并行处理矩阵运算,那么在矩阵计算的分配时,很有可能CPU1执行第一矩阵运算,CPU2执行第二矩阵运算,那么对于CPU2来说,其需要从CPU1提取第一矩阵运算的结果f(1),所以对于多CPU并行处理矩阵来说,多个CPU之间的通讯成为矩阵运算的瓶颈,影响矩阵计算的速度。
可选的,本申请实施例中计算装置和运算装置可以进行等同,即运算装置可以理解为计算装置,计算装置也可以理解为运算装置。
参阅图1B,图1B为另一种计算装置,在如图1B所示的计算装置中,其包含有图形处理器(GPU)102,通过GPU102来执行矩阵的运算,对于GPU来说,其本身也包含内存1021,GPU102在处理矩阵运算时,GPU102需要从内存1021中提取矩阵运算所需的矩阵,矩阵由于其数据量大,单个矩阵所占用的存储空间比标量要大很多,对于GPU102来说,虽然其运算能够非常强,但是GPU102的内存的容量不够,无法存储大量的矩阵,为了解决这个问题,图1B配置了片外数据库103,GPU102可以从片外数据库103中读取矩阵,具体的读取方式为,GPU102从片外数据库103中提取待计算的矩阵,将该矩阵存储在内存1021中,在执行矩阵运算时,进行矩阵指令的译码处理,然后从内存1021中提取该矩阵进行计算。此技术方案在执行矩阵计算中,GPU102进行矩阵指令的译码会占用GPU很大部分的计算能力,影响矩阵的计算速度,效率低。
本申请中提到的输入神经元和输出神经元并非是指整个神经网络的输入层中神经元和输出层中神经元,而是对于网络中任意相邻的两层,处于网络前馈运算下层中的神经元即为输入神经元,处于网络前馈运算上层中的神经元即为输出神经元。以卷积神经网络为例,设一个卷积神经网络有L层,K=1,2,...,L-1,对于第K层和第K+1层来说,我们将第K层称为输入层,其中的神经元为所述输入神经元,第K+1层称为输出层,其中的神经元为所述输出神经元。即除最顶层外,每一层都可以作为输入层,其下一层为对应的输出层。
本申请具体实施方式提供一种矩阵计算方法,该矩阵计算方法在如图2所示的运算装置内完成,如图2所示,该运算装置包括:
存储器201、用于存储矩阵。优选该存储器可以为高速暂存存储器,能够支持不同长度的矩阵数据;本申请将必要的计算数据暂存在存储器(优选的高速暂存存储器)上(Scratchpad Memory),使本运算装置在进行矩阵运算过程中可以更加灵活有效地支持不同长度的数据。上述存储器还可以为片外数据库、数据库或其他的能够存储的介质等等。
标量数据存储单元202(例如标量寄存器单元),用于存储标量数据,其中,该标量数据包括但不限于:矩阵数据在存储介质201的地址以及矩阵与标量运算时的标量。在一种实施方式中,标量寄存器单元可以是标量寄存器堆,提供运算过程中所需的标量寄存器,标量寄存器不只存放矩阵地址,还存放有标量数据。当涉及到矩阵与标量的运算时,运算单元不仅要从寄存器单元中获取矩阵地址,还要从寄存器单元中获取相应的标量。
运算单元203,用于获取并执行第一运算指令。如图2A所示,该运算单元包括多个运算器,该运算器包括但不限于:矩阵加法运算器231、矩阵乘法运算器232、大小比较运算器233、非线性运算器234和矩阵标量乘法运算器235。
该矩阵计算方法如图3所示,包括如下步骤:
步骤S301、运算单元203获取第一运算指令,所述第一运算指令包括:执行该指令所需的矩阵读取指示。
在步骤S301中,上述执行该指令所需的矩阵读取指示具体可以为多种,例如,在本申请一个可选的技术方案中,上述执行该指令所需的矩阵读取指示可以为所需矩阵的存储地址。又如,在本申请另一个可选的技术方案中,上述执行该指令所需的矩阵读取指示可以为所需矩阵的标识,该标识的表现形式可以为多种,例如,矩阵的名称,又如,矩阵的识别号,再如该矩阵在寄存器单元的寄存器号或地址,标识还可以包括矩阵的大小。
下面通过一个实际的例子来说明上述第一运算指令包含的执行该指令所需的矩阵读取指示,这里假设该矩阵运算公式为f(x)=A+B,其中,A、B均为矩阵。那么在第一运算指令中除了携带该矩阵运算公式外,还可以携带该矩阵运算公式所需矩阵的存储地址,具体的,例如A的存储地址为0000-0FFF,B的存储地址为1000-1FFF。又如,可以携带A以及B的标识,例如A的标识为0101,B的标识为1010。
步骤S302、运算单元203依据该矩阵读取指示向所述存储器201发送读取命令。
上述步骤S302的实现方法具体可以为:
如该矩阵读取指示可以为所需矩阵的存储地址,运算单元203向该存储器201发送该读取该存储地址的读取命令并采用批量读取方式获取对应的矩阵。
又如该矩阵读取指示可以为所需矩阵的标识时,运算单元203依据该标识从标量数据存储单元处采用单个读取方式读取该标识对应的存储地址,然后运算单元203向该存储器201发送该读取该存储地址的读取命令并采用批量读取方式获取对应的矩阵。
上述单个读取方式具体可以为,每次读取均为单个的数据,例如1bit或者多bit,1字节,4字节,8字节数据。此时设置单个读取方式的原因为,对于标量数据来说,其占用的容量非常小,如果采用批量数据读取方式,那么读取的数据量容易大于所需的数据的容量,这样会导致带宽的浪费,所以对于标量的数据这里采用单个读取方式来读取以减少带宽的浪费。
步骤S303、运算单元203采用批量读取方式读取该指示对应的矩阵,对该矩阵执行所述第一运算指令。
上述步骤S303中批量读取方式具体可以为,每次读取均为多个的数据,,即无论其所需的数据量是多少,其每次读取的均为多个的数据,此批量读取的数据方式非常适合大数据的读取,对于矩阵来说,由于其所占用的容量大,如果采用单个读取方式,其读取的速度会非常慢,所以这里采用批量读取方式来获取多个的数据从而快速读取矩阵数据,避免因为读取矩阵数据过慢影响矩阵计算速度的问题。
本申请提供的技术方案的运算装置设置有标量数据存储单元和存储器,其分别存储标量数据以及矩阵数据,并且本申请为两种存储器分配了单位读取方式以及批量读取方式,通过对矩阵数据的特点分配匹配其特征的数据读取方式,能够很好的利用带宽,避免因为带宽的瓶颈对矩阵计算速度的影响,另外,对于标量数据存储单元来说,由于其存储的为标量数据,设置了标量数据的读取方式,提高了带宽的利用率,所以本申请提供的技术方案能够很好的利用带宽,避免带宽对计算速度的影响,所以其具有计算速度快,效率高的优点。
可选的,上述对该矩阵执行所述第一运算指令具体可以为:
对该矩阵执行n级流水级计算,具体的,对该矩阵执行第一流水级的计算得到第一结果,将第一结果输入到第二流水级执行第二流水级的计算得到第二结果,将第二结果输入到第三流水级执行第三流水级计算得到第三结果,一级一级向下执行后,将所述第n-1结果输入到第n流水级执行第n流水级的计算得到第n结果,将所述第n结果输入到所述存储器。n可以为大于等于2的整数。如n=3为例,上述流水级的操作流程图如图2B所示。
上述第一流水级包括但不限于:矩阵加法计算器、矩阵乘法计算器等等。
上述第二流水级包括但不限于:大小比较计算器等等。
上述第三流水级包括但不限于:非线性运算器、矩阵标量乘法器等等。
将矩阵分三个流水级运算主要是为了提高运算的速度,对于矩阵的计算来说,例如采用如图1A所示的通用处理器在计算时,其运算的步骤具体可以为,处理器对矩阵进行计算得到第一结果,然后将第一结果存储在内存中,处理器从内存读取第一结果执行第二次计算得到第二结果,然后将第二结果存储在内存中,处理器从内从读取第二结果执行第三次计算得到第三结果,然后将第三结果存储在内存中。从上述计算的步骤可以看出,在通用处理器进行矩阵计算时,其并没有分流水级进行计算,那么每次计算完毕后均需要将计算完的数据进行保存,下次计算时需要再次读取,所以此方案需要重复存储读取多次数据,对于本申请的技术方案来说,第一流水级计算的第一结果直接进入第二流水级进行计算,第二流水级计算的第二结果直接进入到第三流水级进行计算,第一流水级与第二流水级计算的第一结果和第二结果无需存储,首先其减少了内存的占用空间,其次,其避免了结果的多次存储以及读取,提高了带宽的利用率,进一步提高了计算效率。
在本申请另一实施例中,可以自由组合各流水部件或者采取一级流水级。例如将第二个流水级和第三个流水级合并,或者将第一和第二以及第三个流水线都合并或者各个流水级负责不同的运算可以排列组合。例如,第一级流水负责比较运算,部分乘法运算,第二级流水负责非线性运算和矩阵标量乘法等组合。
可选的,上述运算装置还可以包括:缓存单元204,用于缓存第一运算指令。指令在执行过程中,同时也被缓存在缓存单元中,当一条指令执行完之后,如果该指令同时也是缓存单元中未被提交指令中最早的一条指令,该指令将被提交,一旦提交,该条指令进行的操作对装置状态的改变将无法撤销。在一种实施方式中,指令缓存单元可以是重排序缓存。
可选的,上述方法在步骤S301之前还可以包括:
确定该第一运算指令与第一运算指令之前的第二运算指令是否存在关联关系,如第一运算指令与第一运算指令之前的第二运算指令存在关联关系,则在第二运算指令执行完毕以后,从缓存单元中提取出该第一运算指令传递至运算单元203。如第一运算指令与该第一运算指令之前的指令无关联关系,则直接将第一运算指令传递至运算单元。
上述确定该第一运算指令与第一运算指令之前的第二运算指令是否存在关联关系的具体实现方法可以为:
依据该第一运算指令提取该第一运算指令中所需矩阵的第一存储地址区间,依据该第二运算指令提取该第二运算指令中所需矩阵的第二存储地址区间,如第一存储地址区间与第二存储地址区间具有重叠的区域,则确定第一运算指令与第二运算指令具有关联关系。如第一存储地址区间与第二存储地址区间无重叠的区域,则确定第一运算指令与第二运算指令不具有关联关系。
此存储地区区间中有重叠区域出现说明第一运算指令与第二运算指令访问了相同的矩阵,对于矩阵来说,由于其存储的空间比较大,比如采用相同的存储区域作为判断是否为关联关系的条件,可能出现的情况是,第二运算指令访问的存储区域包含了第一运算指令访问的存储区域,例如,第二运算指令访问A矩阵存储区域、B矩阵存储区域和C矩阵存储区域,如果A、B存储区域相邻或A、C存储区域相邻,则第二运算指令访问的存储区域为,A、B存储区域以及C存储区域,或A、C存储区域以及B存储区域。这种情况下,如果第一运算指令访问的为A矩阵与D矩阵的存储区域,那么第一运算指令访问的矩阵的存储区域无法与第二运算指令范文的矩阵的存储区域相同,如果采用相同的判断条件,则确定第一运算指令与第二运算指令不关联,但是实践证明,此时第一运算指令与第二运算指令属于关联关系,所以本申请通过是否有重叠区域来判断是否为关联关系的条件,能够避免上述情况的误判。
下面以一个实际的例子来说明何种情况属于关联关系,何种情况属于非关联关系。这里假设第一运算指令所需的矩阵为A矩阵和D矩阵,其中A矩阵的存储区域为【0001,0FFF】,D矩阵的存储区域为【A000,AFFF】,对于第二运算指令所需的矩阵为A矩阵、B矩阵和C矩阵,其分别对应的存储区域为【0001,0FFF】、【1000,1FFF】、【B000,BFFF】,对于第一运算指令来说,其对应的存储区域为:【0001,0FFF】、【A000,AFFF】,对于第二运算指令来说,其对应的存储区域为:【0001,1FFF】、【B000,BFFF】,所以第二运算指令的存储区域与第一运算指令的存储区域具有重叠区域【0001,0FFF】,所以第一运算指令与第二运算指令具有关联关系。
这里假设第一运算指令所需的矩阵为E矩阵和D矩阵,其中A矩阵的存储区域为【C000,CFFF】,D矩阵的存储区域为【A000,AFFF】,对于第二运算指令所需的矩阵为A矩阵、B矩阵和C矩阵,其分别对应的存储区域为【0001,0FFF】、【1000,1FFF】、【B000,BFFF】,对于第一运算指令来说,其对应的存储区域为:【C000,CFFF】、【A000,AFFF】,对于第二运算指令来说,其对应的存储区域为:【0001,1FFF】、【B000,BFFF】,所以第二运算指令的存储区域与第一运算指令的存储区域不具有重叠区域,所以第一运算指令与第二运算指令无关联关系。
图4是本申请提供的指令集的格式示意图,图4中的省略号表示可以包括多个寄存器或立即数。如图4所示,运算指令包括一操作码和至少一操作域,其中,操作码用于指示该运算指令的功能,运算单元通过识别该操作码可进行不同的矩阵运算,操作域用于指示该运算指令的数据信息,其中,数据信息可以是立即数或寄存器号,例如,要获取一个矩阵时,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储介质中获取相应地址存放的矩阵。
指令集包含有不同功能的运算指令:
矩阵乘向量指令(MMV),根据该指令,装置从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出设定长度的矩阵数据和向量数据,在运算单元中进行矩阵乘向量的乘法运算,并将结果写回。优选的,并将计算结果写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址;值得说明的是,向量可以作为特殊形式的矩阵(只有一行元素的矩阵)存储于存储器(优选的高速暂存存储器或者标量寄存器堆)中。
向量乘矩阵指令(VMM),根据该指令,装置从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出设定长度的向量数据和矩阵数据,在运算单元中进行向量乘矩阵的乘法运算,并将结果写回。优选的,并将计算结果写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址;值得说明的是,向量可以作为特殊形式的矩阵(只有一行元素的矩阵)存储于存储器(优选的高速暂存存储器或者标量寄存器堆)中。
矩阵乘标量指令(VMS),根据该指令,装置存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出设定长度的矩阵数据,从标量寄存器堆的指定地址中取出指定大小的矩阵数据,在运算单元中进行标量乘矩阵的乘法运算,并将计算结果写回。优选的,并将计算结果写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址,需要说明的是,标量寄存器堆不仅存储有矩阵的地址,还存储有标量数据。
张量运算指令(TENS),根据该指令,装置从存储器(优选的高速暂存存储器或者标量寄存器堆)的两个指定地址取出分别取出设定长度的两块矩阵数据,在运算单元中对两矩阵数据进行张量运算,并将计算结果写回。优选的,并将计算结果写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址。
矩阵加法指令(MA),根据该指令,装置从存储器(优选的高速暂存存储器或者标量寄存器堆)的两个指定地址取出分别取出设定长度的两块矩阵数据,在运算单元中对两矩阵进行加法运算,并将计算结果写回。优选的,并将计算结果写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址。
矩阵减法指令(MS),根据该指令,装置从存储器(优选的高速暂存存储器或者标量寄存器堆)的两个指定地址取出分别取出设定长度的两块矩阵数据,在运算单元中对两矩阵进行减法运算,并将计算结果写回。优选的,并将计算结果写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址。
矩阵检索指令(MR),根据该指令,装置从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出设定长度的向量数据,从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的矩阵数据,在运算单元中,该向量是索引向量,输出的向量中的第i个元素是以索引向量的第i个元素作为索引,在矩阵的第i列中找到的数,该输出向量写回至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址。
矩阵加载指令(ML),根据该指令,装置从指定外部源地址载入设定长度的数据至存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址。
矩阵存储指令(MS),根据该指令,装置将存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址的设定长度的矩阵数据存至外部目的地址处。
矩阵搬运指令(MMOVE),根据该指令,装置将存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址的设定长度的矩阵数据存至存储器(优选的高速暂存存储器或者标量寄存器堆)的另一指定地址处。
上述指令中的设定长度可以由用户自行设定,在一个可选的实施方案中,用户可以将该设置长度设置为一个值,当然在实际应用中,用户也可以将该设置长度设置为多个值。本申请具体实施方式并不限定该设定长度的具体值以及个数。为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
参阅图5A,图5A为本申请实施例提供了一种运算装置的结构示意图,如图所示的实施例中的具体实施方案、细化方案或技术效果可以参见图2或图3所示实施例中的描述,此处不再赘述。如图5A所示,该运算装置包括存储器501、标量数据存储单元502、运算单元503、控制单元504和传输单元506,其中,
所述存储器501,用于存储矩阵;
所述标量数据存储单元502,用于存储标量数据,所述标量数据至少包括:所述矩阵在所述存储器内的存储地址;
所述控制单元504,用于控制所述运算单元获取第一运算指令,所述第一运算指令包括执行所述第一运算指令所需的矩阵读取指示;
所述运算单元503,用于依据所述矩阵读取指示向所述存储器发送读取命令;采用批量读取方式读取所述矩阵读取指示对应的矩阵,对该矩阵执行所述第一运算指令;
所述传输单元506,用于对目标数据进行传输,所述目标数据包括所述运算装置中的任一待传输的数据;
所述传输单元包括寄存器模块和直接内存访问DMA控制模块,其中,
所述寄存器模块,用于存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块,用于接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块,还用于根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间;
其中,所述源存储器为所述目标数据的存储空间,所述目的存储器用于存储传输后的目标数据。
可选的,上述矩阵读取指示包括:所述指令所需的矩阵的存储地址或所述指令所需矩阵的标识。
可选的,如所述矩阵读取指示为所述指令所需矩阵的标识时,控制单元504,用于控制所述运算单元依据所述标识从所述寄存器单元采用单位读取方式读取所述标识对应的存储地址,控制所述运算单元向所述存储器发送读取所述存储地址的读取命令并采用批量读取方式获取所述矩阵。
可选的,运算单元503,具体用于对该矩阵执行第一流水级的计算得到第一结果,将第一结果输入到第二流水级执行第二流水级得到第二结果,将所述第二结果输入到第三流水级执行第三流水级得到第三结果,一级一级向下执行后,将所述第n-1结果输入到第n流水级执行第n流水级的计算得到第n结果,将所述第n结果输入到所述存储器。n可以为大于等于2的整数。
可选的,所述计算装置还包括:
缓存单元505,用于缓存待执行的运算指令;
所述控制单元504,用于将待执行的运算指令缓存于所述缓存单元504内。
可选的,控制单元504,用于确定所述第一运算指令与所述第一运算指令之前的第二运算指令是否存在关联关系,如所述第一运算指令与所述第二运算指令存在关联关系,则将所述第一运算指令缓存与所述缓存单元内,在所述第二运算指令执行完毕后,从所述缓存单元提取所述第一运算指令传输至所述运算单元;
所述确定该第一运算指令与第一运算指令之前的第二运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需矩阵的第一存储地址区间,依据所述第二运算指令提取所述第二运算指令中所需矩阵的第二存储地址区间,如所述第一存储地址区间与所述第二存储地址区间具有重叠的区域,则确定所述第一运算指令与所述第二运算指令具有关联关系,如所述第一存储地址区间与所述第二存储地址区间不具有重叠的区域,则确定所述第一运算指令与所述第二运算指令不具有关联关系。
可选的,上述控制单元503,可以用于从指令缓存单元获取运算指令,并对该运算指令进行处理后,提供给所述运算单元。其中,控制单元503可以划分为三个模块,如图5B所示,分别为:取指模块5031、译码模块5032和指令队列模块5033,
取指模5031,用于从指令缓存单元中获取运算指令;
译码模块5032,用于对获取的运算指令进行译码;
指令队列5033,用于对译码后的运算指令进行顺序存储,考虑到不同指令在包含的寄存器上有可能存在依赖关系,用于缓存译码后的指令,当依赖关系被满足之后发射指令。
可选的,请参阅图5C,图5C为本申请实施例提供了一种传输单元的结构示意图。如图5C所示,传输单元包括寄存器模块和DMA控制模块,
所述寄存器模块,用于存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块,用于接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块,还用于根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间。
需要说明的是,上述源存储器为上述目标数据的存储空间,上述目的存储器用于存储传输后的目标数据。上述源存储器可为内寄存器或者外部寄存器,上述目的存储器可为内寄存器或者外部寄存器,且该源存储器和目的存储器可为同一存储空间,也可为不同的存储空间。
上述寄存器模块包括:
标量寄存器堆包括提供目标数据传输过程中所需的地址寄存器、存储目标数据规模的寄存器和存储数据量等参数的寄存器。标量寄存器堆可以用于存储目标数据地址、目标数据规模等信息。
其中,目标数据地址为数据在内存或外存储器中存储的地址,即上述目标数据的源地址和目的地址;目标数据规模为目标数据在内存或外存储器中存储的行、列大小;还可为上述目标数据在计算机中存储的字节数、比特数等。
需要说明的是,上述目标数据为图像数据或者视频数据,但是最终以图像数据的形式存储于源存储器中。图像数据存储于源存储器中的最小单位为图像数据的一个像素点,以RGB的形式。对于图像数据,可以看成M行N列的像素点。
上述DMA控制模块,用于接收DMA指令,并根据DMA指令,从上述寄存器模块中获取目标数据的源地址,目的地址和每次传输目标数据的数据量;或者从上述DMA指令中获取上述目标数据的源地址,目的地址和每次传输目标数据的数据量;
根据上述目标数据的源地址,从上述源存储器中获取上述目标数据;
根据上述每次传输目标数据的数据量将上述目标数据传输至目的存储器中上述目的地址对应存储空间。
如图6所示,上述DMA控制模块包括:
指令单元,用于处理原始DMA指令,得到处理后的DMA指令;
加法单元,用于根据上述处理后的DMA指令,计算得到目标数据的源地址和目标数据的目的地址;
读写单元,用于根据所述源地址从上述源存储器中读取上述目标数据,并根据上述目标数据的目的地址将上述目标数据写入上述目的存储器中。
进一步地,上述读取单元根据处理后的DMA指令从上述寄存器模块中获取每次传输目标数据的数据量,并根据该每次传输目标数据的数据量分多次将上述目标数据传输至上述目的存储器中。
其中,上述加法单元和上述读写单元为多流水级结构,且上述加法单元处于第一流水级,上述读写单元在第二流水级。当连续串行的多条DMA指令到达时,可以更加高效地实现这一连串DMA指令所要求的操作。DMA控制模块负责上述运算装置的所有DMA操作,包括但不限于一维读取操作、一维写入操作、二维读取操作和二维写入操作。
进一步地,指令单元包括:
指令展开单元,用于将原始DMA指令展开为系统DMA指令,该系统DMA指令是DMA控制模块的控制指令。
当需要DMA传送目标数据时,则上述DMA控制模块收到DMA指令命令,该DMA指令表明所需目标数据的源地址、目标数据的目的地址和大小。其中,该源地址和目的地址还需要标记所属的存储空间,是内存还是外存储器,如果是外存储器,还需要标记所属的流。这里的“流”即前述多组数据交替传送时的分组,处理器对全部数据的需求可能是不连续的,但对某个特定的流来说,很可能是连续的。
指令缓存单元,用于存储系统DMA指令,即在执行DMA指令过程中,同时也被缓存在指令缓存单元中。当一条指令执行完之后,如果该指令同时也是指令缓存单元中未被提交指令中最早的一条指令,该指令将被提交,一旦提交,该条指令进行的操作对装置状态的改变将无法撤销。
在一种实施方式中,上述指令缓存单元可以是重排序缓存,也可以是其他缓存单元。
指令处理单元,用于处理指令缓存单元中的系统DMA指令。
其中,指令处理单元可以包括:
取指单元,用于从指令缓存单元中获取系统DMA指令;
译码单元,用于对系统DMA指令进行译码;
指令队列,用于对译码后的系统直接内存访问指令进行顺序存储。
此外,DMA控制模块还可以用于根据DMA指令,从处理器模块中的原始数据中获取目标数据传送至存储器模块中未存储该目标数据的位置,或者从处理器模块中的处理数据中获取目标数据并传输至存储器模块。
需要说明的是,上述处理器模块可为源存储器,上述存储器模块中未存储该目标数据的位置为目的存储器或者上述存储器模块为目的存储器。
上述运算装置还可以包括数据缓存单元,用于与源地址存储空间的内存及DMA控制模块进行数据传输,数据缓存单元可以为高速暂存存储器,可支持不同大小数据的传输,将待写入的数据暂存在高速暂存存储器中,稍后用于真正地写入存储器模块中。
上述运算装置还可以包括数据转换单元,用于对从源存储器中取出的数据作数据转换,其中数据转换包括但不限于数据精度转化、定浮点相互转换、数据排列方式转换、数据量大小转换。
在一种可行的实施例中,上述读写单元获取上述目标数据和该目标数据的目的地址后,直接根据目标数据的目的地址将目标数据写入目的存储器中。
在一种可行的实施例中,上述读写单元获取上述目标数据和该目标数据的目的地址后,将该目标数据及其目的地址传输至上述数据转换单元,该数据转换单元将该目标数据进行处理后,直接根据目标数据的目的地址将目标数据写入目的存储器中。
在一种可行的实施例中,上述读写单元获取上述目标数据和该目标数据的目的地址后,将该目标数据及其目的地址传输至上述数据转换单元,该数据转换单元将该目标数据进行处理后,将转换后的目标数据及其目的地址存储在上述数据缓存单元中。该数据缓存单元根据目标数据的目的地址将目标数据写入目的存储器中。
上述运算装置还可以包括地址映射单元,用于当源地址为虚拟地址时,对源地址作地址映射,将源地址转换为源地址对应的物理地址;当目的地址为虚拟地址时,对目的地址作地址映射,将目的地址转换为目的地址对应的物理地址。
本申请实施例提供的装置的DMA指令集采用载入/存储(Load/Store)结构,读写单元不会对内存中的数据进行操作。优选的,DMA指令集采用定长指令。
本申请实施例的另一方面,还提供了一种运算方法。请参阅图7,图7为本申请实施例提供了一种运算方法的流程示意图。如图7所示,运算方法包括如下步骤:
701、运算装置控制取指模块取出矩阵乘向量指令,并通过传输单元将所述矩阵乘向量指令传输至译码模块,其中,传输单元将所述矩阵乘向量指令传输至译码模块包括:
根据接收到的DMA指令获取所述矩阵乘向量指令的原地址和目的地址;
根据所述矩阵乘向量指令的源地址从源存储器中获取所述矩阵乘向量指令,所述源存储器为所述矩阵乘向量指令的存储空间;
将所述矩阵乘向量指令存储至译码模块中的存储器中所述矩阵乘向量指令的目的地址对应的存储空间。
具体的,上述运算装置接收DMA指令,根据该DMA指令从寄存器模块获取上述的矩阵乘向量指令的源地址和目的地址,或者从DMA指令中获取该矩阵乘向量指令的源地址和目的地址。
需要说明的是,上述寄存器模块存储有上述矩阵乘向量指令存储的源地址、目的地址及每次传输矩阵乘向量指令的数据量。
可选地,上述运算装置根据上述DMA指令从上述寄存器模块中获取每次传输矩阵乘向量指令的数据量。
具体地,所有的数据预先存储在特定的源存储器中,该源存储器可以包括芯片内部的各个存储模块和外部的存储模块。上述运算装置根据获取到的矩阵乘向量指令的源地址,从上述源存储器中获取所述矩阵乘向量指令。
在一种可行的实施例中,在根据所述矩阵乘向量指令的源地址获取所述矩阵乘向量指令之前,当确定上述矩阵乘向量指令的源地址为虚拟地址时,上述运算装置对该矩阵乘向量指令的源地址进行地址映射,得到上述源地址的物理地址。上述运算装置根据上述源地址的物理地址从上述源存储器中获取上述矩阵乘向量指令。
具体地,上述运算装置从寄存器模块或从DMA指令的字段中获取矩阵乘向量指令的目的地址后,根据矩阵的目的地址将上述矩阵乘向量指令传输至目的存储器。其中,该目的存储器可以包括芯片内部的各个存储模块和外部的存储模块。
其中,上述源存储器和上述目的存储器不为同一寄存器。
702、所述译码模块对所述矩阵乘向量指令进行译码,并将所述矩阵乘向量指令传输至指令队列。
703、在所述指令队列中,所述矩阵乘向量指令从标量寄存器堆中获取指令中的五个操作域所对应的标量寄存器中的数据,所述数据包括输入向量地址、输入向量长度、输入矩阵地址、输出向量地址和输出向量长度。
704、控制单元确定所述矩阵乘向量指令与矩阵乘向量指令之前的运算指令是否存在关联关系,若存在关联关系,将矩阵乘向量指令存储到缓存单元,若不存在关联关系,则通过传输单元将所述矩阵乘向量指令传输至运算单元。
705、所述运算单元根据所述五个操作域所对应的标量寄存器里的数据从高速暂存器中取出需要的矩阵和向量数据,然后在运算单元中完成乘法运算,得到运算结果。
706、所述运算单元将所述运算结果写入存储器的指定地址,重排序缓存中的该矩阵乘向量指令被提交。
在一种可行的实施例中,上述运算装置根据上述每次传输矩阵乘向量指令的数据量分多次将上述矩阵乘向量指令传输至上述目的存储器中上述目的地址对应的存储空间中。
在一种可行的实施例中,在根据矩阵乘向量指令的目的地址将所述矩阵乘向量指令传输至目的存储器之前,确定上述矩阵乘向量指令的目的地址为虚拟地址时,上述运算装置对上述目的地址进行地址映射,将该目的地址转换成该目的地址对应的物理地址。上述运算装置根据上述目的地址对应的物理地址将上述矩阵乘向量指令传输至上述目的存储器中。
在一种可行的实施中,上述运算装置根据上述每次传输矩阵乘向量指令的数据量分多次将上述矩阵乘向量指令传输至上述目的存储器中上述目的地址对应的物理地址对应的存储空间中。
本申请实施例的另一方面,还提供了另一种运算方法。请参阅图8,图8为本申请实施例提供了一种运算方法的流程示意图。如图8所示,运算方法包括如下步骤:
801、存储器存储矩阵;
802、标量数据存储单元存储标量数据,所述标量数据至少包括:所述矩阵在所述存储器内的存储地址;
803、控制单元控制所述运算单元获取第一运算指令,所述第一运算指令包括执行所述第一运算指令所需的矩阵读取指示;
804、运算单元依据所述矩阵读取指示向所述存储器发送读取命令,以及采用批量读取方式读取所述矩阵读取指示对应的矩阵;
805、所述运算单元对所述矩阵执行所述第一运算指令中的运算方法,得到执行结果,以及将所述执行结果写入所述存储器的指定地址;
806、传输单元对目标数据进行传输,所述目标数据包括第一运算指令和矩阵。
需要说明的是,步骤806为对数据进行传输,其与步骤801至步骤805并无执行先后顺序,步骤806在需要对数据进行传输时执行。
可选的,目标数据还可以第一运算指令和矩阵之外的任意需要进行传输的数据。
其中,所述目标数据包括第一运算指令和矩阵,所述传输单元包括寄存器模块和直接内存访问DMA控制模块,传输单元对目标数据进行传输包括:
所述寄存器模块存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间,其中,所述源存储器为所述目标数据的存储空间,所述目的存储器用于存储传输后的目标数据。
可选的,矩阵执行所述第一运算指令中的运算方法,得到执行结果,包括:
对所述矩阵执行第一流水级的计算,得到第一结果;
将所述第一结果输入到第二流水级,所述第二流水级对所述第一结果执行第二流水级的计算,得到第二结果;
重复上述步骤,直至执行完第n-1流水级的计算,得到第n-1计算结果,其中,n为大于1的正整数;
将所述第n-1计算结果输入到第n流水级,所述第n流水级对所述第n-1结果执行第n流水级的计算,得到第执行结果。
可选的,所述方法还包括:
所述控制单元确定所述矩阵乘向量指令与矩阵乘向量指令之前的运算指令是否存在关联关系,若存在关联关系,将矩阵乘向量指令存储到缓存单元,若不存在关联关系,则通过传输单元将所述矩阵乘向量指令传输至运算单元。
可选的,所述方法还包括:
DMA控制模块根据所述DMA指令从所述寄存器模块中获取每次传输目标数据的数据量,并根据每次传输目标数据的数据量将所述待传输的目标数据传输至所述目的地址对应的空间。
可选的,所述DMA指令包括数据处理指令和地址跳转指令;
所述数据处理指令,用于指示DMA控制模块中的读写单元根据源地址从源存储器中读取一定大小的数,写入目的存储器中目的地址对应的存储空间中,数据规模可以从寄存器模块或上述DMA指令中获得;
所述地址跳转指令,用于指示DMA控制模块中的加法单元将寄存器模块中的任两个寄存器(包括一个地址寄存器和一个跳转值寄存器)中的值相加,然后写回到其中一个上述地址寄存器中,从而完成所述DMA指令中的换行操作;
其中,所述地址寄存器用于存储所述源地址,所述跳转值寄存器用于存储源地址的跳转值。
可选的,所述方法还包括:
数据缓存单元临时存储根据所述源地址从源存储器中读取的目标数据;
数据转换单元对从源存储器中读取的目标数据作数据转换;
地址映射单元对源地址或是目的地址作地址的映射,用映射后的地址到对应的存储空间中取数据。
可选的,所述方法还包括:
指令单元处理所述原始直接内存访问指令,以得到处理后的DMA指令;
加法单元根据所述处理后的DMA指令,计算得到所述目标数据的源地址和所述目标数据的目的地址;
读写单元根据所述目标数据的源地址从所述源存储器中读取所述目标数据,并将所述目标数据送至所述目的存储器中所述目标数据的目的地址对应的存储空间。
可选的,当系统DMA指令执行完之后,如果该系统DMA指令同时也是DMA控制模块中的指令缓存单元中,未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对目标数据传输的状态的改变将无法撤销。
图9示意性示出了本公开实施例的指令集的格式示意图,如图9所示,每条指令包括一个操作码和五个操作域,其中,操作码用于指示该指令的功能,DMA控制模块通过识别该操作码可进行相应的操作,操作域用于指示该指令的数据地址信息。指令集包含有不同功能的DMA指令:
DTT指令:根据该指令,读写单元从源地址读出一个字,写入目的地址,同时也写入数据缓存单元。数据传送指令包括五个操作域,分别为第一操作域、第二操作域、第三操作域、第四操作域和第五操作域。其中,上述第一操作域用于指示矩阵的源地址所属的存储空间,上述第二操作域用于指示矩阵的源地址,上述第三操作域用于指示矩阵的目的地址所属的存储空间,上述第四操作域用于指示矩阵的目的地址,上述第五操作域用于指示矩阵的每次传输矩阵的数据量。每条指令完成一个字大小的数据的传送。
ADJ指令:根据该指令,上述加法单元将上述寄存器模块中的任两个寄存器(包括一个地址寄存器和一个跳转值寄存器)中的值相加,然后写回到其中一个上述地址寄存器中,从而完成2D DMA任务中的换行操作。
上述地址寄存器用于存储所述源地址,上述跳转值寄存器用于存储源地址的跳转值。
上述ADJ指令包括两个操作域,,分别为第六操作域和第七操作域。其中,第六操作域用于指示地址寄存器的编号,第七操作域用于指示第跳转值寄存器的编号。上述ADJ指令将地址寄存器中的值加上跳转值寄存器中的值后,并将结果写回上述地址寄存器中。
图10示意性示出了本公开实施例的DMA控制模块执行2D DMA命令的流水线时空图,如图7所示,假设该2D DMA命令需要传送一块大小为3×3的数据,则整个过程一共需要9拍。也就是说,若该2D DMA命令传送的数据块大小为m×n,其中,m,n均为正整数,此时,本公开实施例的数据传输过程一共需要m×n拍。
需要说明的是,上述一拍为上述运算装置的一个时钟周期。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (23)
1.一种运算装置,其特征在于,所述运算装置包括存储器、标量数据存储单元、运算单元、控制单元和传输单元,其中,
所述存储器,用于存储矩阵;
所述标量数据存储单元,用于存储标量数据,所述标量数据至少包括:所述矩阵在所述存储器内的存储地址;
所述控制单元,用于控制所述运算单元获取第一运算指令,所述第一运算指令包括执行所述第一运算指令所需的矩阵读取指示;
所述运算单元,用于依据所述矩阵读取指示向所述存储器发送读取命令;采用批量读取方式读取所述矩阵读取指示对应的矩阵,对该矩阵执行所述第一运算指令;
所述传输单元,用于对目标数据进行传输,所述目标数据包括所述运算装置中的任一待传输的数据;
所述传输单元包括寄存器模块和直接内存访问DMA控制模块,其中,
所述寄存器模块,用于存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块,用于接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块,还用于根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间;
其中,所述源存储器为所述目标数据的存储空间,所述目的存储器用于存储传输后的目标数据。
2.根据权利要求1所述的装置,其特征在于,所述运算单元包括至少一个运算器,所述运算器包括:矩阵加法运算器、矩阵乘法运算器、大小比较运算器、非线性运算器和/或矩阵标量乘法运算器。
3.根据权利要求1或2所述的装置,其特征在于,所述运算单元还用于对矩阵执行n级流水级运算,对所述矩阵执行n级流水级运算包括:
对所述矩阵执行第一流水级的计算,得到第一结果;
将所述第一结果输入到第二流水级,所述第二流水级对所述第一结果执行第二流水级的计算,得到第二结果;
重复上述步骤,直至执行完第n-1流水级的计算,得到第n-1计算结果,其中,n为大于1的正整数;
将所述第n-1计算结果输入到第n流水级,所述第n流水级对所述第n-1结果执行第n流水级的计算,得到第n结果,以及将所述第n结果输入到所述存储器。
4.根据权利要求3所述的装置,其特征在于,若所述n=3,则所述第一流水级至少包括:矩阵加法计算器、矩阵乘法计算器;
所述第二流水级至少包括:大小比较计算器;
所述第三流水级至少包括:非线性运算器、矩阵标量乘法器。
5.根据权利要求1至4任一项所述的装置,其特征在于,所述控制单元还用于:
所述矩阵乘向量指令与矩阵乘向量指令之前的运算指令是否存在关联关系,若存在关联关系,将矩阵乘向量指令存储到缓存单元,若不存在关联关系,则通过传输单元将所述矩阵乘向量指令传输至运算单元。
6.根据权利要求1所述的装置,其特征在于,所述控制单元包括:取指模块、译码模块和指令队列模块,其中,
所述取指模,用于从指令缓存单元中获取运算指令;
所述译码模块,用于对获取的运算指令进行译码;
所述指令队列,用于对译码后的运算指令进行顺序存储。
7.根据权利要求1-6任一项所述的装置,其特征在于,所述DMA控制模块具体用于:
根据所述DMA指令从所述寄存器模块中或者从所述DMA指令中获取所述每次传输目标数据的数据量;
根据所述每次传输目标数据的数据量将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间。
8.根据权利要求7所述的装置,其特征在于,所述寄存器模块包括:
标量寄存器堆,用于存储数据规模、目标数据的源地址和目标数据的目的地址,目标数据在所述源地址的摆放间隔大小、目标数据在所述目的地址的摆放间隔大小、访问次数和数据变换规模;
其中所述数据规模为所述目标数据的每次传输的数据量、所述数据变换规模为所述目标数据进行数据变换的数据量。
9.根据权利要求1-8任一项所述的装置,其特征在于,所述目标数据的源地址和目的地址还标记所属的存储空间的类型,若所述存储空间是外存储器,则所述目标数据的源地址和目的地址还标记所属的流;若所述存储空间为内存储器,则所述目标数据的源地址和目的地址还标记所属内存储器的子模块;
其中,所述流为多组数据交替传送时的分组。
10.根据权利要求9所述的装置,其特征在于,所述DMA指令为定长指令,所述DMA指令包括操作码和操作域,操作码用于指示该指令的功能,操作域用于指示该指令的数据地址;所述DMA指令包括数据传送指令和地址跳转指令;
所述数据传送指令第一操作域、第二操作域、第三操作域和第四操作域,和第五操作域,所述第一操作域用于指示目标数据的源地址所属的存储空间,所述第二操作域用于指示目标数据的源地址,所述第三操作域用于指示目标数据的目的地址所属的存储空间,所述第四操作域用于指示目标数据的目的地址;
所述地址跳转指令包括第五操作域和第六操作域,所述第五操作域用于指示地址寄存器的编号,所述第六操作域用于指示跳转值寄存器的编号;
其中,所述地址寄存器用于所述源地址,所述跳转值寄存器用于存储源地址的跳转值;
所述DMA指令还包括用于指示对目标数据进行数据转换的方式的操作域。
11.根据权利要求10所述的装置,其特征在于,所述数据传输指令还包括第七操作域,所述第七操作域用于指示目标数据的每次传输的数据量。
12.根据权利要求1-11任一项所述的装置,其特征在于,所述运算装置还包括:
数据缓存单元,用于临时存储根据所述源地址从源存储器中读取的目标数据;
其中,所述数据缓存单元包括:
高速暂存存储器,用于支持不同大小的目标数据的传输,并写入所述目标存储器中所述目的地址对应的存储空间;
数据转换单元,用于对从源存储器中读取的目标数据作数据转换;
其中,所述数据转换包括但不限于数据精度转化、定浮点相互转换、数据排列方式转换、数据量大小转换;
地址映射单元,用于对源地址或是目的地址作地址的映射,用映射后的地址到对应的存储空间中取数据。
13.根据权利要求1-6任一项所述的装置,其特征在于,所述DMA控制模块包括指令单元、加法单元和读写单元,其中,
所述指令单元,用于处理所述原始直接内存访问指令,以得到处理后的DMA指令,其中,所述指令单元包括:
指令展开单元,用于将所述DMA指令展开为系统DMA指令;
指令缓存单元,用于存储所述系统DMA指令,所述指令缓存单元包括重排序缓存,所述重排序缓存用于存储所述系统DMA指令;
指令处理单元,用于处理所述指令缓存单元中的系统DMA指令;
所述加法单元,用于根据所述处理后的DMA指令,计算得到所述目标数据的源地址和所述目标数据的目的地址;
所述读写单元,用于根据所述目标数据的源地址从所述源存储器中读取所述目标数据,并将所述目标数据送至所述目的存储器中所述目标数据的目的地址对应的存储空间。
14.根据权利要求13所述的装置,其特征在于,所述加法单元和读写单元为多流水级结构,所述加法单元处于第一流水级,所述读写单元在第二流水级。
15.根据权利要求1-14任一项所述的装置,其特征在于,当所述系统DMA指令执行完之后,如果该系统DMA指令同时也是所述指令缓存单元中未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对所述运算装置状态的改变将无法撤销。
16.一种运算方法,其特征在于,包括步骤:
存储器存储矩阵;
标量数据存储单元存储标量数据,所述标量数据至少包括:所述矩阵在所述存储器内的存储地址;
控制单元控制所述运算单元获取第一运算指令,所述第一运算指令包括执行所述第一运算指令所需的矩阵读取指示;
运算单元依据所述矩阵读取指示向所述存储器发送读取命令,以及采用批量读取方式读取所述矩阵读取指示对应的矩阵;
所述运算单元对所述矩阵执行所述第一运算指令中的运算方法,得到执行结果,以及将所述执行结果写入所述存储器的指定地址;
传输单元对目标数据进行传输,所述目标数据包括第一运算指令和矩阵;
所述传输单元包括寄存器模块和直接内存访问DMA控制模块,其中,
所述寄存器模块存储目标数据在源存储器中存储的源地址、所述目标数据在目的存储器中存储的目的地址和每次传输目标数据的数据量;
所述DMA控制模块接收DMA指令,并根据所述DMA指令从所述寄存器模块或所述DMA指令获取目标数据的源地址和目的地址;
所述DMA控制模块根据所述目标数据的源地址从所述源存储器中获取所述目标数据,并将所述目标数据传输至所述目的存储器中所述目标数据的目的地址对应的存储空间,其中,所述源存储器为所述目标数据的存储空间,所述目的存储器用于存储传输后的目标数据。
17.根据权利要求16所述的方法,其特征在于,矩阵执行所述第一运算指令中的运算方法,得到执行结果,包括:
对所述矩阵执行第一流水级的计算,得到第一结果;
将所述第一结果输入到第二流水级,所述第二流水级对所述第一结果执行第二流水级的计算,得到第二结果;
重复上述步骤,直至执行完第n-1流水级的计算,得到第n-1计算结果,其中,n为大于1的正整数;
将所述第n-1计算结果输入到第n流水级,所述第n流水级对所述第n-1结果执行第n流水级的计算,得到第执行结果。
18.根据权利要求16或17所述的方法,其特征在于,所述方法还包括:
所述控制单元确定所述矩阵乘向量指令与矩阵乘向量指令之前的运算指令是否存在关联关系,若存在关联关系,将矩阵乘向量指令存储到缓存单元,若不存在关联关系,则通过传输单元将所述矩阵乘向量指令传输至运算单元。
19.根据权利要求16所述的方法,其特征在于,所述方法还包括:
DMA控制模块根据所述DMA指令从所述寄存器模块中获取每次传输目标数据的数据量,并根据每次传输目标数据的数据量将所述待传输的目标数据传输至所述目的地址对应的空间。
20.根据权利要求16所述的方法,其特征在于,所述DMA指令包括数据处理指令和地址跳转指令;
所述数据处理指令,用于指示DMA控制模块中的读写单元根据源地址从源存储器中读取一定大小的数,写入目的存储器中目的地址对应的存储空间中,数据规模可以从寄存器模块或上述DMA指令中获得;
所述地址跳转指令,用于指示DMA控制模块中的加法单元将寄存器模块中的任两个寄存器(包括一个地址寄存器和一个跳转值寄存器)中的值相加,然后写回到其中一个上述地址寄存器中,从而完成所述DMA指令中的换行操作;
其中,所述地址寄存器用于存储所述源地址,所述跳转值寄存器用于存储源地址的跳转值。
21.根据权利要求16-20任一项所述的方法,其特征在于,所述方法还包括:
数据缓存单元临时存储根据所述源地址从源存储器中读取的目标数据;
数据转换单元对从源存储器中读取的目标数据作数据转换;
地址映射单元对源地址或是目的地址作地址的映射,用映射后的地址到对应的存储空间中取数据。
22.根据权利要求16所述的方法,其特征在于,所述方法还包括:
指令单元处理所述原始直接内存访问指令,以得到处理后的DMA指令;
加法单元根据所述处理后的DMA指令,计算得到所述目标数据的源地址和所述目标数据的目的地址;
读写单元根据所述目标数据的源地址从所述源存储器中读取所述目标数据,并将所述目标数据送至所述目的存储器中所述目标数据的目的地址对应的存储空间。
23.根据权利要求16-22任一项所述的方法,其特征在于,当系统DMA指令执行完之后,如果该系统DMA指令同时也是DMA控制模块中的指令缓存单元中,未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对目标数据传输的状态的改变将无法撤销。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811440484.6A CN109522254B (zh) | 2017-10-30 | 2017-10-30 | 运算装置及方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811440484.6A CN109522254B (zh) | 2017-10-30 | 2017-10-30 | 运算装置及方法 |
CN201711036374.9A CN109726806A (zh) | 2017-10-30 | 2017-10-30 | 信息处理方法及终端设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711036374.9A Division CN109726806A (zh) | 2017-10-30 | 2017-10-30 | 信息处理方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522254A true CN109522254A (zh) | 2019-03-26 |
CN109522254B CN109522254B (zh) | 2022-04-12 |
Family
ID=61645528
Family Applications (48)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711212122.7A Pending CN107833176A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201711244020.3A Active CN109725936B (zh) | 2017-10-30 | 2017-10-30 | 扩展计算指令的实现方法以及相关产品 |
CN201810801238.2A Pending CN109003603A (zh) | 2017-10-30 | 2017-10-30 | 语音识别方法及相关产品 |
CN201711212991.XA Pending CN107992486A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810849492.XA Pending CN108874445A (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行向量点积指令的方法 |
CN201810849488.3A Active CN109034383B (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行矩阵相乘指令的方法 |
CN201810849479.4A Pending CN109063830A (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量范数指令的方法 |
CN201810800665.9A Pending CN108898554A (zh) | 2017-10-30 | 2017-10-30 | 提高图像分辨率的方法及相关产品 |
CN201711212123.1A Pending CN107993206A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810849483.0A Active CN109062606B (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量缩放指令的方法 |
CN201711212995.8A Pending CN107832845A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201711212660.6A Active CN107895191B (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810801239.7A Pending CN109034382A (zh) | 2017-10-30 | 2017-10-30 | 场景或物体的识别方法及相关产品 |
CN201811440571.1A Active CN109542515B (zh) | 2017-10-30 | 2017-10-30 | 运算装置及方法 |
CN201811440484.6A Active CN109522254B (zh) | 2017-10-30 | 2017-10-30 | 运算装置及方法 |
CN201810849491.5A Pending CN109063831A (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行向量加和指令的方法 |
CN201810849480.7A Active CN108984211B (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行吉文斯旋转指令的方法 |
CN201810849497.2A Active CN109086074B (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量复制指令的方法 |
CN201811436410.5A Active CN109542514B (zh) | 2017-10-30 | 2017-10-30 | 运算指令的实现方法以及相关产品 |
CN201711212125.0A Pending CN107832804A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810800664.4A Pending CN109064384A (zh) | 2017-10-30 | 2017-10-30 | 物体检测方法及相关产品 |
CN201810799987.6A Pending CN109117947A (zh) | 2017-10-30 | 2017-10-30 | 轮廓检测方法及相关产品 |
CN201810849486.4A Pending CN109062539A (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行向量乘加指令的方法 |
CN201810799954.1A Pending CN108986022A (zh) | 2017-10-30 | 2017-10-30 | 图像美化方法及相关产品 |
CN201810799988.0A Active CN109003132B (zh) | 2017-10-30 | 2017-10-30 | 广告推荐方法及相关产品 |
CN201810849499.1A Active CN109086075B (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行矩阵乘向量指令的方法 |
CN201810849484.5A Active CN109117183B (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行向量交换指令的方法 |
CN201810849485.XA Pending CN108874444A (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量外积指令的方法 |
CN201711212656.XA Active CN107832843B (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201711036374.9A Pending CN109726806A (zh) | 2017-10-30 | 2017-10-30 | 信息处理方法及终端设备 |
CN201810849509.1A Pending CN109117184A (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行平面旋转指令的方法 |
CN201711211933.5A Pending CN107844832A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810800001.2A Pending CN108875926A (zh) | 2017-10-30 | 2017-10-30 | 语言翻译方法及相关产品 |
CN201810849496.8A Active CN109062607B (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量最小值指令的方法 |
CN201810801236.3A Active CN109117948B (zh) | 2017-10-30 | 2017-10-30 | 画风转换方法及相关产品 |
CN201711212994.3A Pending CN107832844A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810849498.7A Active CN108958801B (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行向量最大值指令的方法 |
CN202010336354.9A Active CN111310910B (zh) | 2017-10-30 | 2018-09-13 | 一种计算装置及方法 |
CN201880002336.8A Pending CN109997154A (zh) | 2017-10-30 | 2018-09-13 | 信息处理方法及终端设备 |
CN202010190142.4A Active CN111160548B (zh) | 2017-10-30 | 2018-09-13 | 计算装置以及计算方法 |
CN202010189354.0A Pending CN111178521A (zh) | 2017-10-30 | 2018-09-13 | 计算装置以及方法 |
CN201911062123.7A Active CN110610236B (zh) | 2017-10-30 | 2018-09-13 | 一种用于执行神经网络运算的装置及方法 |
CN201911058910.4A Active CN110689126B (zh) | 2017-10-30 | 2018-09-13 | 一种用于执行神经网络运算的装置 |
CN202010309559.8A Pending CN111291880A (zh) | 2017-10-30 | 2018-09-13 | 计算装置以及计算方法 |
CN201911058839.XA Pending CN110689125A (zh) | 2017-10-30 | 2018-09-13 | 计算装置 |
CN201910070501.XA Active CN110084361B (zh) | 2017-10-30 | 2018-09-13 | 一种运算装置和方法 |
CN201910067288.7A Pending CN109523020A (zh) | 2017-10-30 | 2018-09-13 | 一种运算装置和方法 |
CN202010190143.9A Pending CN111160549A (zh) | 2017-10-30 | 2018-09-13 | 互连电路的数据处理装置以及方法 |
Family Applications Before (14)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711212122.7A Pending CN107833176A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201711244020.3A Active CN109725936B (zh) | 2017-10-30 | 2017-10-30 | 扩展计算指令的实现方法以及相关产品 |
CN201810801238.2A Pending CN109003603A (zh) | 2017-10-30 | 2017-10-30 | 语音识别方法及相关产品 |
CN201711212991.XA Pending CN107992486A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810849492.XA Pending CN108874445A (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行向量点积指令的方法 |
CN201810849488.3A Active CN109034383B (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行矩阵相乘指令的方法 |
CN201810849479.4A Pending CN109063830A (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量范数指令的方法 |
CN201810800665.9A Pending CN108898554A (zh) | 2017-10-30 | 2017-10-30 | 提高图像分辨率的方法及相关产品 |
CN201711212123.1A Pending CN107993206A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810849483.0A Active CN109062606B (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量缩放指令的方法 |
CN201711212995.8A Pending CN107832845A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201711212660.6A Active CN107895191B (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810801239.7A Pending CN109034382A (zh) | 2017-10-30 | 2017-10-30 | 场景或物体的识别方法及相关产品 |
CN201811440571.1A Active CN109542515B (zh) | 2017-10-30 | 2017-10-30 | 运算装置及方法 |
Family Applications After (33)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810849491.5A Pending CN109063831A (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行向量加和指令的方法 |
CN201810849480.7A Active CN108984211B (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行吉文斯旋转指令的方法 |
CN201810849497.2A Active CN109086074B (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量复制指令的方法 |
CN201811436410.5A Active CN109542514B (zh) | 2017-10-30 | 2017-10-30 | 运算指令的实现方法以及相关产品 |
CN201711212125.0A Pending CN107832804A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810800664.4A Pending CN109064384A (zh) | 2017-10-30 | 2017-10-30 | 物体检测方法及相关产品 |
CN201810799987.6A Pending CN109117947A (zh) | 2017-10-30 | 2017-10-30 | 轮廓检测方法及相关产品 |
CN201810849486.4A Pending CN109062539A (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行向量乘加指令的方法 |
CN201810799954.1A Pending CN108986022A (zh) | 2017-10-30 | 2017-10-30 | 图像美化方法及相关产品 |
CN201810799988.0A Active CN109003132B (zh) | 2017-10-30 | 2017-10-30 | 广告推荐方法及相关产品 |
CN201810849499.1A Active CN109086075B (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行矩阵乘向量指令的方法 |
CN201810849484.5A Active CN109117183B (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行向量交换指令的方法 |
CN201810849485.XA Pending CN108874444A (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量外积指令的方法 |
CN201711212656.XA Active CN107832843B (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201711036374.9A Pending CN109726806A (zh) | 2017-10-30 | 2017-10-30 | 信息处理方法及终端设备 |
CN201810849509.1A Pending CN109117184A (zh) | 2017-10-30 | 2017-10-30 | 人工智能处理器及使用处理器执行平面旋转指令的方法 |
CN201711211933.5A Pending CN107844832A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810800001.2A Pending CN108875926A (zh) | 2017-10-30 | 2017-10-30 | 语言翻译方法及相关产品 |
CN201810849496.8A Active CN109062607B (zh) | 2017-10-30 | 2017-10-30 | 机器学习处理器及使用处理器执行向量最小值指令的方法 |
CN201810801236.3A Active CN109117948B (zh) | 2017-10-30 | 2017-10-30 | 画风转换方法及相关产品 |
CN201711212994.3A Pending CN107832844A (zh) | 2017-10-30 | 2017-10-30 | 一种信息处理方法及相关产品 |
CN201810849498.7A Active CN108958801B (zh) | 2017-10-30 | 2017-10-30 | 神经网络处理器及使用处理器执行向量最大值指令的方法 |
CN202010336354.9A Active CN111310910B (zh) | 2017-10-30 | 2018-09-13 | 一种计算装置及方法 |
CN201880002336.8A Pending CN109997154A (zh) | 2017-10-30 | 2018-09-13 | 信息处理方法及终端设备 |
CN202010190142.4A Active CN111160548B (zh) | 2017-10-30 | 2018-09-13 | 计算装置以及计算方法 |
CN202010189354.0A Pending CN111178521A (zh) | 2017-10-30 | 2018-09-13 | 计算装置以及方法 |
CN201911062123.7A Active CN110610236B (zh) | 2017-10-30 | 2018-09-13 | 一种用于执行神经网络运算的装置及方法 |
CN201911058910.4A Active CN110689126B (zh) | 2017-10-30 | 2018-09-13 | 一种用于执行神经网络运算的装置 |
CN202010309559.8A Pending CN111291880A (zh) | 2017-10-30 | 2018-09-13 | 计算装置以及计算方法 |
CN201911058839.XA Pending CN110689125A (zh) | 2017-10-30 | 2018-09-13 | 计算装置 |
CN201910070501.XA Active CN110084361B (zh) | 2017-10-30 | 2018-09-13 | 一种运算装置和方法 |
CN201910067288.7A Pending CN109523020A (zh) | 2017-10-30 | 2018-09-13 | 一种运算装置和方法 |
CN202010190143.9A Pending CN111160549A (zh) | 2017-10-30 | 2018-09-13 | 互连电路的数据处理装置以及方法 |
Country Status (4)
Country | Link |
---|---|
US (5) | US20210182077A1 (zh) |
EP (1) | EP3709224A4 (zh) |
CN (48) | CN107833176A (zh) |
WO (1) | WO2019085655A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780921A (zh) * | 2019-08-30 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN111242293A (zh) * | 2020-01-13 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种处理部件、数据处理的方法以及电子设备 |
CN111831337A (zh) * | 2019-04-19 | 2020-10-27 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
CN112181492A (zh) * | 2020-09-23 | 2021-01-05 | 北京奕斯伟计算技术有限公司 | 一种指令处理方法、指令处理装置和芯片 |
CN112579042A (zh) * | 2019-09-29 | 2021-03-30 | 北京希姆计算科技有限公司 | 计算装置及方法、芯片、电子设备及计算机可读存储介质 |
CN113138804A (zh) * | 2021-04-20 | 2021-07-20 | 清华大学 | 在传输过程中提取流数据特征的流处理器及其实现方法 |
CN113918883A (zh) * | 2021-11-03 | 2022-01-11 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
CN116188247A (zh) * | 2023-02-06 | 2023-05-30 | 格兰菲智能科技有限公司 | 寄存器信息处理方法、装置、计算机设备、存储介质 |
Families Citing this family (243)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190392297A1 (en) * | 2016-12-30 | 2019-12-26 | Intel Corporation | Deep learning hardware |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
EP3614259A4 (en) * | 2017-04-19 | 2021-02-24 | Shanghai Cambricon Information Technology Co., Ltd | TREATMENT APPARATUS AND TREATMENT METHOD |
EP3657398A1 (en) * | 2017-05-23 | 2020-05-27 | Shanghai Cambricon Information Technology Co., Ltd | Weight quantization method for a neural network and accelerating device therefor |
WO2019114842A1 (zh) * | 2017-12-14 | 2019-06-20 | 北京中科寒武纪科技有限公司 | 一种集成电路芯片装置 |
JP6454397B1 (ja) * | 2017-12-20 | 2019-01-16 | Nttエレクトロニクス株式会社 | 誤り訂正装置、誤り訂正方法及び光通信システム |
US11636327B2 (en) * | 2017-12-29 | 2023-04-25 | Intel Corporation | Machine learning sparse computation mechanism for arbitrary neural networks, arithmetic compute microarchitecture, and sparsity for training mechanism |
US20190244080A1 (en) * | 2018-02-02 | 2019-08-08 | Wisconsin Alumni Research Foundation | Neural Network Processor with On-Chip Convolution Kernel Storage |
CN108388446A (zh) * | 2018-02-05 | 2018-08-10 | 上海寒武纪信息科技有限公司 | 运算模块以及方法 |
CN110222833B (zh) * | 2018-03-01 | 2023-12-19 | 华为技术有限公司 | 一种用于神经网络的数据处理电路 |
CN108470211B (zh) * | 2018-04-09 | 2022-07-12 | 郑州云海信息技术有限公司 | 一种卷积计算的实现方法、设备和计算机存储介质 |
CN110399976B (zh) * | 2018-04-25 | 2022-04-05 | 华为技术有限公司 | 计算装置和计算方法 |
CN108629409B (zh) * | 2018-04-28 | 2020-04-10 | 中国科学院计算技术研究所 | 一种基于主成分分析减少io开销的神经网络处理系统 |
CN110472734B (zh) * | 2018-05-11 | 2024-03-29 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN108804223A (zh) * | 2018-05-16 | 2018-11-13 | 努比亚技术有限公司 | 内存优化方法、移动终端及计算机可读存储介质 |
CN108831475B (zh) * | 2018-05-24 | 2020-09-29 | 广州市千钧网络科技有限公司 | 一种文本消息提取方法及系统 |
WO2019227322A1 (zh) * | 2018-05-30 | 2019-12-05 | 深圳市大疆创新科技有限公司 | 池化装置和池化方法 |
US11880762B2 (en) * | 2018-06-26 | 2024-01-23 | International Business Machines Corporation | Choosing execution mode of a neural network based on total memory usage |
CN110647973A (zh) * | 2018-06-27 | 2020-01-03 | 北京中科寒武纪科技有限公司 | 运算方法及相关方法和产品 |
CN110647356A (zh) * | 2018-06-27 | 2020-01-03 | 北京中科寒武纪科技有限公司 | 运算装置及相关产品 |
CN110728364A (zh) * | 2018-07-17 | 2020-01-24 | 上海寒武纪信息科技有限公司 | 一种运算装置和运算方法 |
CN109165728B (zh) * | 2018-08-06 | 2020-12-18 | 浪潮集团有限公司 | 一种卷积神经网络的基本计算单元及计算方法 |
CN110874343B (zh) * | 2018-08-10 | 2023-04-21 | 北京百度网讯科技有限公司 | 基于深度学习芯片进行语音处理的方法和深度学习芯片 |
US20200104716A1 (en) * | 2018-08-23 | 2020-04-02 | Samsung Electronics Co., Ltd. | Method and system with deep learning model generation |
CN110865792B (zh) * | 2018-08-28 | 2021-03-19 | 中科寒武纪科技股份有限公司 | 数据预处理方法、装置、计算机设备和存储介质 |
CN109242091B (zh) * | 2018-09-03 | 2022-03-22 | 郑州云海信息技术有限公司 | 图像识别方法、装置、设备及可读存储介质 |
CN109065076B (zh) * | 2018-09-05 | 2020-11-27 | 深圳追一科技有限公司 | 音频标签的设置方法、装置、设备和存储介质 |
US20210098001A1 (en) * | 2018-09-13 | 2021-04-01 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
CN110897626A (zh) * | 2018-09-14 | 2020-03-24 | 杭州脉流科技有限公司 | 基于深度神经网络的心电图分析方法、装置、计算机设备和系统 |
WO2020062392A1 (zh) | 2018-09-28 | 2020-04-02 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
CN110968285A (zh) * | 2018-09-28 | 2020-04-07 | 上海寒武纪信息科技有限公司 | 信号处理装置及相关产品 |
CN110969246A (zh) * | 2018-09-28 | 2020-04-07 | 上海寒武纪信息科技有限公司 | 信号处理装置及相关产品 |
JP7006805B2 (ja) * | 2018-10-02 | 2022-01-24 | 日本電信電話株式会社 | 算出装置、算出方法及び算出プログラム |
CN111222633A (zh) * | 2018-11-23 | 2020-06-02 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111339060B (zh) * | 2018-12-19 | 2024-03-12 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111353595A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111353124A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111275197B (zh) * | 2018-12-05 | 2023-11-10 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111338694B (zh) * | 2018-12-19 | 2022-05-31 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111290788B (zh) * | 2018-12-07 | 2022-05-31 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111353125B (zh) * | 2018-12-20 | 2022-04-22 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047005A (zh) * | 2018-10-11 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN110096309B (zh) * | 2018-11-14 | 2020-04-14 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN111047027A (zh) * | 2018-10-12 | 2020-04-21 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111047022B (zh) * | 2018-10-12 | 2023-11-24 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN111047024B (zh) * | 2018-10-12 | 2023-05-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111045728B (zh) * | 2018-10-12 | 2022-04-12 | 上海寒武纪信息科技有限公司 | 一种计算装置及相关产品 |
CN111047021B (zh) * | 2018-10-12 | 2023-11-24 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN111079911B (zh) * | 2018-10-19 | 2021-02-09 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN111079907B (zh) * | 2018-10-19 | 2021-01-26 | 安徽寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
US11294985B2 (en) * | 2018-10-30 | 2022-04-05 | Intel Corporation | Efficient analog in-memory matrix multiplication processor |
US11526759B2 (en) * | 2018-11-05 | 2022-12-13 | International Business Machines Corporation | Large model support in deep learning |
KR102462910B1 (ko) * | 2018-11-12 | 2022-11-04 | 한국전자통신연구원 | 배치 정규화 레이어의 웨이트들에 대한 양자화 방법 및 그 장치 |
CN109491938A (zh) * | 2018-11-27 | 2019-03-19 | 济南浪潮高新科技投资发展有限公司 | 一种面向卷积神经网络加速的多通道dma控制器和卷积神经网络加速方法 |
US11056098B1 (en) | 2018-11-28 | 2021-07-06 | Amazon Technologies, Inc. | Silent phonemes for tracking end of speech |
CN109583579B (zh) * | 2018-11-30 | 2021-04-09 | 上海寒武纪信息科技有限公司 | 计算装置及相关产品 |
CN111382390B (zh) * | 2018-12-28 | 2022-08-12 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111381871B (zh) * | 2018-12-28 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111258641B (zh) * | 2018-11-30 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111399905B (zh) * | 2019-01-02 | 2022-08-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN109543825B (zh) * | 2018-11-30 | 2020-12-01 | 安徽寒武纪信息科技有限公司 | 神经网络模型算法编译方法、装置及相关产品 |
CN109543833B (zh) * | 2018-11-30 | 2021-08-03 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN109685201B (zh) * | 2018-12-14 | 2020-10-30 | 安徽寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111383637A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
CN111193916B (zh) * | 2018-12-29 | 2022-03-29 | 中科寒武纪科技股份有限公司 | 运算方法 |
CN109635937B (zh) * | 2018-12-30 | 2023-07-11 | 南京大学 | 一种面向低位宽卷积神经网络的低功耗系统 |
WO2020142973A1 (en) * | 2019-01-10 | 2020-07-16 | Alibaba Group Holding Limited | Matrix-based instruction set architecture for neural network |
US11475285B2 (en) * | 2019-01-28 | 2022-10-18 | Samsung Electronics Co., Ltd. | Neural network accelerator and operating method thereof |
CN110049200A (zh) * | 2019-03-07 | 2019-07-23 | 永德利硅橡胶科技(深圳)有限公司 | 基于会议的语言翻译方法及相关产品 |
JP7353772B2 (ja) * | 2019-03-07 | 2023-10-02 | キヤノン株式会社 | データ処理装置及びその方法、プログラム |
CN109902201A (zh) * | 2019-03-08 | 2019-06-18 | 天津理工大学 | 一种基于cnn和bp神经网络的推荐方法 |
CN111723921A (zh) * | 2019-03-22 | 2020-09-29 | 中科寒武纪科技股份有限公司 | 人工智能计算装置及相关产品 |
CN111723920A (zh) * | 2019-03-22 | 2020-09-29 | 中科寒武纪科技股份有限公司 | 人工智能计算装置及相关产品 |
US11704573B2 (en) * | 2019-03-25 | 2023-07-18 | Here Global B.V. | Method, apparatus, and computer program product for identifying and compensating content contributors |
CN111738021B (zh) * | 2019-03-25 | 2023-10-31 | 株式会社理光 | 神经机器翻译模型的词向量处理方法、装置及存储介质 |
CN110009021B (zh) * | 2019-03-26 | 2021-06-15 | 深兰科技(上海)有限公司 | 一种目标识别方法及设备 |
CN109919312B (zh) * | 2019-03-29 | 2021-04-23 | 北京智芯微电子科技有限公司 | 卷积神经网络的运算方法、装置及dpu |
CN111782577B (zh) | 2019-04-04 | 2023-03-24 | 安徽寒武纪信息科技有限公司 | 数据处理装置及方法以及相关产品 |
CN110135462B (zh) * | 2019-04-18 | 2022-12-20 | 南开大学 | 一种基于上下文信息的艺术画风格分类方法 |
CN112400165A (zh) * | 2019-05-01 | 2021-02-23 | 微软技术许可有限责任公司 | 利用无监督学习来改进文本到内容建议的方法和系统 |
WO2020220370A1 (en) * | 2019-05-01 | 2020-11-05 | Microsoft Technology Licensing, Llc | Method and system of utilizing unsupervised learning to improve text to content suggestions |
CN111930681B (zh) * | 2019-05-13 | 2023-10-10 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN110210612B (zh) * | 2019-05-14 | 2021-04-16 | 北京中科汇成科技有限公司 | 基于自适应分段线性逼近曲线的集成电路加速方法及系统 |
US11650164B2 (en) * | 2019-05-15 | 2023-05-16 | Getac Technology Corporation | Artificial neural network-based method for selecting surface type of object |
CN110198164B (zh) * | 2019-05-17 | 2023-04-04 | 山东科技大学 | 一种绝对值流控忆阻器模拟电路 |
CN112346781A (zh) * | 2019-08-07 | 2021-02-09 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN111966398A (zh) * | 2019-05-20 | 2020-11-20 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN111966403A (zh) * | 2019-05-20 | 2020-11-20 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN111966400A (zh) * | 2019-05-20 | 2020-11-20 | 上海寒武纪信息科技有限公司 | 指令处理方法、装置及相关产品 |
CN110298441B (zh) * | 2019-05-24 | 2022-01-11 | 深圳云天励飞技术有限公司 | 一种数据处理方法、电子装置及计算机可读存储介质 |
CN110277100A (zh) * | 2019-06-19 | 2019-09-24 | 南京邮电大学 | 基于Alexnet改进的声纹识别方法、存储介质和终端 |
CN110390626A (zh) * | 2019-07-02 | 2019-10-29 | 深兰科技(上海)有限公司 | 一种卷积神经网络的图像处理方法及装置 |
KR20210004702A (ko) | 2019-07-05 | 2021-01-13 | 삼성전자주식회사 | Ai 프로세서 및 이의 신경망 연산 수행 방법 |
CN110427578B (zh) * | 2019-07-16 | 2020-06-02 | 盐城师范学院 | 一种基于深度机器学习的数字内容投放方法 |
CN110532205B (zh) * | 2019-07-17 | 2021-04-06 | 浙江大华技术股份有限公司 | 数据传输方法、装置、计算机设备和计算机可读存储介质 |
CN112308198A (zh) * | 2019-07-26 | 2021-02-02 | 中科寒武纪科技股份有限公司 | 循环神经网络的计算方法及相关产品 |
US11870804B2 (en) * | 2019-08-01 | 2024-01-09 | Akamai Technologies, Inc. | Automated learning and detection of web bot transactions using deep learning |
CN110598858A (zh) * | 2019-08-02 | 2019-12-20 | 北京航空航天大学 | 基于非易失性存内计算实现二值神经网络的芯片和方法 |
CN112333222A (zh) * | 2019-08-05 | 2021-02-05 | 中润普达(深圳)大数据技术有限公司 | 一种基于大数据的云计算服务系统 |
CN110489356B (zh) * | 2019-08-06 | 2022-02-22 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN110569275A (zh) * | 2019-08-14 | 2019-12-13 | 清华大学山西清洁能源研究院 | 支持相似性检索的高纬缺失时间序列的压缩方法及装置 |
CN112394887A (zh) * | 2019-08-17 | 2021-02-23 | 森大(深圳)技术有限公司 | Onepass打印数据高效率处理方法、装置、设备及存储介质 |
CN112434781A (zh) * | 2019-08-26 | 2021-03-02 | 上海寒武纪信息科技有限公司 | 用于处理数据的方法、装置以及相关产品 |
CN112445523A (zh) * | 2019-09-02 | 2021-03-05 | 中科寒武纪科技股份有限公司 | 数据处理方法、相关设备及计算机可读介质 |
US11409654B2 (en) * | 2019-09-05 | 2022-08-09 | Micron Technology, Inc. | Intelligent optimization of caching operations in a data storage device |
CN110426965A (zh) * | 2019-09-17 | 2019-11-08 | 苏州百宝箱科技有限公司 | 一种基于云平台的智能家居远程控制方法 |
CN110647718B (zh) * | 2019-09-26 | 2023-07-25 | 中昊芯英(杭州)科技有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN110766155A (zh) * | 2019-09-27 | 2020-02-07 | 东南大学 | 一种基于混合精度存储的深度神经网络加速器 |
CN110673823B (zh) * | 2019-09-30 | 2021-11-30 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法及芯片 |
CN110837483B (zh) * | 2019-09-30 | 2021-07-23 | 厦门星宸科技有限公司 | 张量维度变换的方法以及装置 |
CN114365147A (zh) * | 2019-10-22 | 2022-04-15 | 深圳鲲云信息科技有限公司 | 神经网络计算压缩方法、系统及存储介质 |
CN112712172B (zh) * | 2019-10-25 | 2023-12-26 | 安徽寒武纪信息科技有限公司 | 用于神经网络运算的计算装置、方法、集成电路和设备 |
US20220343165A1 (en) * | 2019-10-29 | 2022-10-27 | Intel Corporation | Device capability aware technology to execute deep learning computation graphs in web applications |
CN110796246A (zh) * | 2019-10-29 | 2020-02-14 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于线性分段的激活函数的硬件实现电路和方法 |
US11475311B2 (en) * | 2019-10-30 | 2022-10-18 | Raytheon Company | Neural network instruction streaming |
CN110807522B (zh) * | 2019-10-31 | 2022-05-06 | 合肥工业大学 | 一种神经网络加速器的通用计算电路 |
CN112784207B (zh) * | 2019-11-01 | 2024-02-02 | 中科寒武纪科技股份有限公司 | 运算方法及相关产品 |
CN112817638A (zh) * | 2019-11-18 | 2021-05-18 | 北京希姆计算科技有限公司 | 一种数据处理装置及方法 |
CN111027690B (zh) * | 2019-11-26 | 2023-08-04 | 陈子祺 | 执行确定性推理的组合处理装置、芯片和方法 |
US11610102B1 (en) * | 2019-11-27 | 2023-03-21 | Amazon Technologies, Inc. | Time-based memory allocation for neural network inference |
CN110996171B (zh) * | 2019-12-12 | 2021-11-26 | 北京金山云网络技术有限公司 | 视频类任务的训练数据生成方法、装置及服务器 |
US20210224658A1 (en) * | 2019-12-12 | 2021-07-22 | Texas Instruments Incorporated | Parametric Power-Of-2 Clipping Activations for Quantization for Convolutional Neural Networks |
CN111026445A (zh) * | 2019-12-17 | 2020-04-17 | 湖南长城银河科技有限公司 | 一种智能识别方法及芯片 |
CN111178087B (zh) * | 2019-12-20 | 2023-05-09 | 沈阳雅译网络技术有限公司 | 一种基于离散型注意力机制的神经机器翻译解码加速方法 |
CN111125617A (zh) * | 2019-12-23 | 2020-05-08 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
US11755683B2 (en) | 2019-12-23 | 2023-09-12 | Western Digital Technologies, Inc. | Flexible accelerator for sparse tensors (FAST) in machine learning |
CN111176725B (zh) * | 2019-12-27 | 2022-05-06 | 北京市商汤科技开发有限公司 | 数据处理方法、装置、设备和存储介质 |
CN111144556B (zh) * | 2019-12-31 | 2023-07-07 | 中国人民解放军国防科技大学 | 面向深度神经网络训练和推理的范围批处理归一化算法的硬件电路 |
CN113128673B (zh) * | 2019-12-31 | 2023-08-11 | Oppo广东移动通信有限公司 | 数据处理方法、存储介质、神经网络处理器及电子设备 |
CN111240747B (zh) * | 2020-01-13 | 2022-05-06 | Oppo广东移动通信有限公司 | 指令生成方法、装置、测试架构和电子设备 |
US20210223987A1 (en) * | 2020-01-20 | 2021-07-22 | SK Hynix Inc. | Controller with smart scheduling and method of operating the controller |
CN113222126B (zh) * | 2020-01-21 | 2022-01-28 | 上海商汤智能科技有限公司 | 数据处理装置、人工智能芯片 |
TWI727641B (zh) * | 2020-02-03 | 2021-05-11 | 華邦電子股份有限公司 | 記憶體裝置及其操作方法 |
US20210256384A1 (en) * | 2020-02-14 | 2021-08-19 | Northeastern University | Computer-implemented methods and systems for achieving real-time dnn execution on mobile devices with pattern-based weight pruning |
CN111241204B (zh) * | 2020-02-14 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种梯度数据的同步方法、装置、设备及存储介质 |
KR20210105053A (ko) * | 2020-02-18 | 2021-08-26 | 에스케이하이닉스 주식회사 | 연산 회로 및 그것을 포함하는 딥 러닝 시스템 |
US20210256092A1 (en) * | 2020-02-19 | 2021-08-19 | Nvidia Corporation | Application programming interface to accelerate matrix operations |
US11562235B2 (en) | 2020-02-21 | 2023-01-24 | International Business Machines Corporation | Activation function computation for neural networks |
US11727270B2 (en) | 2020-02-24 | 2023-08-15 | Microsoft Technology Licensing, Llc | Cross data set knowledge distillation for training machine learning models |
EP3872710A1 (en) * | 2020-02-27 | 2021-09-01 | Aptiv Technologies Limited | Method and system for determining information on an expected trajectory of an object |
CN111311707B (zh) * | 2020-03-05 | 2023-05-05 | 云知声智能科技股份有限公司 | 一种作画方法及装置 |
US20210287074A1 (en) * | 2020-03-12 | 2021-09-16 | Semiconductor Components Industries, Llc | Neural network weight encoding |
US11526743B2 (en) * | 2020-03-13 | 2022-12-13 | Arm Limited | Artificial neural network optical hardware accelerator |
US20210295134A1 (en) * | 2020-03-18 | 2021-09-23 | Infineon Technologies Ag | Artificial neural network activation function |
US11797830B2 (en) * | 2020-03-25 | 2023-10-24 | Western Digital Technologies, Inc. | Flexible accelerator for sparse tensors in convolutional neural networks |
WO2021189294A1 (zh) * | 2020-03-25 | 2021-09-30 | 华为技术有限公司 | 卷积运算系统和卷积运算方法 |
CN111488969B (zh) * | 2020-04-03 | 2024-01-19 | 北京集朗半导体科技有限公司 | 基于神经网络加速器的执行优化方法及装置 |
CN111522657B (zh) * | 2020-04-14 | 2022-07-22 | 北京航空航天大学 | 一种分散设备协同深度学习推理方法 |
CN111539462B (zh) * | 2020-04-15 | 2023-09-19 | 苏州万高电脑科技有限公司 | 模仿生物视觉神经元的图像分类方法、系统、装置及介质 |
US11748623B2 (en) * | 2020-04-15 | 2023-09-05 | Mipsology SAS | Modifying structure of artificial neural networks by collocating parameters |
CN111581593B (zh) * | 2020-04-21 | 2023-09-05 | 天津大学 | 可配置重用的分段式查找表激活函数实现装置 |
CN111522776B (zh) * | 2020-04-27 | 2022-04-05 | 西安交通大学 | 一种计算架构 |
CN111565180B (zh) * | 2020-04-28 | 2021-01-29 | 广州锦行网络科技有限公司 | 一种虚拟端口的保护系统及方法 |
CN111563898B (zh) * | 2020-04-29 | 2023-05-16 | 万翼科技有限公司 | 图像分割方法、电子设备及相关产品 |
US11527089B2 (en) * | 2020-04-29 | 2022-12-13 | Conduent Business Services, Llc | Building light-weight single shot refinement neural network for vehicle passenger detection system |
US11604976B2 (en) * | 2020-04-29 | 2023-03-14 | International Business Machines Corporation | Crossbar arrays for computations in memory-augmented neural networks |
CN111553466B (zh) * | 2020-04-30 | 2024-03-22 | 上海商汤智能科技有限公司 | 信息处理方法、装置及设备 |
US11455143B2 (en) * | 2020-05-07 | 2022-09-27 | Meta Platforms, Inc. | Using a low-bit-width dot product engine to sum high-bit-width numbers |
CN113626080B (zh) * | 2020-05-08 | 2023-10-03 | 安徽寒武纪信息科技有限公司 | 数据处理装置以及相关产品 |
CN111525921B (zh) * | 2020-05-15 | 2023-09-08 | 矽力杰半导体技术(杭州)有限公司 | 用于神经网络中信号转换的系统和方法 |
CN111598227B (zh) * | 2020-05-20 | 2023-11-03 | 字节跳动有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111914612B (zh) * | 2020-05-21 | 2024-03-01 | 淮阴工学院 | 一种基于改进的卷积神经网络的施工图图元自适应识别方法 |
JP2021190011A (ja) * | 2020-06-04 | 2021-12-13 | 株式会社東海理化電機製作所 | 処理装置、プログラム、およびシステム |
US11782685B2 (en) * | 2020-06-17 | 2023-10-10 | Bank Of America Corporation | Software code vectorization converter |
US11435941B1 (en) * | 2020-06-24 | 2022-09-06 | Amazon Technologies, Inc. | Matrix transpose hardware acceleration |
CN111832718B (zh) * | 2020-06-24 | 2021-08-03 | 上海西井信息科技有限公司 | 芯片架构 |
CN113867792A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
CN111767508B (zh) * | 2020-07-09 | 2024-02-23 | 地平线(上海)人工智能技术有限公司 | 计算机实现张量数据计算的方法、装置、介质和设备 |
KR20220009126A (ko) | 2020-07-15 | 2022-01-24 | 삼성전자주식회사 | 뉴럴 네트워크 연산 처리 장치 및 방법 |
CN111913744A (zh) * | 2020-07-15 | 2020-11-10 | 博流智能科技(南京)有限公司 | Ai深度学习数据处理方法及系统 |
CN111831582B (zh) * | 2020-07-16 | 2024-03-29 | 中国科学院计算技术研究所 | 用于智能处理器的内存管理装置、方法及电子设备 |
CN111857834A (zh) * | 2020-07-16 | 2020-10-30 | 中国科学院计算技术研究所 | 分形计算智能处理器、分形计算智能处理方法 |
CN111857833A (zh) * | 2020-07-16 | 2020-10-30 | 中国科学院计算技术研究所 | 并行计算智能处理器及并行计算智能处理方法 |
CN111984189B (zh) * | 2020-07-22 | 2022-05-17 | 深圳云天励飞技术股份有限公司 | 神经网络计算装置和数据读取、数据存储方法及相关设备 |
CN111860818B (zh) * | 2020-07-23 | 2022-11-08 | 哈尔滨工业大学(威海) | 基于智能芯片的som神经网络算法处理方法 |
US11163571B1 (en) * | 2020-07-29 | 2021-11-02 | International Business Machines Corporation | Fusion to enhance early address generation of load instructions in a microprocessor |
CN114070563B (zh) * | 2020-07-31 | 2023-09-05 | 中移(苏州)软件技术有限公司 | 一种数据处理方法、装置、终端及存储介质 |
CN112102816A (zh) * | 2020-08-17 | 2020-12-18 | 北京百度网讯科技有限公司 | 语音识别方法、装置、系统、电子设备和存储介质 |
JP2022034897A (ja) * | 2020-08-19 | 2022-03-04 | 富士通株式会社 | 情報処理装置、機械学習方法及び機械学習プログラム |
TWI746126B (zh) * | 2020-08-25 | 2021-11-11 | 創鑫智慧股份有限公司 | 矩陣乘法裝置及其操作方法 |
CN112052149B (zh) * | 2020-09-06 | 2022-02-22 | 厦门理工学院 | 一种大数据信息采集系统及使用方法 |
CN112200299B (zh) * | 2020-09-09 | 2024-04-12 | 星宸科技股份有限公司 | 神经网络计算装置、数据处理方法及装置 |
KR102466257B1 (ko) * | 2020-09-10 | 2022-11-14 | 주식회사 더웨이브톡 | 다중 광원을 활용한 분광 장치 |
US20220092408A1 (en) * | 2020-09-23 | 2022-03-24 | Facebook, Inc. | Neural network weight distribution using a tree direct-memory access (dma) bus |
CN112991358A (zh) * | 2020-09-30 | 2021-06-18 | 北京字节跳动网络技术有限公司 | 风格图像生成方法、模型训练方法、装置、设备和介质 |
CN111931937B (zh) * | 2020-09-30 | 2021-01-01 | 深圳云天励飞技术股份有限公司 | 图像处理模型的梯度更新方法、装置及系统 |
US11620818B2 (en) * | 2020-10-01 | 2023-04-04 | Intel Corporation | Spatially sparse neural network accelerator for multi-dimension visual analytics |
TWI748679B (zh) * | 2020-10-08 | 2021-12-01 | 大陸商星宸科技股份有限公司 | 神經網路計算裝置、資料處理方法及裝置 |
CN112256801B (zh) * | 2020-10-10 | 2024-04-09 | 深圳力维智联技术有限公司 | 抽取实体关系图中关键实体的方法、系统和存储介质 |
CN112287222B (zh) * | 2020-10-29 | 2023-12-15 | 深圳大学 | 一种基于异质特征深度残差网络的内容推荐方法 |
CN112540996B (zh) * | 2020-11-12 | 2023-11-24 | Oppo(重庆)智能科技有限公司 | 一种业务数据的校验方法、装置、电子设备及存储介质 |
US20220147680A1 (en) * | 2020-11-12 | 2022-05-12 | Samsung Electronics Co., Ltd. | Method for co-design of hardware and neural network architectures using coarse-to-fine search, two-phased block distillation and neural hardware predictor |
KR20220073306A (ko) * | 2020-11-26 | 2022-06-03 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
CN112306500B (zh) * | 2020-11-30 | 2022-06-07 | 上海交通大学 | 一种针对粗粒度可重构结构的降低多类访存冲突编译方法 |
CN112666860A (zh) * | 2020-12-15 | 2021-04-16 | 合肥中感微电子有限公司 | 数字信号的扩展处理系统、其处理方法和处理器 |
CN112488908B (zh) * | 2020-12-18 | 2021-08-27 | 时擎智能科技(上海)有限公司 | 一种计算装置、计算方法、存储介质及终端 |
CN112631955B (zh) * | 2020-12-18 | 2024-01-19 | 北京地平线机器人技术研发有限公司 | 数据处理方法、装置、电子设备以及介质 |
CN112633505B (zh) | 2020-12-24 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种基于risc-v的人工智能推理方法和系统 |
US20220206989A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Apparatuses, methods, and systems for instructions for loading a tile of a matrix operations accelerator |
CN112528224B (zh) * | 2020-12-28 | 2022-09-13 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 一种矩阵特征值分解分组循环迭代流水实现方法及系统 |
WO2022141344A1 (zh) * | 2020-12-31 | 2022-07-07 | 北京希姆计算科技有限公司 | 执行程序的编译方法、芯片、电子设备及计算机可读存储介质 |
CN113064841B (zh) * | 2021-01-04 | 2023-06-06 | 统信软件技术有限公司 | 一种数据存储方法、处理方法、计算设备及可读存储介质 |
CN112766477B (zh) * | 2021-01-13 | 2023-05-30 | 天津智模科技有限公司 | 神经网络运算电路 |
CN112905591B (zh) * | 2021-02-04 | 2022-08-26 | 成都信息工程大学 | 一种基于机器学习的数据表连接顺序选择方法 |
CN112967188B (zh) * | 2021-03-04 | 2024-04-02 | 中国科学技术大学 | 结合结构化语义码流的空间自适应图像超分辨重建方法 |
US20220300816A1 (en) * | 2021-03-19 | 2022-09-22 | Rebellions Inc. | Neural processing device and method for pruning thereof |
CN113284512B (zh) * | 2021-05-25 | 2022-05-27 | 重庆大学 | 一种基于深度稀疏迁移学习的帕金森语音分类方法 |
CN113256497B (zh) * | 2021-06-21 | 2021-09-24 | 中南大学 | 图像重建方法及系统 |
CN113254648B (zh) * | 2021-06-22 | 2021-10-22 | 暨南大学 | 一种基于多层次图池化的文本情感分析方法 |
CN115600659A (zh) * | 2021-07-08 | 2023-01-13 | 北京嘉楠捷思信息技术有限公司(Cn) | 一种神经网络运算的硬件加速装置和加速方法 |
CN113485951B (zh) * | 2021-07-31 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 一种基于fpga的dma读操作实现方法、fpga设备以及通信系统 |
CN113344768B (zh) * | 2021-08-02 | 2021-10-15 | 成都统信软件技术有限公司 | 一种图像矩阵卷积的实现方法、计算设备及储存介质 |
CN113688352B (zh) * | 2021-08-20 | 2023-08-04 | 上海思朗科技有限公司 | 一种数据处理系统、方法及装置 |
CN113709495B (zh) * | 2021-08-24 | 2023-11-24 | 天津津航计算技术研究所 | 一种基于pcie缓冲机制的同步解码方法 |
CN113704689B (zh) * | 2021-08-25 | 2022-11-11 | 北京大学 | 一种基于昇腾ai处理器的矩阵乘算子的处理方法及装置 |
CN113489619B (zh) * | 2021-09-06 | 2021-11-19 | 中国人民解放军国防科技大学 | 一种基于时间序列分析的网络拓扑推断方法及装置 |
US20230091581A1 (en) * | 2021-09-21 | 2023-03-23 | Bank Of America Corporation | Personal Data Discovery |
CN113869495B (zh) * | 2021-09-30 | 2024-02-06 | 苏州浪潮智能科技有限公司 | 神经网络卷积权重layout优化的方法、装置、设备及可读介质 |
CN113988280B (zh) * | 2021-10-26 | 2023-05-05 | 电子科技大学 | 一种基于二值化神经网络的阵列计算加速器架构 |
CN114116547B (zh) * | 2021-11-12 | 2024-03-26 | 成都立思方信息技术有限公司 | 一种可重构的电子对抗设备模拟器架构 |
CN113791889B (zh) * | 2021-11-18 | 2022-03-11 | 中国科学院成都文献情报中心 | 一种基于多级轮询队列控制器部署学习模型的方法 |
CN114217710B (zh) * | 2021-12-20 | 2023-07-21 | 平安付科技服务有限公司 | 弹框控制方法、装置、存储介质及系统 |
CN114372012B (zh) * | 2021-12-21 | 2024-02-20 | 中国科学院深圳先进技术研究院 | 一种通用、可配置的高能效池化计算单行输出系统和方法 |
CN114340097A (zh) * | 2021-12-30 | 2022-04-12 | 合肥市芯海电子科技有限公司 | 一种控制灯带的方法、装置、芯片和电子设备 |
CN114359683B (zh) * | 2021-12-31 | 2023-10-20 | 电子科技大学 | 一种面向文本定位的单内核hog高效异构加速方法 |
CN114567596B (zh) * | 2022-01-24 | 2024-04-05 | 浙江数秦科技有限公司 | 一种用于区块链的数据快速交换方法 |
CN114567670B (zh) * | 2022-01-25 | 2024-04-05 | 浙江数秦科技有限公司 | 一种区块链网络数据传输方法 |
CN114168522B (zh) * | 2022-02-14 | 2022-04-29 | 北京微核芯科技有限公司 | 一种数据传输方法、装置及传输部件 |
CN114692060A (zh) * | 2022-03-04 | 2022-07-01 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
CN114615207B (zh) * | 2022-03-10 | 2022-11-25 | 四川三思德科技有限公司 | 推流前的数据定向化处理方法及装置 |
CN114595173A (zh) * | 2022-03-18 | 2022-06-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、系统及计算机可读存储介质 |
TWI795254B (zh) * | 2022-03-30 | 2023-03-01 | 天擎積體電路股份有限公司 | 支持廣播的模組系統、模組單元與廣播方法 |
WO2024004221A1 (ja) * | 2022-07-01 | 2024-01-04 | 日本電信電話株式会社 | 演算処理装置、演算処理方法、及び演算処理プログラム |
WO2024049568A1 (en) * | 2022-08-31 | 2024-03-07 | Microsoft Technology Licensing, Llc | Increased computation efficiency with multi-stage 8-bit floating point matrix multiplication with format conversion |
CN115412758B (zh) * | 2022-09-01 | 2023-11-14 | 北京奇艺世纪科技有限公司 | 一种视频处理方法及相关装置 |
CN115248701B (zh) * | 2022-09-21 | 2022-12-20 | 进迭时空(杭州)科技有限公司 | 一种处理器寄存器堆之间的零拷贝数据传输装置及方法 |
CN115269205B (zh) * | 2022-09-27 | 2022-12-27 | 之江实验室 | 一种面向神经网络计算的内存优化方法和装置 |
CN115629579B (zh) * | 2022-10-13 | 2023-11-07 | 南京天洑软件有限公司 | 一种cstr系统的控制方法及装置 |
CN115638833B (zh) * | 2022-12-23 | 2023-03-31 | 保定网城软件股份有限公司 | 一种监控数据处理方法及系统 |
CN116679988B (zh) * | 2023-08-02 | 2023-10-27 | 武汉芯必达微电子有限公司 | 硬件加速单元、硬件加速方法、芯片及存储介质 |
CN116720554B (zh) * | 2023-08-11 | 2023-11-14 | 南京师范大学 | 一种基于fpga技术的多段线性拟合的神经元电路实现方法 |
CN117202242B (zh) * | 2023-11-08 | 2024-02-06 | 南京邮电大学 | 一种基于粒子滤波模型的车联网中节点失效检测方法 |
CN117313803B (zh) * | 2023-11-28 | 2024-02-02 | 进迭时空(杭州)科技有限公司 | 基于risc-v向量处理器架构的滑动窗口2d卷积计算方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020015326A1 (en) * | 2000-05-31 | 2002-02-07 | Paolo Rolandi | Circuital structure for programming data in a non-volatile memory device |
CN101556565A (zh) * | 2009-01-22 | 2009-10-14 | 杭州中天微系统有限公司 | 嵌入式处理器的片上高性能dma |
CN102750127A (zh) * | 2012-06-12 | 2012-10-24 | 清华大学 | 一种协处理器 |
CN104461970A (zh) * | 2013-09-18 | 2015-03-25 | 中兴通讯股份有限公司 | Dma控制器、移动终端以及数据搬运方法 |
CN105122228A (zh) * | 2013-04-17 | 2015-12-02 | 密克罗奇普技术公司 | 具有混合的散射-聚集功能性的直接存储器存取控制器 |
CN106991077A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种矩阵计算装置 |
Family Cites Families (263)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3382806T2 (de) * | 1982-06-11 | 1996-11-14 | Mitsubishi Electric Corp | Vektorquantisierer |
US4739472A (en) * | 1984-12-07 | 1988-04-19 | Nec Corporation | Information processing device capable of rapidly processing instructions of different groups |
US5047954A (en) * | 1986-01-17 | 1991-09-10 | International Business Machines Corporation | Graphics vector generator setup technique |
JP2785155B2 (ja) * | 1990-09-10 | 1998-08-13 | 富士通株式会社 | ニューロコンピュータの非同期制御方式 |
JPH04195251A (ja) * | 1990-10-03 | 1992-07-15 | Fujitsu Ltd | ニューラルネットの学習計算方法 |
US5283839A (en) * | 1990-12-31 | 1994-02-01 | Neurosciences Research Foundation, Inc. | Apparatus capable of figure-ground segregation |
JP3398673B2 (ja) * | 1994-08-31 | 2003-04-21 | エヌイーシーコンピュータテクノ株式会社 | ベクトルデータ処理装置 |
US7085710B1 (en) * | 1998-01-07 | 2006-08-01 | Microsoft Corporation | Vehicle computer system audio entertainment system |
US6477555B1 (en) * | 1999-07-07 | 2002-11-05 | Lucent Technologies Inc. | Method and apparatus for performing rapid convolution |
DE19948373A1 (de) * | 1999-10-06 | 2001-05-17 | Infineon Technologies Ag | Verfahren zur Kanalentzerrung |
GB2382887B (en) * | 2001-10-31 | 2005-09-28 | Alphamosaic Ltd | Instruction execution in a processor |
CN1142484C (zh) * | 2001-11-28 | 2004-03-17 | 中国人民解放军国防科学技术大学 | 微处理器向量处理方法 |
US6889216B2 (en) * | 2002-03-12 | 2005-05-03 | Knowm Tech, Llc | Physical neural network design incorporating nanotechnology |
US6670895B2 (en) * | 2002-05-01 | 2003-12-30 | Analog Devices, Inc. | Method and apparatus for swapping the contents of address registers |
US7065545B2 (en) * | 2002-05-07 | 2006-06-20 | Quintero-De-La-Garza Raul Gera | Computer methods of vector operation for reducing computation time |
US7475101B2 (en) * | 2003-09-29 | 2009-01-06 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using streaming |
US7680208B2 (en) * | 2004-02-25 | 2010-03-16 | Nokia Corporation | Multiscale wireless communication |
US20050268195A1 (en) * | 2004-04-29 | 2005-12-01 | Lund Morten W | Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems |
JP4586443B2 (ja) * | 2004-07-16 | 2010-11-24 | トヨタ自動車株式会社 | 情報提供装置 |
EP2487624B1 (en) * | 2005-01-07 | 2020-02-19 | Qualcomm Incorporated(1/3) | Detecting and tracking objects in images |
US7490230B2 (en) * | 2005-02-04 | 2009-02-10 | Mips Technologies, Inc. | Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor |
US20070005248A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Data reconstruction in link-based interconnects |
US20070156685A1 (en) * | 2005-12-28 | 2007-07-05 | Hiroshi Inoue | Method for sorting data using SIMD instructions |
CN103646009B (zh) * | 2006-04-12 | 2016-08-17 | 索夫特机械公司 | 对载明并行和依赖运算的指令矩阵进行处理的装置和方法 |
US7574534B2 (en) * | 2006-05-23 | 2009-08-11 | International Business Machines Corporation | Method for using device enumeration information to identify an operating system running on a computer system |
US20080071851A1 (en) * | 2006-09-20 | 2008-03-20 | Ronen Zohar | Instruction and logic for performing a dot-product operation |
US8340795B2 (en) * | 2007-03-26 | 2012-12-25 | Google Inc. | Small removable audio player that attaches to a host media player |
US20080201234A1 (en) * | 2007-02-16 | 2008-08-21 | Microsoft Corporation | Live entities internet store service |
CN100588172C (zh) * | 2007-04-28 | 2010-02-03 | 腾讯科技(深圳)有限公司 | 一种实现网络预订存储的系统和方法 |
US8644151B2 (en) * | 2007-05-22 | 2014-02-04 | Cisco Technology, Inc. | Processing packet flows |
JP4325708B2 (ja) * | 2007-07-05 | 2009-09-02 | ソニー株式会社 | データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム |
CN101369233A (zh) * | 2007-08-14 | 2009-02-18 | 国际商业机器公司 | 程序编译方法和编译器 |
JP2009200713A (ja) * | 2008-02-20 | 2009-09-03 | Sony Corp | 画像処理装置、画像処理方法、プログラム |
CN101315770B (zh) * | 2008-05-27 | 2012-01-25 | 北京承芯卓越科技有限公司 | 语音识别片上系统及采用其的语音识别方法 |
CN101295405A (zh) * | 2008-06-13 | 2008-10-29 | 西北工业大学 | 人像与车辆识别报警跟踪方法 |
CA2734613C (en) * | 2008-08-19 | 2020-06-09 | Digimarc Corporation | Methods and systems for content processing |
CN101685388B (zh) * | 2008-09-28 | 2013-08-07 | 北京大学深圳研究生院 | 执行比较运算的方法和装置 |
JP5376920B2 (ja) * | 2008-12-04 | 2013-12-25 | キヤノン株式会社 | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
CN101782893B (zh) * | 2009-01-21 | 2014-12-24 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
CN101819570B (zh) * | 2009-02-27 | 2012-08-15 | 国际商业机器公司 | 网络环境中的用户信息处理和资源推荐的方法和系统 |
US8331168B2 (en) * | 2009-04-30 | 2012-12-11 | International Business Machines Corporation | Increased capacity heterogeneous storage elements |
CN101620524B (zh) * | 2009-07-03 | 2011-08-10 | 中国人民解放军国防科学技术大学 | 支持矩阵整体读写操作的矩阵寄存器文件 |
CN101615113A (zh) * | 2009-07-31 | 2009-12-30 | 清华大学 | 一条指令完成一次蝶形运算的微处理器实现方法 |
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 |
CN101710272B (zh) * | 2009-10-28 | 2012-09-05 | 龙芯中科技术有限公司 | 指令调度装置和方法 |
US8996845B2 (en) * | 2009-12-22 | 2015-03-31 | Intel Corporation | Vector compare-and-exchange operation |
US8984043B2 (en) | 2009-12-23 | 2015-03-17 | Intel Corporation | Multiplying and adding matrices |
CN102014475B (zh) * | 2010-01-08 | 2012-01-04 | 华为技术有限公司 | 资源映射、码分复用方法及装置 |
JP5110098B2 (ja) * | 2010-02-08 | 2012-12-26 | カシオ計算機株式会社 | 表示処理装置、及び、プログラム |
CN101794239B (zh) * | 2010-03-16 | 2012-11-14 | 浙江大学 | 一种基于数据流模型的多处理器任务调度管理方法 |
CN101833441B (zh) * | 2010-04-28 | 2013-02-13 | 中国科学院自动化研究所 | 并行向量处理引擎结构 |
CN101833468B (zh) * | 2010-04-28 | 2013-05-08 | 中国科学院自动化研究所 | 在高性能计算系统中生成向量处理指令集结构的方法 |
CN101876892B (zh) * | 2010-05-20 | 2013-07-31 | 复旦大学 | 面向通信和多媒体应用的单指令多数据处理器电路结构 |
JP5408037B2 (ja) * | 2010-05-28 | 2014-02-05 | カシオ計算機株式会社 | 画像処理装置及び方法、並びにプログラム |
CN102346894B (zh) * | 2010-08-03 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 推荐信息的输出方法、系统及服务器 |
JP2012073998A (ja) * | 2010-08-31 | 2012-04-12 | Casio Comput Co Ltd | 画像配信システム、画像表示装置、画像配信サーバー、及びプログラム |
GB2483903A (en) * | 2010-09-24 | 2012-03-28 | Advanced Risc Mach Ltd | Instruction which specifies the type of the next instruction to be executed |
CN102005743A (zh) * | 2010-11-25 | 2011-04-06 | 沈阳工业大学 | 基于径向基神经网络的自适应继电保护装置 |
CN102012893B (zh) * | 2010-11-25 | 2012-07-18 | 中国人民解放军国防科学技术大学 | 一种可扩展向量运算装置 |
US8635431B2 (en) * | 2010-12-08 | 2014-01-21 | International Business Machines Corporation | Vector gather buffer for multiple address vector loads |
CN102541814B (zh) * | 2010-12-27 | 2015-10-14 | 北京国睿中数科技股份有限公司 | 用于数据通信处理器的矩阵计算装置和方法 |
CN102098623B (zh) * | 2011-01-27 | 2013-06-12 | 大唐移动通信设备有限公司 | 一种mbsfn操作域动态生成方法和mce |
US8892788B2 (en) * | 2011-02-22 | 2014-11-18 | Red Hat Israel, Ltd. | Exposing a DMA engine to guests in a virtual machine system |
CN102103479B (zh) * | 2011-03-02 | 2015-06-10 | 中兴通讯股份有限公司 | 浮点运算器及浮点运算的处理方法 |
CN103502935B (zh) * | 2011-04-01 | 2016-10-12 | 英特尔公司 | 向量友好指令格式及其执行 |
CN102156637A (zh) * | 2011-05-04 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
US8620853B2 (en) * | 2011-07-19 | 2013-12-31 | Smartsignal Corporation | Monitoring method using kernel regression modeling with pattern sequences |
CN102262525B (zh) * | 2011-08-29 | 2014-11-19 | 孙瑞玮 | 基于矢量运算的矢量浮点运算装置及方法 |
CN102360344B (zh) * | 2011-10-10 | 2014-03-12 | 西安交通大学 | 矩阵处理器及其指令集和嵌入式系统 |
CN102375805B (zh) * | 2011-10-31 | 2014-04-02 | 中国人民解放军国防科学技术大学 | 面向向量处理器的基于simd的fft并行计算方法 |
CN102508643A (zh) * | 2011-11-16 | 2012-06-20 | 刘大可 | 一种多核并行数字信号处理器及并行指令集的运行方法 |
CN102520906A (zh) * | 2011-12-13 | 2012-06-27 | 中国科学院自动化研究所 | 支持定浮点可重构的向量长度可配置的向量点积累加网络 |
US8929539B2 (en) * | 2011-12-22 | 2015-01-06 | Intel Corporation | Instructions to perform Groestl hashing |
CN104011651B (zh) * | 2011-12-22 | 2017-10-20 | 英特尔公司 | 用于执行向量计算指令的方法、装置和系统 |
WO2013095504A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Matrix multiply accumulate instruction |
US9798541B2 (en) * | 2011-12-23 | 2017-10-24 | Intel Corporation | Apparatus and method for propagating conditionally evaluated values in SIMD/vector execution using an input mask register |
US9632980B2 (en) * | 2011-12-23 | 2017-04-25 | Intel Corporation | Apparatus and method of mask permute instructions |
WO2013095634A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing a horizontal partial sum in response to a single instruction |
CN103999037B (zh) * | 2011-12-23 | 2020-03-06 | 英特尔公司 | 用于响应于单个指令来执行横向相加或相减的系统、装置和方法 |
CN104040482B (zh) * | 2011-12-28 | 2018-02-16 | 英特尔公司 | 用于在打包数据元素上执行增量解码的系统、装置和方法 |
KR20130090147A (ko) * | 2012-02-03 | 2013-08-13 | 안병익 | 신경망 컴퓨팅 장치 및 시스템과 그 방법 |
US8706971B1 (en) * | 2012-03-14 | 2014-04-22 | Netapp, Inc. | Caching and deduplication of data blocks in cache memory |
US9575753B2 (en) * | 2012-03-15 | 2017-02-21 | International Business Machines Corporation | SIMD compare instruction using permute logic for distributed register files |
US9715383B2 (en) * | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
CN102629913B (zh) * | 2012-04-11 | 2014-12-24 | 浙江大学 | 适用于全局异步局部同步片上互连网络的路由器装置 |
EP2831360B1 (en) * | 2012-05-31 | 2018-12-26 | Landmark Graphics Corporation | Systems and methods for optimal positioning of drilling pads |
CN102724482B (zh) * | 2012-06-18 | 2015-08-26 | 西安电子科技大学 | 基于gps和gis的智能视觉传感网络运动目标接力跟踪系统 |
US10095516B2 (en) * | 2012-06-29 | 2018-10-09 | Intel Corporation | Vector multiplication with accumulation in large register space |
US9342479B2 (en) * | 2012-08-23 | 2016-05-17 | Qualcomm Incorporated | Systems and methods of data extraction in a vector processor |
CN102880341B (zh) * | 2012-08-29 | 2015-08-05 | 北京集创北方科技有限公司 | 触摸屏数据处理系统、方法及专用alu |
CN103699360B (zh) * | 2012-09-27 | 2016-09-21 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
CN103064086B (zh) * | 2012-11-04 | 2014-09-17 | 北京工业大学 | 一种基于深度信息的车辆跟踪方法 |
CN103002147A (zh) * | 2012-11-29 | 2013-03-27 | 广东欧珀移动通信有限公司 | 一种移动终端自动应答方法和装置 |
US9419792B2 (en) * | 2012-12-28 | 2016-08-16 | Intel Corporation | Instruction for accelerating SNOW 3G wireless security algorithm |
US9405538B2 (en) * | 2012-12-28 | 2016-08-02 | Intel Corporation | Functional unit having tree structure to support vector sorting algorithm and other algorithms |
US9513906B2 (en) * | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9804840B2 (en) * | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9430164B1 (en) * | 2013-02-08 | 2016-08-30 | Emc Corporation | Memory efficient sanitization of a deduplicated storage system |
US9231898B2 (en) * | 2013-02-08 | 2016-01-05 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
JP5852601B2 (ja) * | 2013-02-26 | 2016-02-03 | 日本電信電話株式会社 | ネットワーク設計装置およびネットワーク設計プログラム |
US9349386B2 (en) * | 2013-03-07 | 2016-05-24 | Analog Device Global | System and method for processor wake-up based on sensor data |
US9542933B2 (en) | 2013-03-08 | 2017-01-10 | Analog Devices Global | Microphone circuit assembly and system with speech recognition |
US9094576B1 (en) * | 2013-03-12 | 2015-07-28 | Amazon Technologies, Inc. | Rendered audiovisual communication |
US9250916B2 (en) * | 2013-03-12 | 2016-02-02 | International Business Machines Corporation | Chaining between exposed vector pipelines |
US9417880B2 (en) * | 2013-03-15 | 2016-08-16 | Intel Corporation | Instruction for performing an overload check |
CN104123250B (zh) * | 2013-04-25 | 2019-02-01 | 上海联影医疗科技有限公司 | 基于dma的数据传输方法 |
CN103294648B (zh) * | 2013-05-08 | 2016-06-01 | 中国人民解放军国防科学技术大学 | 支持多mac运算部件向量处理器的分块矩阵乘法向量化方法 |
CN104157285B (zh) * | 2013-05-14 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置及电子设备 |
CN103368701B (zh) * | 2013-07-12 | 2016-06-08 | 中国科学技术大学 | 一种基于吉文斯旋转的物理层多播多流数据传输方法 |
CN104376842A (zh) * | 2013-08-12 | 2015-02-25 | 清华大学 | 神经网络语言模型的训练方法、装置以及语音识别方法 |
US9405728B2 (en) * | 2013-09-05 | 2016-08-02 | Altera Corporation | Floating-point adder circuitry |
US9542626B2 (en) * | 2013-09-06 | 2017-01-10 | Toyota Jidosha Kabushiki Kaisha | Augmenting layer-based object detection with deep convolutional neural networks |
EP2851786A1 (en) * | 2013-09-23 | 2015-03-25 | Telefonaktiebolaget L M Ericsson (publ) | Instruction class for digital signal processors |
CN103530276B (zh) * | 2013-09-25 | 2016-06-22 | 中国科学技术大学 | 一种基于龙芯3b的自适应矩阵乘法优化方法 |
US20160293167A1 (en) * | 2013-10-10 | 2016-10-06 | Google Inc. | Speaker recognition using neural networks |
CN103646007A (zh) | 2013-12-18 | 2014-03-19 | 北京经纬恒润科技有限公司 | 数据处理方法、装置及系统 |
US11132328B2 (en) * | 2013-12-20 | 2021-09-28 | Rambus, Inc. | High level instructions with lower-level assembly code style primitives within a memory appliance for accessing memory |
US9507595B2 (en) * | 2014-02-28 | 2016-11-29 | International Business Machines Corporation | Execution of multi-byte memory access instruction specifying endian mode that overrides current global endian mode |
US9740659B2 (en) * | 2014-03-19 | 2017-08-22 | International Business Machines Corporation | Merging and sorting arrays on an SIMD processor |
CN103856727B (zh) * | 2014-03-24 | 2017-01-25 | 北京工业大学 | 一种多路实时视频拼接处理系统 |
CN105446970A (zh) * | 2014-06-10 | 2016-03-30 | 华为技术有限公司 | 推荐项目的方法和装置 |
CN104158753B (zh) * | 2014-06-12 | 2017-10-24 | 南京工程学院 | 基于软件定义网络的动态流调度方法及系统 |
CN104077138B (zh) * | 2014-06-27 | 2017-08-29 | 中国科学院计算技术研究所 | 一种集成网络路由器的众核处理器系统及其集成方法和实现方法 |
US9798519B2 (en) * | 2014-07-02 | 2017-10-24 | Via Alliance Semiconductor Co., Ltd. | Standard format intermediate result |
KR101844932B1 (ko) * | 2014-09-16 | 2018-04-03 | 한국전자통신연구원 | 신호처리 알고리즘이 통합된 심층 신경망 기반의 음성인식 장치 및 이의 학습방법 |
US10061746B2 (en) * | 2014-09-26 | 2018-08-28 | Intel Corporation | Instruction and logic for a vector format for processing computations |
CN104219505A (zh) * | 2014-09-29 | 2014-12-17 | 济南中维世纪科技有限公司 | 一种基于PCIe的多路高清模拟音视频采集系统 |
CN104376326B (zh) * | 2014-11-02 | 2017-06-16 | 吉林大学 | 一种用于图像场景识别的特征提取方法 |
US20160139921A1 (en) * | 2014-11-14 | 2016-05-19 | Intel Corporation | Vector instruction to compute coordiante of next point in a z-order curve |
CN105703978A (zh) * | 2014-11-24 | 2016-06-22 | 武汉物联远科技有限公司 | 智能家居控制系统和方法 |
EP3035204B1 (en) * | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
US9851970B2 (en) * | 2014-12-23 | 2017-12-26 | Intel Corporation | Method and apparatus for performing reduction operations on a set of vector elements |
CN105787888A (zh) * | 2014-12-23 | 2016-07-20 | 联芯科技有限公司 | 人脸图像美化方法 |
CN104537630A (zh) * | 2015-01-22 | 2015-04-22 | 厦门美图之家科技有限公司 | 一种基于年龄估计的图像美颜方法和装置 |
CN106034145B (zh) * | 2015-03-12 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 数据处理的方法和系统 |
CN106302837B (zh) * | 2015-05-12 | 2019-08-06 | 青岛海信宽带多媒体技术有限公司 | 一种光网络单元的mac地址表管理方法及装置 |
CN104834747B (zh) * | 2015-05-25 | 2018-04-27 | 中国科学院自动化研究所 | 基于卷积神经网络的短文本分类方法 |
CN104850845B (zh) * | 2015-05-30 | 2017-12-26 | 大连理工大学 | 一种基于非对称卷积神经网络的交通标志识别方法 |
CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
US11755484B2 (en) * | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
KR102371188B1 (ko) * | 2015-06-30 | 2022-03-04 | 삼성전자주식회사 | 음성 인식 장치 및 방법과 전자 장치 |
CN105068998B (zh) * | 2015-07-29 | 2017-12-15 | 百度在线网络技术(北京)有限公司 | 基于神经网络模型的翻译方法及装置 |
DE102015009981A1 (de) * | 2015-07-31 | 2017-02-02 | Eberhard Karls Universität Tübingen | Verfahren und Vorrichtung zur Bildsynthese |
US10198872B2 (en) * | 2015-08-10 | 2019-02-05 | The Board Of Trustees Of The Leland Stanford Junior University | 3D reconstruction and registration of endoscopic data |
CN105069304B (zh) * | 2015-08-18 | 2019-04-05 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于机器学习的评估预测asd的装置 |
CN106484682B (zh) * | 2015-08-25 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 基于统计的机器翻译方法、装置及电子设备 |
CN105160340A (zh) * | 2015-08-31 | 2015-12-16 | 桂林电子科技大学 | 一种车辆品牌识别系统及方法 |
EP3350690B1 (en) * | 2015-09-19 | 2022-11-09 | Microsoft Technology Licensing, LLC | Implicit program order |
US10789525B2 (en) * | 2015-10-02 | 2020-09-29 | Adobe Inc. | Modifying at least one attribute of an image with at least one attribute extracted from another image |
US10474627B2 (en) | 2015-10-08 | 2019-11-12 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with neural memory and array of neural processing units that collectively shift row of data received from neural memory |
CN105405443A (zh) * | 2015-10-23 | 2016-03-16 | 福州瑞芯微电子股份有限公司 | 基于ape格式的音频信号压缩处理系统及方法 |
WO2017077121A1 (en) * | 2015-11-06 | 2017-05-11 | Thomson Licensing | Method for transfer of a style of a reference visual object to another visual object, and corresponding electronic device, computer readable program products and computer readable storage medium |
US10691456B2 (en) * | 2015-11-13 | 2020-06-23 | International Business Machines Corporation | Vector store instruction having instruction-specified byte count to be stored supporting big and little endian processing |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN105468546B (zh) * | 2015-11-17 | 2017-04-12 | 中国科学院计算技术研究所 | 互连电路的数据处理装置和方法 |
CN105468335B (zh) * | 2015-11-24 | 2017-04-12 | 中国科学院计算技术研究所 | 流水级运算装置、数据处理方法及片上网络芯片 |
CN105354006B (zh) * | 2015-11-27 | 2017-11-21 | 中国科学院计算技术研究所 | 一种非线性函数的快速运算装置及其方法 |
CN105512676A (zh) * | 2015-11-30 | 2016-04-20 | 华南理工大学 | 一种智能终端上的食物识别方法 |
CN106844368B (zh) * | 2015-12-03 | 2020-06-16 | 华为技术有限公司 | 用于人机对话的方法、神经网络系统和用户设备 |
CN105609141B (zh) * | 2015-12-18 | 2018-08-10 | 中国科学院计算技术研究所 | 一种用于自动校正访问存储装置数据的装置及方法 |
US20170177348A1 (en) * | 2015-12-21 | 2017-06-22 | Intel Corporation | Instruction and Logic for Compression and Rotation |
US10467201B1 (en) * | 2015-12-23 | 2019-11-05 | Massachusetts Mutual Life Insurance Company | Systems and methods for integration and analysis of data records |
US10482380B2 (en) * | 2015-12-30 | 2019-11-19 | Amazon Technologies, Inc. | Conditional parallel processing in fully-connected neural networks |
US20170193397A1 (en) * | 2015-12-30 | 2017-07-06 | Accenture Global Solutions Limited | Real time organization pulse gathering and analysis using machine learning and artificial intelligence |
US20170193361A1 (en) * | 2015-12-31 | 2017-07-06 | Microsoft Technology Licensing, Llc | Neural network training performance optimization framework |
US9760807B2 (en) * | 2016-01-08 | 2017-09-12 | Siemens Healthcare Gmbh | Deep image-to-image network learning for medical image analysis |
CN105721354B (zh) * | 2016-01-18 | 2019-06-14 | 云南磊奥明科技有限公司 | 片上网络互联方法及装置 |
CN111580865B (zh) * | 2016-01-20 | 2024-02-27 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN106991477B (zh) * | 2016-01-20 | 2020-08-14 | 中科寒武纪科技股份有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN111353589B (zh) * | 2016-01-20 | 2024-03-01 | 中科寒武纪科技股份有限公司 | 用于执行人工神经网络正向运算的装置和方法 |
CN106991073B (zh) * | 2016-01-20 | 2020-06-05 | 中科寒武纪科技股份有限公司 | 用于向量运算的数据读写调度器及保留站 |
CN105512723B (zh) * | 2016-01-20 | 2018-02-16 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
CN106991478B (zh) * | 2016-01-20 | 2020-05-08 | 中科寒武纪科技股份有限公司 | 用于执行人工神经网络反向训练的装置和方法 |
CN105787557B (zh) * | 2016-02-23 | 2019-04-19 | 北京工业大学 | 一种计算机智能识别的深层神经网络结构设计方法 |
KR101784944B1 (ko) * | 2016-02-26 | 2017-10-12 | 삼성중공업 주식회사 | 과전압 억제필터의 구성방법 |
CN105719327B (zh) * | 2016-02-29 | 2018-09-07 | 北京中邮云天科技有限公司 | 一种艺术风格化图像处理方法 |
CN205582481U (zh) * | 2016-03-16 | 2016-09-14 | 中航华东光电(上海)有限公司 | 可加载个性化特征模型的语音识别系统 |
CN107203775B (zh) * | 2016-03-18 | 2021-07-27 | 斑马智行网络(香港)有限公司 | 一种图像分类的方法、装置和设备 |
CN105844330B (zh) * | 2016-03-22 | 2019-06-28 | 华为技术有限公司 | 神经网络处理器的数据处理方法及神经网络处理器 |
CN105869117B (zh) * | 2016-03-28 | 2021-04-02 | 上海交通大学 | 一种针对深度学习超分辨率技术的gpu加速方法 |
CN105892989B (zh) * | 2016-03-28 | 2017-04-12 | 中国科学院计算技术研究所 | 一种神经网络加速器及其运算方法 |
CN105912476A (zh) * | 2016-04-06 | 2016-08-31 | 中国科学院计算技术研究所 | 片上重复寻址的方法及装置 |
CN105912667A (zh) * | 2016-04-12 | 2016-08-31 | 玉环看知信息科技有限公司 | 一种信息推荐方法、装置及移动终端 |
CN107301454B (zh) * | 2016-04-15 | 2021-01-22 | 中科寒武纪科技股份有限公司 | 支持离散数据表示的人工神经网络反向训练装置和方法 |
CN107301453B (zh) * | 2016-04-15 | 2021-04-20 | 中科寒武纪科技股份有限公司 | 支持离散数据表示的人工神经网络正向运算装置和方法 |
WO2017177442A1 (zh) * | 2016-04-15 | 2017-10-19 | 北京中科寒武纪科技有限公司 | 支持离散数据表示的人工神经网络正向运算装置和方法 |
CN105930902B (zh) * | 2016-04-18 | 2018-08-10 | 中国科学院计算技术研究所 | 一种神经网络的处理方法、系统 |
CN107305484B (zh) * | 2016-04-19 | 2021-11-05 | 中科寒武纪科技股份有限公司 | 一种非线性函数运算装置及方法 |
CN105869024A (zh) * | 2016-04-20 | 2016-08-17 | 北京小米移动软件有限公司 | 商品的推荐方法及装置 |
CN105956608A (zh) * | 2016-04-21 | 2016-09-21 | 恩泊泰(天津)科技有限公司 | 一种基于深度学习的目标定位、分类算法 |
CN105913039B (zh) * | 2016-04-26 | 2020-08-18 | 北京光年无限科技有限公司 | 基于视觉和语音的对话数据交互处理方法及装置 |
CN106022468B (zh) * | 2016-05-17 | 2018-06-01 | 成都启英泰伦科技有限公司 | 人工神经网络处理器集成电路及该集成电路的设计方法 |
CN106067031B (zh) * | 2016-05-26 | 2019-05-24 | 北京新长征天高智机科技有限公司 | 基于人工纠错机制与深度学习网络协作机器视觉识别系统 |
CN105895082A (zh) * | 2016-05-30 | 2016-08-24 | 乐视控股(北京)有限公司 | 声学模型训练方法、语音识别方法及装置 |
CN106095834A (zh) * | 2016-06-01 | 2016-11-09 | 竹间智能科技(上海)有限公司 | 基于话题的智能对话方法及系统 |
CN106066783A (zh) * | 2016-06-02 | 2016-11-02 | 华为技术有限公司 | 基于幂次权重量化的神经网络前向运算硬件结构 |
CN106096542B (zh) * | 2016-06-08 | 2020-02-11 | 中国科学院上海高等研究院 | 基于距离预测信息的图像视频场景识别方法 |
CN106127672B (zh) * | 2016-06-21 | 2019-03-12 | 南京信息工程大学 | 基于fpga的图像纹理特征提取算法 |
CN106126507B (zh) * | 2016-06-22 | 2019-08-09 | 哈尔滨工业大学深圳研究生院 | 一种基于字符编码的深度神经翻译方法及系统 |
CN106227507B (zh) * | 2016-07-11 | 2019-10-18 | 北京深鉴智能科技有限公司 | 计算系统及其控制器 |
CN106228512A (zh) * | 2016-07-19 | 2016-12-14 | 北京工业大学 | 基于学习率自适应的卷积神经网络图像超分辨率重建方法 |
CN106228162B (zh) | 2016-07-22 | 2019-05-17 | 王威 | 一种基于深度学习的移动机器人快速物体识别方法 |
CN106296667A (zh) * | 2016-08-01 | 2017-01-04 | 乐视控股(北京)有限公司 | 手形检测方法和系统 |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
US9864933B1 (en) * | 2016-08-23 | 2018-01-09 | Jasmin Cosic | Artificially intelligent systems, devices, and methods for learning and/or using visual surrounding for autonomous object operation |
CN106408595A (zh) * | 2016-08-31 | 2017-02-15 | 上海交通大学 | 一种基于神经网络画风学习的图像渲染方法 |
WO2018042388A1 (en) * | 2016-09-02 | 2018-03-08 | Artomatix Ltd. | Systems and methods for providing convolutional neural network based image synthesis using stable and controllable parametric models, a multiscale synthesis framework and novel network architectures |
CN106408086A (zh) * | 2016-09-12 | 2017-02-15 | 上海影城有限公司 | 用于图像优化的深度学习神经网络处理方法及系统 |
CN106503055B (zh) * | 2016-09-27 | 2019-06-04 | 天津大学 | 一种从结构化文本到图像描述的生成方法 |
CN106650922B (zh) * | 2016-09-29 | 2019-05-03 | 清华大学 | 硬件神经网络转换方法、计算装置、软硬件协作系统 |
WO2018058509A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Dynamic neural network surgery |
CN116823593A (zh) * | 2016-10-21 | 2023-09-29 | 谷歌有限责任公司 | 风格化输入图像 |
CN106447034B (zh) * | 2016-10-27 | 2019-07-30 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106548208B (zh) * | 2016-10-28 | 2019-05-28 | 杭州米绘科技有限公司 | 一种照片图像快速智能风格化方法 |
CN106778472A (zh) * | 2016-11-17 | 2017-05-31 | 成都通甲优博科技有限责任公司 | 基于深度学习的输电走廊常见侵入物目标检测与识别方法 |
CN106780367B (zh) * | 2016-11-28 | 2019-11-15 | 上海大学 | 基于字典学习的hdr照片风格转移方法 |
US10916001B2 (en) * | 2016-11-28 | 2021-02-09 | Adobe Inc. | Facilitating sketch to painting transformations |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
CN106778928B (zh) * | 2016-12-21 | 2020-08-04 | 广州华多网络科技有限公司 | 图像处理方法及装置 |
CN106815321A (zh) * | 2016-12-27 | 2017-06-09 | 深圳前海勇艺达机器人有限公司 | 基于智能聊天机器人的聊天方法及装置 |
CN106782501B (zh) * | 2016-12-28 | 2020-07-24 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音特征提取方法和装置 |
CN106604216A (zh) * | 2016-12-31 | 2017-04-26 | 广州博冠光电技术有限公司 | 一种双向语音与操作控制数据的传输控制方法及系统 |
CN106775599B (zh) * | 2017-01-09 | 2019-03-01 | 南京工业大学 | 递归神经网络的多计算单元粗粒度可重构系统及方法 |
CN106898350A (zh) * | 2017-01-16 | 2017-06-27 | 华南理工大学 | 一种基于深度学习的智能工业机器人语音交互与控制方法 |
CN106844627B (zh) * | 2017-01-20 | 2020-06-19 | 竹间智能科技(上海)有限公司 | 基于对话系统的在线学习方法及装置 |
CN106845549B (zh) * | 2017-01-22 | 2020-08-21 | 珠海习悦信息技术有限公司 | 一种基于多任务学习的场景与目标识别的方法及装置 |
CN106709532B (zh) * | 2017-01-25 | 2020-03-10 | 京东方科技集团股份有限公司 | 图像处理方法和装置 |
CN106952235B (zh) * | 2017-02-10 | 2019-07-26 | 维沃移动通信有限公司 | 一种图像处理方法和移动终端 |
US10482639B2 (en) * | 2017-02-21 | 2019-11-19 | Adobe Inc. | Deep high-resolution style synthesis |
CN106951961B (zh) * | 2017-02-24 | 2019-11-26 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息系统(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
CN107038159B (zh) * | 2017-03-09 | 2019-07-12 | 清华大学 | 一种基于无监督领域自适应的神经网络机器翻译方法 |
CN106850673A (zh) * | 2017-03-09 | 2017-06-13 | 福建省汽车工业集团云度新能源汽车股份有限公司 | 基于声纹识别的汽车用户登入方法及装置 |
CN106887225B (zh) * | 2017-03-21 | 2020-04-07 | 百度在线网络技术(北京)有限公司 | 基于卷积神经网络的声学特征提取方法、装置和终端设备 |
CN106920545B (zh) * | 2017-03-21 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音特征提取方法和装置 |
CN106898353A (zh) * | 2017-03-23 | 2017-06-27 | 东华理工大学 | 一种智能家居语音控制系统及其语音识别方法 |
CN107169503B (zh) * | 2017-03-27 | 2020-05-22 | 中国科学院深圳先进技术研究院 | 一种室内场景的分类方法及装置 |
CN106970896B (zh) * | 2017-03-30 | 2020-05-12 | 中国人民解放军国防科学技术大学 | 面向向量处理器的二维矩阵卷积的向量化实现方法 |
CN106952224B (zh) * | 2017-03-30 | 2019-08-13 | 电子科技大学 | 一种基于卷积神经网络的图像风格转移方法 |
US10152768B2 (en) * | 2017-04-14 | 2018-12-11 | Facebook, Inc. | Artifact reduction for image style transfer |
CN107194938A (zh) * | 2017-04-17 | 2017-09-22 | 上海大学 | 基于深度卷积神经网络的图像轮廓检测方法 |
CN107133222A (zh) * | 2017-04-17 | 2017-09-05 | 中译语通科技(北京)有限公司 | 一种基于异质架构的实时语言转换装置及转换方法 |
CN107092883A (zh) | 2017-04-20 | 2017-08-25 | 上海极链网络科技有限公司 | 物体识别追踪方法 |
CN107193773A (zh) * | 2017-04-20 | 2017-09-22 | 北京安云世纪科技有限公司 | 一种数据处理方法、装置及移动终端 |
CN107067825A (zh) * | 2017-04-27 | 2017-08-18 | 四川九洲空管科技有限责任公司 | 一种机载防撞系统的语音告警系统及其语音告警方法 |
CN107124609A (zh) * | 2017-04-27 | 2017-09-01 | 京东方科技集团股份有限公司 | 一种视频图像的处理系统、其处理方法及显示装置 |
CN107171932B (zh) * | 2017-04-27 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 一种图片风格转换方法、装置及系统 |
US20200193225A1 (en) * | 2017-04-28 | 2020-06-18 | Toyota Motor Europe | System and method for detecting objects in a digital image, and system and method for rescoring object detections |
CN107247930A (zh) * | 2017-05-26 | 2017-10-13 | 西安电子科技大学 | 基于cnn和选择性注意机制的sar图像目标检测方法 |
CN107291704B (zh) * | 2017-05-26 | 2020-12-11 | 北京搜狗科技发展有限公司 | 处理方法和装置、用于处理的装置 |
US10504267B2 (en) * | 2017-06-06 | 2019-12-10 | Adobe Inc. | Generating a stylized image or stylized animation by matching semantic features via an appearance guide, a segmentation guide, and/or a temporal guide |
CN107301383B (zh) * | 2017-06-07 | 2020-11-24 | 华南理工大学 | 一种基于Fast R-CNN的路面交通标志识别方法 |
CN107221337B (zh) * | 2017-06-08 | 2018-08-31 | 腾讯科技(深圳)有限公司 | 数据滤波方法、多人语音通话方法以及相关设备 |
CN107240185B (zh) * | 2017-06-23 | 2019-09-20 | 深圳怡化电脑股份有限公司 | 一种冠字号识别方法、装置、设备及存储介质 |
US9959272B1 (en) * | 2017-07-21 | 2018-05-01 | Memsource a.s. | Automatic classification and translation of written segments |
US11227108B2 (en) * | 2017-09-11 | 2022-01-18 | Nec Corporation | Convolutional neural network architecture with adaptive filters |
WO2019071618A1 (zh) * | 2017-10-09 | 2019-04-18 | 华为技术有限公司 | 一种图像处理方法及设备 |
EP3627397B1 (en) * | 2017-10-20 | 2022-07-27 | Shanghai Cambricon Information Technology Co., Ltd | Processing method and apparatus |
CN107730474B (zh) * | 2017-11-09 | 2022-02-22 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置和处理设备 |
CN107977704B (zh) * | 2017-11-10 | 2020-07-31 | 中国科学院计算技术研究所 | 权重数据存储方法和基于该方法的神经网络处理器 |
US11501153B2 (en) * | 2017-12-28 | 2022-11-15 | Intel Corporation | Methods and apparatus for training a neural network |
US11113578B1 (en) * | 2020-04-13 | 2021-09-07 | Adobe, Inc. | Learned model-based image rendering |
-
2017
- 2017-10-30 CN CN201711212122.7A patent/CN107833176A/zh active Pending
- 2017-10-30 CN CN201711244020.3A patent/CN109725936B/zh active Active
- 2017-10-30 CN CN201810801238.2A patent/CN109003603A/zh active Pending
- 2017-10-30 CN CN201711212991.XA patent/CN107992486A/zh active Pending
- 2017-10-30 CN CN201810849492.XA patent/CN108874445A/zh active Pending
- 2017-10-30 CN CN201810849488.3A patent/CN109034383B/zh active Active
- 2017-10-30 CN CN201810849479.4A patent/CN109063830A/zh active Pending
- 2017-10-30 CN CN201810800665.9A patent/CN108898554A/zh active Pending
- 2017-10-30 CN CN201711212123.1A patent/CN107993206A/zh active Pending
- 2017-10-30 CN CN201810849483.0A patent/CN109062606B/zh active Active
- 2017-10-30 CN CN201711212995.8A patent/CN107832845A/zh active Pending
- 2017-10-30 CN CN201711212660.6A patent/CN107895191B/zh active Active
- 2017-10-30 CN CN201810801239.7A patent/CN109034382A/zh active Pending
- 2017-10-30 CN CN201811440571.1A patent/CN109542515B/zh active Active
- 2017-10-30 CN CN201811440484.6A patent/CN109522254B/zh active Active
- 2017-10-30 CN CN201810849491.5A patent/CN109063831A/zh active Pending
- 2017-10-30 CN CN201810849480.7A patent/CN108984211B/zh active Active
- 2017-10-30 CN CN201810849497.2A patent/CN109086074B/zh active Active
- 2017-10-30 CN CN201811436410.5A patent/CN109542514B/zh active Active
- 2017-10-30 CN CN201711212125.0A patent/CN107832804A/zh active Pending
- 2017-10-30 CN CN201810800664.4A patent/CN109064384A/zh active Pending
- 2017-10-30 CN CN201810799987.6A patent/CN109117947A/zh active Pending
- 2017-10-30 CN CN201810849486.4A patent/CN109062539A/zh active Pending
- 2017-10-30 CN CN201810799954.1A patent/CN108986022A/zh active Pending
- 2017-10-30 CN CN201810799988.0A patent/CN109003132B/zh active Active
- 2017-10-30 CN CN201810849499.1A patent/CN109086075B/zh active Active
- 2017-10-30 CN CN201810849484.5A patent/CN109117183B/zh active Active
- 2017-10-30 CN CN201810849485.XA patent/CN108874444A/zh active Pending
- 2017-10-30 CN CN201711212656.XA patent/CN107832843B/zh active Active
- 2017-10-30 CN CN201711036374.9A patent/CN109726806A/zh active Pending
- 2017-10-30 CN CN201810849509.1A patent/CN109117184A/zh active Pending
- 2017-10-30 CN CN201711211933.5A patent/CN107844832A/zh active Pending
- 2017-10-30 CN CN201810800001.2A patent/CN108875926A/zh active Pending
- 2017-10-30 CN CN201810849496.8A patent/CN109062607B/zh active Active
- 2017-10-30 CN CN201810801236.3A patent/CN109117948B/zh active Active
- 2017-10-30 CN CN201711212994.3A patent/CN107832844A/zh active Pending
- 2017-10-30 CN CN201810849498.7A patent/CN108958801B/zh active Active
-
2018
- 2018-09-13 CN CN202010336354.9A patent/CN111310910B/zh active Active
- 2018-09-13 CN CN201880002336.8A patent/CN109997154A/zh active Pending
- 2018-09-13 CN CN202010190142.4A patent/CN111160548B/zh active Active
- 2018-09-13 CN CN202010189354.0A patent/CN111178521A/zh active Pending
- 2018-09-13 US US16/760,235 patent/US20210182077A1/en active Pending
- 2018-09-13 WO PCT/CN2018/105463 patent/WO2019085655A1/zh unknown
- 2018-09-13 CN CN201911062123.7A patent/CN110610236B/zh active Active
- 2018-09-13 CN CN201911058910.4A patent/CN110689126B/zh active Active
- 2018-09-13 CN CN202010309559.8A patent/CN111291880A/zh active Pending
- 2018-09-13 CN CN201911058839.XA patent/CN110689125A/zh active Pending
- 2018-09-13 CN CN201910070501.XA patent/CN110084361B/zh active Active
- 2018-09-13 CN CN201910067288.7A patent/CN109523020A/zh active Pending
- 2018-09-13 CN CN202010190143.9A patent/CN111160549A/zh active Pending
- 2018-09-13 EP EP18873474.3A patent/EP3709224A4/en active Pending
-
2020
- 2020-12-11 US US17/119,309 patent/US11762631B2/en active Active
- 2020-12-11 US US17/119,148 patent/US11922132B2/en active Active
- 2020-12-11 US US17/119,029 patent/US20210157992A1/en active Pending
- 2020-12-11 US US17/119,234 patent/US20210158484A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020015326A1 (en) * | 2000-05-31 | 2002-02-07 | Paolo Rolandi | Circuital structure for programming data in a non-volatile memory device |
CN101556565A (zh) * | 2009-01-22 | 2009-10-14 | 杭州中天微系统有限公司 | 嵌入式处理器的片上高性能dma |
CN102750127A (zh) * | 2012-06-12 | 2012-10-24 | 清华大学 | 一种协处理器 |
CN105122228A (zh) * | 2013-04-17 | 2015-12-02 | 密克罗奇普技术公司 | 具有混合的散射-聚集功能性的直接存储器存取控制器 |
CN104461970A (zh) * | 2013-09-18 | 2015-03-25 | 中兴通讯股份有限公司 | Dma控制器、移动终端以及数据搬运方法 |
CN106991077A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种矩阵计算装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831337B (zh) * | 2019-04-19 | 2022-11-29 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
CN111831337A (zh) * | 2019-04-19 | 2020-10-27 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
CN110780921A (zh) * | 2019-08-30 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN110780921B (zh) * | 2019-08-30 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN112579042A (zh) * | 2019-09-29 | 2021-03-30 | 北京希姆计算科技有限公司 | 计算装置及方法、芯片、电子设备及计算机可读存储介质 |
CN112579042B (zh) * | 2019-09-29 | 2024-04-19 | 广州希姆半导体科技有限公司 | 计算装置及方法、芯片、电子设备及计算机可读存储介质 |
CN111242293A (zh) * | 2020-01-13 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种处理部件、数据处理的方法以及电子设备 |
CN112181492A (zh) * | 2020-09-23 | 2021-01-05 | 北京奕斯伟计算技术有限公司 | 一种指令处理方法、指令处理装置和芯片 |
CN113138804B (zh) * | 2021-04-20 | 2022-10-04 | 清华大学 | 在传输过程中提取流数据特征的流处理器及其实现方法 |
CN113138804A (zh) * | 2021-04-20 | 2021-07-20 | 清华大学 | 在传输过程中提取流数据特征的流处理器及其实现方法 |
CN113918883B (zh) * | 2021-11-03 | 2022-05-27 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
CN113918883A (zh) * | 2021-11-03 | 2022-01-11 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
CN116188247A (zh) * | 2023-02-06 | 2023-05-30 | 格兰菲智能科技有限公司 | 寄存器信息处理方法、装置、计算机设备、存储介质 |
CN116188247B (zh) * | 2023-02-06 | 2024-04-12 | 格兰菲智能科技有限公司 | 寄存器信息处理方法、装置、计算机设备、存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522254A (zh) | 运算装置及方法 | |
US20230020571A1 (en) | Method and apparatus for distributed and cooperative computation in artificial neural networks | |
CN103221933B (zh) | 从通用寄存器文件向simd寄存器文件移动数据的方法和装置 | |
CN103617150B (zh) | 一种基于gpu的大规模电力系统潮流并行计算的系统及其方法 | |
US11604649B2 (en) | Techniques for efficiently transferring data to a processor | |
CN110036369A (zh) | 一种计算方法及相关产品 | |
KR20170099848A (ko) | 컨볼루션 연산을 수행하기 위한 저장 디바이스 및 방법 | |
CN103246542B (zh) | 智能缓存及智能终端 | |
CN109791487A (zh) | 用于将多个数据元素加载到除紧缩数据寄存器之外的目的地存储位置的处理器、方法、系统和指令 | |
US20210263739A1 (en) | Vector reductions using shared scratchpad memory | |
CN108804356A (zh) | 数据传输装置及方法 | |
US11907717B2 (en) | Techniques for efficiently transferring data to a processor | |
CN105468439A (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法 | |
CN108205447A (zh) | 使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎 | |
CN106293736A (zh) | 用于粗粒度多核计算系统的两级编程模型及其编程方法 | |
US20230289292A1 (en) | Method and apparatus for efficient access to multidimensional data structures and/or other large data blocks | |
CN106407137A (zh) | 基于邻域模型的协同过滤推荐算法的硬件加速器和方法 | |
Struharik et al. | Stick buffer cache v2: Improved input feature map cache for reducing off-chip memory traffic in CNN accelerators | |
US20230289398A1 (en) | Efficient Matrix Multiply and Add with a Group of Warps | |
US20230289304A1 (en) | Method and apparatus for efficient access to multidimensional data structures and/or other large data blocks | |
CN115408309A (zh) | 一种ai处理器的缓存管理方法及应用其的ai处理器 | |
KR20240049679A (ko) | 인공 신경망에서의 분산 및 협력 계산을 위한 방법 및 장치 |
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 |