CN114127680A - 支持用于高效乘法的替代数字格式的系统和方法 - Google Patents
支持用于高效乘法的替代数字格式的系统和方法 Download PDFInfo
- Publication number
- CN114127680A CN114127680A CN202080051898.9A CN202080051898A CN114127680A CN 114127680 A CN114127680 A CN 114127680A CN 202080051898 A CN202080051898 A CN 202080051898A CN 114127680 A CN114127680 A CN 114127680A
- Authority
- CN
- China
- Prior art keywords
- value
- multiplication
- bit
- circuit
- zero
- 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 65
- 238000013528 artificial neural network Methods 0.000 claims abstract description 114
- 230000004913 activation Effects 0.000 claims description 40
- 238000013473 artificial intelligence Methods 0.000 description 52
- 238000012545 processing Methods 0.000 description 42
- 210000002569 neuron Anatomy 0.000 description 31
- 230000006870 function Effects 0.000 description 28
- 238000013507 mapping Methods 0.000 description 28
- 238000013527 convolutional neural network Methods 0.000 description 24
- 230000004044 response Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 12
- 238000011176 pooling Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
-
- 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/5235—Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
-
- 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
- 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Nonlinear Science (AREA)
- Image Analysis (AREA)
Abstract
Description
Claims (15)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/511,085 | 2019-07-15 | ||
US16/511,085 US10977002B2 (en) | 2019-07-15 | 2019-07-15 | System and method for supporting alternate number format for efficient multiplication |
PCT/US2020/041454 WO2021011316A1 (en) | 2019-07-15 | 2020-07-09 | System and method for supporting alternate number format for efficient multiplication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114127680A true CN114127680A (zh) | 2022-03-01 |
CN114127680B CN114127680B (zh) | 2024-07-30 |
Family
ID=71842869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080051898.9A Active CN114127680B (zh) | 2019-07-15 | 2020-07-09 | 支持用于高效乘法的替代数字格式的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10977002B2 (zh) |
EP (1) | EP3999949A1 (zh) |
JP (1) | JP2022541721A (zh) |
KR (1) | KR20220031117A (zh) |
CN (1) | CN114127680B (zh) |
WO (1) | WO2021011316A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116402106A (zh) * | 2023-06-07 | 2023-07-07 | 深圳市九天睿芯科技有限公司 | 神经网络加速方法、神经网络加速器、芯片及电子设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11347477B2 (en) * | 2019-09-27 | 2022-05-31 | Intel Corporation | Compute in/near memory (CIM) circuit architecture for unified matrix-matrix and matrix-vector computations |
US11551148B2 (en) * | 2020-04-29 | 2023-01-10 | Marvell Asia Pte Ltd | System and method for INT9 quantization |
US11714998B2 (en) * | 2020-05-05 | 2023-08-01 | Intel Corporation | Accelerating neural networks with low precision-based multiplication and exploiting sparsity in higher order bits |
KR20220023490A (ko) * | 2020-08-21 | 2022-03-02 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN113361699B (zh) * | 2021-07-16 | 2023-05-26 | 安谋科技(中国)有限公司 | 乘法电路、片上系统和电子设备 |
US20230146445A1 (en) * | 2021-10-31 | 2023-05-11 | Redpine Signals, Inc. | Modular Analog Multiplier-Accumulator Unit Element for Multi-Layer Neural Networks |
KR20240077167A (ko) * | 2022-11-24 | 2024-05-31 | 주식회사 모빌린트 | 합성곱 연산을 위한 데이터 처리 방법 및 컴퓨팅 장치 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4864529A (en) * | 1986-10-09 | 1989-09-05 | North American Philips Corporation | Fast multiplier architecture |
US5119325A (en) * | 1990-12-04 | 1992-06-02 | Motorola, Inc. | Multiplier having a reduced number of partial product calculations |
US20050228845A1 (en) * | 2004-04-12 | 2005-10-13 | Mathstar, Inc. | Shift and recode multiplier |
CN107273090A (zh) * | 2017-05-05 | 2017-10-20 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
DE102018001229A1 (de) * | 2017-02-16 | 2018-08-16 | Intel IP Corporation | Beschleunigerschaltung mit variabler Wortlänge für ein neuronales Netzwerk |
CN108564169A (zh) * | 2017-04-11 | 2018-09-21 | 上海兆芯集成电路有限公司 | 硬件处理单元、神经网络单元和计算机可用介质 |
CN109472353A (zh) * | 2018-11-22 | 2019-03-15 | 济南浪潮高新科技投资发展有限公司 | 一种卷积神经网络量化电路及量化方法 |
CN109521994A (zh) * | 2017-09-19 | 2019-03-26 | 华为技术有限公司 | 乘法硬件电路、片上系统及电子设备 |
CN109635944A (zh) * | 2018-12-24 | 2019-04-16 | 西安交通大学 | 一种稀疏卷积神经网络加速器及实现方法 |
CN110447010A (zh) * | 2017-05-17 | 2019-11-12 | 谷歌有限责任公司 | 在硬件中执行矩阵乘法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4988627B2 (ja) * | 2008-03-05 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | フィルタ演算器及び動き補償装置 |
-
2019
- 2019-07-15 US US16/511,085 patent/US10977002B2/en active Active
-
2020
- 2020-07-09 CN CN202080051898.9A patent/CN114127680B/zh active Active
- 2020-07-09 KR KR1020227004925A patent/KR20220031117A/ko not_active Application Discontinuation
- 2020-07-09 WO PCT/US2020/041454 patent/WO2021011316A1/en unknown
- 2020-07-09 JP JP2021573175A patent/JP2022541721A/ja active Pending
- 2020-07-09 EP EP20747291.1A patent/EP3999949A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4864529A (en) * | 1986-10-09 | 1989-09-05 | North American Philips Corporation | Fast multiplier architecture |
US5119325A (en) * | 1990-12-04 | 1992-06-02 | Motorola, Inc. | Multiplier having a reduced number of partial product calculations |
US20050228845A1 (en) * | 2004-04-12 | 2005-10-13 | Mathstar, Inc. | Shift and recode multiplier |
DE102018001229A1 (de) * | 2017-02-16 | 2018-08-16 | Intel IP Corporation | Beschleunigerschaltung mit variabler Wortlänge für ein neuronales Netzwerk |
CN108564169A (zh) * | 2017-04-11 | 2018-09-21 | 上海兆芯集成电路有限公司 | 硬件处理单元、神经网络单元和计算机可用介质 |
CN107273090A (zh) * | 2017-05-05 | 2017-10-20 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
CN110447010A (zh) * | 2017-05-17 | 2019-11-12 | 谷歌有限责任公司 | 在硬件中执行矩阵乘法 |
CN109521994A (zh) * | 2017-09-19 | 2019-03-26 | 华为技术有限公司 | 乘法硬件电路、片上系统及电子设备 |
WO2019057093A1 (zh) * | 2017-09-19 | 2019-03-28 | 华为技术有限公司 | 乘法电路、片上系统及电子设备 |
CN109472353A (zh) * | 2018-11-22 | 2019-03-15 | 济南浪潮高新科技投资发展有限公司 | 一种卷积神经网络量化电路及量化方法 |
CN109635944A (zh) * | 2018-12-24 | 2019-04-16 | 西安交通大学 | 一种稀疏卷积神经网络加速器及实现方法 |
Non-Patent Citations (1)
Title |
---|
S.SARAVANAN: "design of hybrid encoded booth multiplier with reduced switching activity technique and low power 0.13um adder for DSP block in wireless sensor node", 《2010 INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATION AND SENSOR COMPUTING》, 17 February 2010 (2010-02-17), pages 1 - 6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116402106A (zh) * | 2023-06-07 | 2023-07-07 | 深圳市九天睿芯科技有限公司 | 神经网络加速方法、神经网络加速器、芯片及电子设备 |
CN116402106B (zh) * | 2023-06-07 | 2023-10-24 | 深圳市九天睿芯科技有限公司 | 神经网络加速方法、神经网络加速器、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2022541721A (ja) | 2022-09-27 |
KR20220031117A (ko) | 2022-03-11 |
US20210019115A1 (en) | 2021-01-21 |
CN114127680B (zh) | 2024-07-30 |
EP3999949A1 (en) | 2022-05-25 |
US10977002B2 (en) | 2021-04-13 |
WO2021011316A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675998B2 (en) | System and method for performing small channel count convolutions in energy-efficient input operand stationary accelerator | |
US11615319B2 (en) | System and method for shift-based information mixing across channels for shufflenet-like neural networks | |
CN114127680B (zh) | 支持用于高效乘法的替代数字格式的系统和方法 | |
US11385864B2 (en) | Counter based multiply-and-accumulate circuit for neural network | |
US20210012178A1 (en) | Systems, methods, and devices for early-exit from convolution | |
US11429394B2 (en) | Efficient multiply-accumulation based on sparse matrix | |
US11301545B2 (en) | Power efficient multiply-accumulate circuitry | |
US20210012186A1 (en) | Systems and methods for pipelined parallelism to accelerate distributed processing | |
US20210012202A1 (en) | Systems and methods for asymmetrical scaling factor support for negative and positive values | |
CN114008664A (zh) | 去卷积的优化 | |
US11899745B1 (en) | Systems and methods for speech or text processing using matrix operations |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Ganesh Venkatsch Inventor after: Lai Liangzhen Inventor after: Pierce Yiren Zhuang Inventor after: Li Meng Inventor after: Vicas Chandra Inventor before: Ganesh Venkatsch Inventor before: Lai Liangzhen Inventor before: Pierce Yiren Zhuang Inventor before: Li Meng Inventor before: Vicas Chandra |
|
CB03 | Change of inventor or designer information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan Platform Technology Co.,Ltd. Address before: California, USA Applicant before: Facebook Technologies, LLC |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |