JP2022533539A - ビットオーダバイナリ加重乗算器/積算器 - Google Patents
ビットオーダバイナリ加重乗算器/積算器 Download PDFInfo
- Publication number
- JP2022533539A JP2022533539A JP2021565733A JP2021565733A JP2022533539A JP 2022533539 A JP2022533539 A JP 2022533539A JP 2021565733 A JP2021565733 A JP 2021565733A JP 2021565733 A JP2021565733 A JP 2021565733A JP 2022533539 A JP2022533539 A JP 2022533539A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- bit
- analog
- matrix multiplication
- order
- 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
- 239000011159 matrix material Substances 0.000 claims abstract description 114
- 239000013598 vector Substances 0.000 claims abstract description 109
- 239000003990 capacitor Substances 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 22
- 238000009825 accumulation Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4915—Multiplying; Dividing
-
- 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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/498—Computations with decimal numbers radix 12 or 20. using counter-type accumulators
- G06F7/4983—Multiplying; Dividing
- G06F7/4985—Multiplying; Dividing by successive additions or subtractions
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
- H03M1/74—Simultaneous conversion
-
- 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/4828—Negative resistance devices, e.g. tunnel diodes, gunn effect devices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
- H03M1/74—Simultaneous conversion
- H03M1/80—Simultaneous conversion using weighted impedances
- H03M1/802—Simultaneous conversion using weighted impedances using capacitors, e.g. neuron-mos transistors, charge coupled devices
- H03M1/804—Simultaneous conversion using weighted impedances using capacitors, e.g. neuron-mos transistors, charge coupled devices with charge redistribution
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Analogue/Digital Conversion (AREA)
- Complex Calculations (AREA)
Abstract
Description
倍減らすことが可能である。この数式では、分母に示される追加の2サイクルが、実現によって変わりうる。例えば、本明細書で詳述する実施形態は、従来のアナログMAC設計と比べて25.6倍速度を上げられる8ビットの入力ベクトルのためのベクトル行列乗算を実行することが可能である。
倍増大する。
Claims (15)
- ベクトル行列乗算を実行する方法であって、
複数の1ビットデジタル/アナログ変換器(DAC:digital to analog converter)を使用して、複数のバイナリ符号化された値を含むデジタル入力ベクトルを、複数のアナログ信号に変換することと、
アナログベクトル行列乗算器を使用して、前記複数のアナログ信号の各ビットオーダに対して、重み行列を用いるベクトル行列乗算演算を順次実行することと、
順次実行されたベクトル行列乗算演算ごとに、前記アナログベクトル行列乗算器の出力のビットオーダ標識を格納することと、
合算回路を用いて、前記順次実行されたベクトル行列乗算演算のビットオーダ加重合算を実行することと
を含む、ベクトル行列乗算を実行する方法。 - 各ビットオーダに対して、前記重み行列を用いて前記ベクトル行列乗算演算を順次実行するためのクロックサイクルの数が、前記入力ベクトルの前記バイナリ符号化された値のビットオーダの数に等しい、請求項1に記載のベクトル行列乗算を実行する方法。
- 前記ビットオーダ加重合算が、アナログ回路を使用して実行される、請求項1に記載のベクトル行列乗算を実行する方法。
- 前記ビットオーダ加重合算が、前記合算回路によって蓄えられた電荷量に基づいて実行される、請求項3に記載のベクトル行列乗算を実行する方法。
- 前記ビットオーダ加重合算が、1クロックサイクル内に実行される、請求項1に記載のベクトル行列乗算を実行する方法。
- ベクトル行列乗算回路であって、
複数のデジタル入力であって、各デジタル入力が入力ベクトルのバイナリ符号化された入力値を受け取る、複数のデジタル入力と、
複数の1ビットデジタル/アナログ変換器(DAC:digital to analog converter)であって、
各1ビットDACが、前記複数のデジタル入力の対応するデジタル入力に接続されており、
各1ビットDACが、前記対応するデジタル入力に対するバイナリ符号化されたアナログ信号を出力する、
複数の1ビットデジタル/アナログ変換器と、
一回に、単一のビットオーダに対してバイナリ符号化ベクトル乗算演算を実行するアナログベクトル行列乗算回路であって、前記複数の1ビットDACの各1ビットDACから、前記バイナリ符号化されたアナログ信号を受信するアナログベクトル行列乗算回路と、
合算回路であって、前記アナログベクトル行列乗算回路からの出力を順次受信し、前記アナログベクトル行列乗算回路から受信した各出力に対して、当該出力のビットオーダに従って重み付けし、前記アナログベクトル行列乗算回路からの、重み付けした前記受信した出力を合算する合算回路と、
を備える、ベクトル行列乗算回路。 - 前記アナログベクトル行列乗算回路が、ベクトル乗算出力を示す複数の電流を出力する、請求項6に記載のベクトル行列乗算回路。
- 前記アナログベクトル行列乗算回路が、前記アナログベクトル行列乗算回路からの出力に所定の重み付けを適用する複数の重み付け要素を含む、請求項6に記載のベクトル行列乗算回路。
- 前記合算回路が、アナログ的要素を使用して、前記アナログベクトル行列乗算回路からのバイナリ符号化された前記受信した出力を合算する、請求項6に記載のベクトル行列乗算回路。
- 前記合算回路が、並列に配置された複数のキャパシタを含む、請求項9に記載のベクトル行列乗算回路。
- 前記複数のキャパシタの各キャパシタが、或るビットオーダの重み付けに対応する静電容量を有する、請求項10に記載のベクトル行列乗算回路。
- ベクトル行列乗算を実行する装置であって、
複数のバイナリ符号化された値を含む入力ベクトルを、複数のアナログ信号に変換する複数の1ビットデジタル/アナログ変換器(DAC:digital to analog converter)と、
前記複数のアナログ信号の各ビットオーダに対して、ベクトル行列乗算演算を順次実行する手段と、
順次実行されたベクトル行列乗算演算ごとに、前記ベクトル行列乗算演算の出力のビットオーダ標識を格納する手段と、
ビットオーダ加重積算を実行して、ビットオーダごとの前記順次実行されたベクトル行列乗算演算の総和を示す総和出力を生成する手段と、
を備える、ベクトル行列乗算を実行する装置。 - 各ビットオーダに対して、前記ベクトル行列乗算演算を順次実行するためのクロックサイクルの数が、前記入力ベクトルの前記バイナリ符号化された値のビットオーダの数に等しい、請求項12に記載のベクトル行列乗算を実行する装置。
- 前記ビットオーダ加重積算が、アナログ回路を使用して実行される、請求項13に記載のベクトル行列乗算を実行する装置。
- 前記ビットオーダ加重積算が、合算回路によって蓄えられた電荷量に基づいて実行される、請求項14に記載のベクトル行列乗算を実行する装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/408,059 | 2019-05-09 | ||
US16/408,059 US11194886B2 (en) | 2019-05-09 | 2019-05-09 | Bit-ordered binary-weighted multiplier-accumulator |
PCT/US2020/029326 WO2020226898A1 (en) | 2019-05-09 | 2020-04-22 | Bit-ordered binary-weighted multiplier-accumulator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022533539A true JP2022533539A (ja) | 2022-07-25 |
JP7384925B2 JP7384925B2 (ja) | 2023-11-21 |
Family
ID=73046229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021565733A Active JP7384925B2 (ja) | 2019-05-09 | 2020-04-22 | ビットオーダバイナリ加重乗算器/積算器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11194886B2 (ja) |
EP (1) | EP3966707A4 (ja) |
JP (1) | JP7384925B2 (ja) |
KR (1) | KR102598838B1 (ja) |
CN (1) | CN113811872A (ja) |
TW (1) | TWI779285B (ja) |
WO (1) | WO2020226898A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021050590A1 (en) * | 2019-09-09 | 2021-03-18 | Qualcomm Incorporated | Systems and methods for modifying neural networks for binary processing applications |
KR20210034172A (ko) * | 2019-09-20 | 2021-03-30 | 에스케이하이닉스 주식회사 | Mac 연산 동작을 수행하는 반도체 장치 |
US11424764B2 (en) * | 2019-11-13 | 2022-08-23 | Micron Technology, Inc. | Recurrent neural networks and systems for decoding encoded data |
US20220291900A1 (en) * | 2021-03-10 | 2022-09-15 | Qualcomm Incorporated | Analog Adders For Multi-bit MAC Arrays In Reconfigurable Analog Based Neural Networks |
KR20220141652A (ko) * | 2021-04-13 | 2022-10-20 | 삼성전자주식회사 | 멀티-비트 연산 장치 및 방법 |
US11973513B2 (en) | 2021-04-27 | 2024-04-30 | Micron Technology, Inc. | Decoders and systems for decoding encoded data using neural networks |
CN113032723B (zh) * | 2021-05-25 | 2021-08-10 | 广东省新一代通信与网络创新研究院 | 一种矩阵乘法器的实现方法及矩阵乘法器装置 |
CN113741857A (zh) * | 2021-07-27 | 2021-12-03 | 北京大学 | 一种乘累加运算电路 |
US20230083270A1 (en) * | 2021-09-14 | 2023-03-16 | International Business Machines Corporation | Mixed signal circuitry for bitwise multiplication with different accuracies |
US11755408B2 (en) | 2021-10-07 | 2023-09-12 | Micron Technology, Inc. | Systems for estimating bit error rate (BER) of encoded data using neural networks |
US20230146445A1 (en) * | 2021-10-31 | 2023-05-11 | Redpine Signals, Inc. | Modular Analog Multiplier-Accumulator Unit Element for Multi-Layer Neural Networks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04177529A (ja) * | 1990-11-09 | 1992-06-24 | Nec Corp | 除算および乗算回路 |
JPH1078994A (ja) * | 1996-09-03 | 1998-03-24 | Yozan:Kk | 積和演算回路 |
JP2002049884A (ja) * | 2000-08-02 | 2002-02-15 | Clarion Co Ltd | アナログ式行列演算回路 |
US20050125477A1 (en) * | 2003-12-04 | 2005-06-09 | Genov Roman A. | High-precision matrix-vector multiplication on a charge-mode array with embedded dynamic memory and stochastic method thereof |
JP2018501536A (ja) * | 2014-10-30 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン |
US20190102358A1 (en) * | 2017-09-29 | 2019-04-04 | Crossbar, Inc. | Resistive random access memory matrix multiplication structures and methods |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL145245A0 (en) * | 2001-09-03 | 2002-06-30 | Jtc 2000 Dev Delaware Inc | System and method including vector-matrix multiplication |
US10235343B2 (en) | 2012-11-06 | 2019-03-19 | Pavel Dourbal | Method for constructing a circuit for fast matrix-vector multiplication |
EP3289477B1 (en) * | 2016-01-30 | 2021-08-25 | Hewlett Packard Enterprise Development LP | Dot product engine with negation indicator |
US10216703B2 (en) | 2016-02-08 | 2019-02-26 | Spero Devices, Inc. | Analog co-processor |
US11315009B2 (en) | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
US11263522B2 (en) * | 2017-09-08 | 2022-03-01 | Analog Devices, Inc. | Analog switched-capacitor neural network |
US10878317B2 (en) | 2017-09-11 | 2020-12-29 | Samsung Electronics Co., Ltd. | Method and system for performing analog complex vector-matrix multiplication |
US10831446B2 (en) | 2018-09-28 | 2020-11-10 | Intel Corporation | Digital bit-serial multi-multiply-and-accumulate compute in memory |
-
2019
- 2019-05-09 US US16/408,059 patent/US11194886B2/en active Active
-
2020
- 2020-04-22 WO PCT/US2020/029326 patent/WO2020226898A1/en unknown
- 2020-04-22 KR KR1020217039984A patent/KR102598838B1/ko active IP Right Grant
- 2020-04-22 CN CN202080034680.2A patent/CN113811872A/zh active Pending
- 2020-04-22 JP JP2021565733A patent/JP7384925B2/ja active Active
- 2020-04-22 EP EP20801491.0A patent/EP3966707A4/en active Pending
- 2020-05-08 TW TW109115292A patent/TWI779285B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04177529A (ja) * | 1990-11-09 | 1992-06-24 | Nec Corp | 除算および乗算回路 |
JPH1078994A (ja) * | 1996-09-03 | 1998-03-24 | Yozan:Kk | 積和演算回路 |
JP2002049884A (ja) * | 2000-08-02 | 2002-02-15 | Clarion Co Ltd | アナログ式行列演算回路 |
US20050125477A1 (en) * | 2003-12-04 | 2005-06-09 | Genov Roman A. | High-precision matrix-vector multiplication on a charge-mode array with embedded dynamic memory and stochastic method thereof |
JP2018501536A (ja) * | 2014-10-30 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン |
US20190102358A1 (en) * | 2017-09-29 | 2019-04-04 | Crossbar, Inc. | Resistive random access memory matrix multiplication structures and methods |
Also Published As
Publication number | Publication date |
---|---|
TW202101197A (zh) | 2021-01-01 |
KR20210151265A (ko) | 2021-12-13 |
EP3966707A1 (en) | 2022-03-16 |
EP3966707A4 (en) | 2023-01-25 |
JP7384925B2 (ja) | 2023-11-21 |
KR102598838B1 (ko) | 2023-11-03 |
CN113811872A (zh) | 2021-12-17 |
US20200356620A1 (en) | 2020-11-12 |
WO2020226898A1 (en) | 2020-11-12 |
TWI779285B (zh) | 2022-10-01 |
US11194886B2 (en) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7384925B2 (ja) | ビットオーダバイナリ加重乗算器/積算器 | |
CN110209375B (zh) | 一种基于radix-4编码和差分权重存储的乘累加电路 | |
CN107636640B (zh) | 点积引擎、忆阻器点积引擎以及用于计算点积的方法 | |
US20190251137A1 (en) | Systems and methods for mapping matrix calculations to a matrix multiply accelerator | |
CN110378475B (zh) | 一种基于多位并行二进制突触阵列的神经形态计算电路 | |
TWI768479B (zh) | 數位類比轉換方法與向量矩陣乘法設備 | |
US20220066740A1 (en) | Analog Dot Product Multiplier | |
EP4022426A1 (en) | Refactoring mac operations | |
CN114902241A (zh) | 串行化神经网络计算单元 | |
US11922131B2 (en) | Scalable, multi-precision, self-calibrated multiplier-accumulator architecture | |
US20220113942A1 (en) | Throughput and precision-programmable multiplier-accumulator architecture | |
TWI814103B (zh) | 用於二進制加權電荷再分配電路的自適應穩定時間控制的方法 | |
CN114168107A (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
CN112784971A (zh) | 基于数模混合神经元的神经网络运算电路 | |
TW202331552A (zh) | 迭代混合矩陣乘法器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230124 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7384925 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |