CN107315574B - 一种用于执行矩阵乘运算的装置和方法 - Google Patents
一种用于执行矩阵乘运算的装置和方法 Download PDFInfo
- Publication number
- CN107315574B CN107315574B CN201610266627.0A CN201610266627A CN107315574B CN 107315574 B CN107315574 B CN 107315574B CN 201610266627 A CN201610266627 A CN 201610266627A CN 107315574 B CN107315574 B CN 107315574B
- Authority
- CN
- China
- Prior art keywords
- matrix
- instruction
- module
- multiplication
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 359
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 88
- 238000012545 processing Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000009825 accumulation Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
-
- 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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3557—Indexed addressing using program counter as base address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
Description
Claims (16)
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011394971.0A CN112612521A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201911203825.2A CN111090467A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201911203822.9A CN111104164A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201610266627.0A CN107315574B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201811233425.1A CN109240746B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
PCT/CN2016/081067 WO2017185389A1 (zh) | 2016-04-26 | 2016-05-05 | 一种用于执行矩阵乘运算的装置和方法 |
EP16899900.1A EP3451162B1 (en) | 2016-04-26 | 2016-05-05 | Device and method for use in executing matrix multiplication operations |
US16/171,291 US10592241B2 (en) | 2016-04-26 | 2018-10-25 | Apparatus and methods for matrix multiplication |
US16/655,688 US11080049B2 (en) | 2016-04-26 | 2019-10-17 | Apparatus and methods for matrix multiplication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610266627.0A CN107315574B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
Related Child Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011394971.0A Division CN112612521A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201811233425.1A Division CN109240746B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201911203822.9A Division CN111104164A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201911203825.2A Division CN111090467A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315574A CN107315574A (zh) | 2017-11-03 |
CN107315574B true CN107315574B (zh) | 2021-01-01 |
Family
ID=60160570
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911203825.2A Pending CN111090467A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN202011394971.0A Pending CN112612521A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201811233425.1A Active CN109240746B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201911203822.9A Pending CN111104164A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201610266627.0A Active CN107315574B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911203825.2A Pending CN111090467A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN202011394971.0A Pending CN112612521A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201811233425.1A Active CN109240746B (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
CN201911203822.9A Pending CN111104164A (zh) | 2016-04-26 | 2016-04-26 | 一种用于执行矩阵乘运算的装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10592241B2 (zh) |
EP (1) | EP3451162B1 (zh) |
CN (5) | CN111090467A (zh) |
WO (1) | WO2017185389A1 (zh) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090467A (zh) * | 2016-04-26 | 2020-05-01 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵乘运算的装置和方法 |
CN109754061B (zh) * | 2017-11-07 | 2023-11-24 | 上海寒武纪信息科技有限公司 | 卷积扩展指令的执行方法以及相关产品 |
CN109754062B (zh) * | 2017-11-07 | 2024-05-14 | 上海寒武纪信息科技有限公司 | 卷积扩展指令的执行方法以及相关产品 |
CN109960673B (zh) * | 2017-12-14 | 2020-02-18 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109961133B (zh) * | 2017-12-14 | 2020-04-24 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
WO2019114842A1 (zh) | 2017-12-14 | 2019-06-20 | 北京中科寒武纪科技有限公司 | 一种集成电路芯片装置 |
CN107957977B (zh) * | 2017-12-15 | 2020-04-24 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
CN108108190B (zh) * | 2017-12-15 | 2020-01-24 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
CN108121688B (zh) * | 2017-12-15 | 2020-06-23 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
CN107957976B (zh) * | 2017-12-15 | 2020-12-18 | 安徽寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
CN108037908B (zh) * | 2017-12-15 | 2021-02-09 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
CN108108189B (zh) * | 2017-12-15 | 2020-10-30 | 安徽寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
EP3719712B1 (en) * | 2017-12-27 | 2022-09-07 | Cambricon Technologies Corporation Limited | Integrated circuit chip device |
CN109992743B (zh) * | 2017-12-29 | 2020-06-16 | 华为技术有限公司 | 矩阵乘法器 |
CN109993290B (zh) | 2017-12-30 | 2021-08-06 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
EP3624019A4 (en) | 2017-12-30 | 2021-03-24 | Cambricon Technologies Corporation Limited | CHIP DEVICE WITH INTEGRATED CIRCUIT AND ASSOCIATED PRODUCT |
CN109993292B (zh) | 2017-12-30 | 2020-08-04 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109993289B (zh) | 2017-12-30 | 2021-09-21 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN108280161A (zh) * | 2018-01-17 | 2018-07-13 | 新联智慧信息技术(深圳)有限公司 | 大数据的分析方法及系统 |
CN108388446A (zh) * | 2018-02-05 | 2018-08-10 | 上海寒武纪信息科技有限公司 | 运算模块以及方法 |
US10642620B2 (en) | 2018-04-05 | 2020-05-05 | Apple Inc. | Computation engine with strided dot product |
US10970078B2 (en) | 2018-04-05 | 2021-04-06 | Apple Inc. | Computation engine with upsize/interleave and downsize/deinterleave options |
US10657442B2 (en) * | 2018-04-19 | 2020-05-19 | International Business Machines Corporation | Deep learning accelerator architecture with chunking GEMM |
CN109086244A (zh) * | 2018-07-11 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于向量处理器的矩阵卷积向量化实现方法 |
US10754649B2 (en) * | 2018-07-24 | 2020-08-25 | Apple Inc. | Computation engine that operates in matrix and vector modes |
CN108960418A (zh) * | 2018-08-08 | 2018-12-07 | 上海寒武纪信息科技有限公司 | 神经网络处理装置及其执行矩阵向量乘指令的方法 |
US10831488B1 (en) | 2018-08-20 | 2020-11-10 | Apple Inc. | Computation engine with extract instructions to minimize memory access |
CN110147222B (zh) * | 2018-09-18 | 2021-02-05 | 安徽寒武纪信息科技有限公司 | 运算装置及方法 |
CN109471612B (zh) * | 2018-09-18 | 2020-08-21 | 中科寒武纪科技股份有限公司 | 运算装置及方法 |
CN110941789B (zh) * | 2018-09-21 | 2023-12-15 | 北京地平线机器人技术研发有限公司 | 张量运算方法和装置 |
CN111353595A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111079911B (zh) * | 2018-10-19 | 2021-02-09 | 中科寒武纪科技股份有限公司 | 运算方法、系统及相关产品 |
CN109740744A (zh) * | 2018-12-13 | 2019-05-10 | 南京邮电大学 | 基于忆阻器矩阵的指定元素权值运算方法 |
US11429555B2 (en) | 2019-02-26 | 2022-08-30 | Apple Inc. | Coprocessors with bypass optimization, variable grid architecture, and fused vector operations |
JP7298210B2 (ja) * | 2019-03-14 | 2023-06-27 | オムロン株式会社 | 設定情報生成装置、設定情報生成方法、及び制御プログラム |
US10942738B2 (en) * | 2019-03-29 | 2021-03-09 | Intel Corporation | Accelerator systems and methods for matrix operations |
CN112579042B (zh) * | 2019-09-29 | 2024-04-19 | 广州希姆半导体科技有限公司 | 计算装置及方法、芯片、电子设备及计算机可读存储介质 |
CN112579971B (zh) * | 2019-09-29 | 2024-04-16 | 广州希姆半导体科技有限公司 | 矩阵运算电路、矩阵运算装置及矩阵运算方法 |
CN112711738A (zh) * | 2019-10-25 | 2021-04-27 | 安徽寒武纪信息科技有限公司 | 用于向量内积的计算装置、方法和集成电路芯片 |
CN111124360B (zh) * | 2019-12-23 | 2022-08-16 | 中国电子科技集团公司第五十八研究所 | 一种可配置矩阵乘法的加速器 |
US20210200711A1 (en) * | 2019-12-28 | 2021-07-01 | Intel Corporation | System and Method for Configurable Systolic Array with Partial Read/Write |
CN111242293B (zh) * | 2020-01-13 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 一种处理部件、数据处理的方法以及电子设备 |
CN113536221B (zh) * | 2020-04-21 | 2023-12-15 | 中科寒武纪科技股份有限公司 | 运算方法、处理器以及相关产品 |
CN111581595B (zh) * | 2020-04-24 | 2024-02-13 | 科大讯飞股份有限公司 | 一种矩阵乘法计算方法及计算电路 |
CN114692075A (zh) * | 2020-12-30 | 2022-07-01 | 中科寒武纪科技股份有限公司 | 用于矩阵乘操作的集成电路装置、计算设备、系统和方法 |
CN113076521B (zh) * | 2021-06-03 | 2021-09-21 | 沐曦集成电路(上海)有限公司 | 一种基于gpgpu可重构架构的方法及计算系统 |
KR20230046356A (ko) | 2021-09-29 | 2023-04-06 | 삼성전자주식회사 | 메모리 장치, 메모리 장치의 동작 방법, 그리고 메모리 장치를 포함하는 전자 장치 |
WO2023123453A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 运算加速的处理方法、运算加速器的使用方法及运算加速器 |
CN116795432B (zh) * | 2023-08-18 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 运算指令的执行方法、装置、电路、处理器及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584824A (zh) * | 2003-08-18 | 2005-02-23 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微处理器构架及指令实现方式 |
CN102360344A (zh) * | 2011-10-10 | 2012-02-22 | 西安交通大学 | 矩阵处理器及其指令集和嵌入式系统 |
CN103699360A (zh) * | 2012-09-27 | 2014-04-02 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4036455C1 (zh) * | 1990-11-15 | 1992-04-02 | Siemens Ag, 8000 Muenchen, De | |
JPH06342450A (ja) * | 1993-06-01 | 1994-12-13 | Fujitsu Ltd | 行列乗算装置 |
CN1210647C (zh) * | 1996-11-29 | 2005-07-13 | 松下电器产业株式会社 | 适于作由正值处理及饱和运算处理组成的修整处理的处理器 |
DE10050371A1 (de) * | 2000-10-11 | 2002-05-02 | Siemens Ag | Vorrichtung mit im kryogenen Temperaturbereich ferromagnetischem und mechanisch belastbarem Bauteil |
US6898691B2 (en) * | 2001-06-06 | 2005-05-24 | Intrinsity, Inc. | Rearranging data between vector and matrix forms in a SIMD matrix processor |
US20040122887A1 (en) * | 2002-12-20 | 2004-06-24 | Macy William W. | Efficient multiplication of small matrices using SIMD registers |
US7107436B2 (en) * | 2003-09-08 | 2006-09-12 | Freescale Semiconductor, Inc. | Conditional next portion transferring of data stream to or from register based on subsequent instruction aspect |
US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
WO2005059738A2 (en) * | 2003-12-16 | 2005-06-30 | Koninklijke Philips Electronics N.V. | Memory-efficient instruction compressing scheme |
US8028015B2 (en) * | 2007-08-10 | 2011-09-27 | Inside Contactless S.A. | Method and system for large number multiplication |
CN101620524B (zh) * | 2009-07-03 | 2011-08-10 | 中国人民解放军国防科学技术大学 | 支持矩阵整体读写操作的矩阵寄存器文件 |
US8458442B2 (en) * | 2009-08-26 | 2013-06-04 | International Business Machines Corporation | Method and structure of using SIMD vector architectures to implement matrix multiplication |
US7959061B2 (en) * | 2009-09-25 | 2011-06-14 | Multi Packaging Solutions, Inc. | Folded pot cover |
GB2476800A (en) * | 2010-01-07 | 2011-07-13 | Linear Algebra Technologies Ltd | Sparse matrix vector multiplier using a bit map of non-zero elements to control scheduling of arithmetic operations |
CN101833468B (zh) * | 2010-04-28 | 2013-05-08 | 中国科学院自动化研究所 | 在高性能计算系统中生成向量处理指令集结构的方法 |
US20120113133A1 (en) * | 2010-11-04 | 2012-05-10 | Shpigelblat Shai | System, device, and method for multiplying multi-dimensional data arrays |
CN102214160B (zh) * | 2011-07-08 | 2013-04-17 | 中国科学技术大学 | 一种基于龙芯3a的单精度矩阵乘法优化方法 |
US9384168B2 (en) * | 2013-06-11 | 2016-07-05 | Analog Devices Global | Vector matrix product accelerator for microprocessor integration |
CN103929199A (zh) * | 2014-04-23 | 2014-07-16 | 荣成市鼎通电子信息科技有限公司 | Dtmb中全并行输入的循环左移准循环矩阵乘法器 |
FR3021428B1 (fr) * | 2014-05-23 | 2017-10-13 | Kalray | Multiplication de matrices de bits utilisant des registres explicites |
US10430169B2 (en) * | 2014-05-30 | 2019-10-01 | Apple Inc. | Language, function library, and compiler for graphical and non-graphical computation on a graphical processor unit |
US9886418B2 (en) * | 2015-04-28 | 2018-02-06 | Intel Corporation | Matrix operands for linear algebra operations |
US10324730B2 (en) * | 2016-03-24 | 2019-06-18 | Mediatek, Inc. | Memory shuffle engine for efficient work execution in a parallel computing system |
CN111090467A (zh) | 2016-04-26 | 2020-05-01 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵乘运算的装置和方法 |
-
2016
- 2016-04-26 CN CN201911203825.2A patent/CN111090467A/zh active Pending
- 2016-04-26 CN CN202011394971.0A patent/CN112612521A/zh active Pending
- 2016-04-26 CN CN201811233425.1A patent/CN109240746B/zh active Active
- 2016-04-26 CN CN201911203822.9A patent/CN111104164A/zh active Pending
- 2016-04-26 CN CN201610266627.0A patent/CN107315574B/zh active Active
- 2016-05-05 WO PCT/CN2016/081067 patent/WO2017185389A1/zh active Application Filing
- 2016-05-05 EP EP16899900.1A patent/EP3451162B1/en active Active
-
2018
- 2018-10-25 US US16/171,291 patent/US10592241B2/en active Active
-
2019
- 2019-10-17 US US16/655,688 patent/US11080049B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584824A (zh) * | 2003-08-18 | 2005-02-23 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微处理器构架及指令实现方式 |
CN102360344A (zh) * | 2011-10-10 | 2012-02-22 | 西安交通大学 | 矩阵处理器及其指令集和嵌入式系统 |
CN103699360A (zh) * | 2012-09-27 | 2014-04-02 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111104164A (zh) | 2020-05-05 |
EP3451162A4 (en) | 2020-08-05 |
US11080049B2 (en) | 2021-08-03 |
CN107315574A (zh) | 2017-11-03 |
CN109240746B (zh) | 2020-12-18 |
CN112612521A (zh) | 2021-04-06 |
CN109240746A (zh) | 2019-01-18 |
US10592241B2 (en) | 2020-03-17 |
US20190065190A1 (en) | 2019-02-28 |
CN111090467A (zh) | 2020-05-01 |
EP3451162A1 (en) | 2019-03-06 |
EP3451162B1 (en) | 2021-12-29 |
US20200050453A1 (en) | 2020-02-13 |
WO2017185389A1 (zh) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107315574B (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
CN111291880B (zh) | 计算装置以及计算方法 | |
CN107315715B (zh) | 一种用于执行矩阵加/减运算的装置和方法 | |
KR102123633B1 (ko) | 행렬 연산 장치 및 방법 | |
CN107315718B (zh) | 一种用于执行向量内积运算的装置和方法 | |
CN107315717B (zh) | 一种用于执行向量四则运算的装置和方法 | |
CN111580866A (zh) | 一种向量运算装置及运算方法 | |
CN107315716B (zh) | 一种用于执行向量外积运算的装置和方法 | |
KR20190029515A (ko) | 비트폭이 다른 연산 데이터를 지원하는 연산 유닛, 연산 방법 및 연산 장치 | |
CN109754062B (zh) | 卷积扩展指令的执行方法以及相关产品 | |
CN107315575B (zh) | 一种用于执行向量合并运算的装置和方法 | |
CN107315564B (zh) | 一种用于执行向量超越函数运算的装置和方法 | |
WO2017185395A1 (zh) | 一种用于执行向量比较运算的装置和方法 | |
CN111651202A (zh) | 一种用于执行向量逻辑运算的装置 | |
CN107315567B (zh) | 一种用于执行向量最大值最小值运算的装置和方法 | |
CN107305486B (zh) | 一种神经网络maxout层计算装置 | |
WO2017185388A1 (zh) | 一种用于生成服从一定分布的随机向量的装置和方法 | |
TW201805802A (zh) | 一種運算裝置及其操作方法 | |
CN109754061B (zh) | 卷积扩展指令的执行方法以及相关产品 | |
CN113934678A (zh) | 一种计算装置、集成电路芯片、板卡、设备和计算方法 | |
CN117093263A (zh) | 处理器、芯片、板卡及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant after: Zhongke Cambrian Technology Co., Ltd Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201202 Address after: Room 611-194, R & D center building, China (Hefei) international intelligent voice Industrial Park, 3333 Xiyou Road, hi tech Zone, Hefei City, Anhui Province Applicant after: Anhui Cambrian Information Technology Co., Ltd Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant before: Zhongke Cambrian Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |