JP2023026404A - スキップロジックを有するビット単位の積和累積 - Google Patents
スキップロジックを有するビット単位の積和累積 Download PDFInfo
- Publication number
- JP2023026404A JP2023026404A JP2022128737A JP2022128737A JP2023026404A JP 2023026404 A JP2023026404 A JP 2023026404A JP 2022128737 A JP2022128737 A JP 2022128737A JP 2022128737 A JP2022128737 A JP 2022128737A JP 2023026404 A JP2023026404 A JP 2023026404A
- Authority
- JP
- Japan
- Prior art keywords
- sum
- products
- input
- value
- skip
- 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
- 230000001186 cumulative effect Effects 0.000 title claims abstract description 79
- 239000013598 vector Substances 0.000 claims abstract description 197
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000004913 activation Effects 0.000 claims description 61
- 230000036961 partial effect Effects 0.000 claims description 55
- 238000012545 processing Methods 0.000 claims description 26
- 241001442055 Vipera berus Species 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 23
- 238000009825 accumulation Methods 0.000 claims description 20
- 238000003672 processing method Methods 0.000 claims description 3
- 238000004148 unit process Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 20
- 230000035508 accumulation Effects 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 9
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004020 luminiscence type Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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/50—Adding; Subtracting
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30069—Instruction skipping instructions, e.g. SKIP
-
- 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Complex Calculations (AREA)
- Hardware Redundancy (AREA)
- Communication Control (AREA)
Abstract
Description
において、第1項は、-1・(0100 1101)・(1・27)=1011 0011・27=1101 1001 1000 0000に調整可能である(符号ビットは追加の先頭「1」で埋め込まれていることに留意されたい)。第2項は、77・(0・26)+77・(0・25)+77・(0・24)+77・(1・23)+77・(1・22)+77・(0・21)+77・(0・20)=77・23+77・22=616(0010 0110 1000)+308(0001 0011 0100)=924(0011 1001 1100)に調整可能である。第1項と第2項を加算して和の-8932(1101 1101 0001 1100)を得る。
に等しく、続いてそのビット値27を乗算する。残りの未処理の重みは、
に調整可能である。最悪の場合、各重みビットは1である。従って、上記式は、
に書き直すことができ、ISは、全ての重みビットが1である状況と同じである。ISを分解し、これはIS・127に相当する。部分累積積和のビット値がまだシフトされていないため、IS・127を128で割り、IS-IS/128を計算することで得られ、例えば、
である。
に等しい。シフトレジスタ355もシフトし、且つそれをIS_FF350から再度減算してスキップしきい値STH 0000 0000 0100 1111 1101(1277)を探し出す。このようにする理由は、最悪の状況が
であり、IS・63に等しいからである。シフトレジスタ355は、この前にISを128で割ったものであるが、累積積和が一回シフトしたため、シフトレジスタ355も一回シフトし、64で割るものとなる。値IS・63/64は、IS-IS/64を計算することで得られる。又は、入力和の最高位NIS-Kビットは、シフトレジスタ355にラッチされてよく、これは、ISを64で割ることに相当する。スキップ条件が発生したか否かを判定するために、STH 0000 0000 0100 1111 1101(1277)と累積積和の絶対値0011 0101 0101(853)を比較する。条件A>Bを満たしていないため、後続のサイクルで次の重みビットを処理する。
に等しい。シフトレジスタ355もシフトし、且つそれをIS_FF350から再度減算して、スキップしきい値STH 0000 0000 0100 1110 1001(1257)を探し出す。このようにする理由は、最悪の状況が
であり、IS・31に等しいからである。シフトレジスタ355は、この前にISを64で割ったものであるが、累積積和が一回シフトしたため、シフトレジスタも一回シフトし、32で割るものとなる。値IS・31/32は、IS-IS/32を計算することで得られる。又は、入力和の最高位NIS-K-1ビットは、シフトレジスタ355にラッチされてよく、これは、ISを32で割ることに相当する。スキップ条件が発生したか否かを判定するために、STH 0000 0000 0100 1110 1001(1257)と累積積和の絶対値0100 1001 0000(1168)を比較する。条件A>Bを満たしていないため、後続のサイクルで次の重みビットを処理する。
に等しい。シフトレジスタ355もシフトし、且つそれをIS_FF350から減算してスキップしきい値STH 0000 0000 0100 1100 0001(1217)を探し出す。このようにする理由は、最悪の状況が
であり、IS・15に等しいからである。シフトレジスタ355は、この前にISで32で割ったものであるが、累積積和が一回シフトしたため、シフトレジスタも一回シフトし、16で割るものとなる。値IS・15/16は、IS-IS/16を計算することで得られる。又は、入力和の最高位NIS-K-2ビットは、シフトレジスタ355にラッチされてよく、これは、ISを16で割ることに相当する。スキップ条件が発生したか否かを判定するために、STH 0000 0000 0100 1110 1001(10000 0000 0100 1100 0001(1217)と累積積和の絶対値0110 1111 1010(1786)を比較する。条件A>Bを満たすため、重みビットの残りの処理を中止し、且つ、活性化関数(例えばReLU活性化関数)を実現する回路に出力を提供することができる。
を得る。シフトレジスタ355もシフトし、且つそれをIS_FF350から再度減算してスキップしきい値を探し出す。このようにする理由は、最悪の状況が
であり、IS・7に等しいからである。シフトレジスタは、この前にISを16で割ったものであるが、累積積和が一回シフトしたため、シフトレジスタも一回シフトし、8で割るものとなる。IS-IS/8を計算することで値IS・7/8が得られる。又は、入力和の最高位NIS-K-3ビットは、シフトレジスタ355にラッチされてよく、これは、ISを8で割ることに相当する。スキップ条件が発生したか否かを判定するために、STHと累積積和の絶対値を比較する。
を得る。シフトレジスタ355もシフトし、且つそれをIS_FF350から再度減算してスキップしきい値を探し出す。このようにする理由は、最悪の状況が
であり、IS・3に等しいからである。シフトレジスタは、この前にISを8で割ったものであるが、累積積和が一回シフトしたため、シフトレジスタも一回シフトし、4で割るものとなる。IS-IS/4を計算することで値IS・3/4が得られる。又は、入力和の最高位NIS-K-4ビットは、シフトレジスタ355にラッチされてよく、これは、ISを4で割ることに相当する。スキップ条件が発生したか否かを判定するために、STHと累積積和の絶対値を比較する。
を得る。シフトレジスタ355もシフトし、且つそれをIS_FF350から再度減算してスキップしきい値を探し出す。このようにする理由は、最悪の状況が
であり、ISに等しいからである。シフトレジスタは、この前にISを4で割ったものであるが、累積積和が一回シフトしたため、シフトレジスタも一回シフトし、2で割るものとなる。IS-IS/2を計算することで値IS・1/2が得られる。又は、入力和の最高位NIS-K-5ビットは、シフトレジスタ355にラッチされてよく、これは、ISを2で割ることに相当する。スキップ条件が発生したか否かを判定するために、STHと累積積和の絶対値を比較する。
を得る。全ての重みビットが処理されたため、活性化関数(例えば、ReLU活性化関数)を実現する回路に出力を提供する。
11 画素
12 ノード
14 重みマトリックス
16 乗算累積演算/計算
18 活性化関数
20 演算
30 総和公式
31 公式
32 符号ビット和項
34 第1の入れ子和項
36 第2の入れ子和項
100 プロセスフローチャート
110、120、130、140、150、160、170、180 操作
200 MACスキップ回路
205 ベクトル
210 フリップフロップ
215 重みベクトル
220 フリップフロップ
225 乗算器
230 加算ブロック
230a 加算器
230b 累積器
235a 部分和
235 シフトレジスタ
240 出力
245 スキップモジュール
250 ピン
255 ピン
255a ビット
260 コントローラ
305 有限状態機械
310 状態ロジック
315 カウンタ
320 カウンタロジック
325 状態フリップフロップ
330 ロジック
335 ジャンプロジック
350 入力和フリップフロップ
355 シフトレジスタ
360 減算器
365 比較器
370 回路ブロック
375 スキップフリップフロップ
405、410、455、460、465、470 操作
500 システム
505 メモリ
510 コントローラ
515 活性化関数
Claims (10)
- ワード単位の入力及びビット単位の重みで複数の入力ベクトル及び複数の重みベクトルの積に部分和累積を行って、部分累積積和を生成するステップと、
前記部分累積積和をしきい値条件と比較するステップと、
前記部分累積積和が前記しきい値条件を満たす場合、和累積の複数の残りの計算をスキップすることを指示するようにスキップインジケータをアサートするステップと、
を含むデータ処理方法。 - 前記部分累積積和が負であり、且つ1組の残りの未知の重みビットによって前記部分累積積和を正にすることができない場合、前記スキップインジケータをアサートする請求項1に記載の方法。
- 前記部分累積積和に対して活性化関数を実行し、前記活性化関数の出力が0又は前記部分累積積和の大きい値に等しいことを記録するステップを更に含む請求項1又は2に記載の方法。
- 前記部分累積積和が前記しきい値条件よりも小さい場合、前記ワード単位の入力及びビット単位の重みで前記入力ベクトル及び前記重みベクトルの残りの部分の積に第2の部分和累積を行って、第2の部分累積積和を生成するステップを更に含む請求項1又は2に記載の方法。
- それぞれ1組のM個の入力ベクトルに1組のM個の重みベクトルの複数の第1の重みビットを乗算して1組目のM個の積を計算し、前記1組目のM個の積を加算して第1の積和を計算し、且つ積和出力ピン群にて前記第1の積和を提供するための乗算累積回路ブロックと、
前記積和出力ピン群に結合される累積器入力ピン群を含み、前記累積器入力ピン群にて第1の値を受信し、前記第1の値を前記累積器回路ブロック内の累積値に加算して前記第1の値を累積して前記累積値を置き換え、且つ累積値出力ピン群にて前記累積値を提供するための累積器回路ブロックと、
前記累積値出力ピン群に結合される累積値入力ピン群を含み、前記累積値をしきい値と比較し、前記しきい値を満たす場合、スキップピンにてスキップ信号をアサートするためのスキップ回路ブロックと、
前記スキップピンに前記スキップ信号があるか否かをチェックし、前記スキップ信号がアサートされていない場合、前記乗算累積回路ブロックが前記組のM個の重みベクトルの次の重みビットを処理するようにし、前記スキップ信号がアサートされた場合、前記組のM個の重みベクトルの残りの部分の処理を停止し、出力準備完了信号をアサートし、且つ前記累積値を活性化回路に提供するための制御回路ブロックと、
を備えるデータ処理装置。 - 前記スキップ回路ブロックは、
処理される前記組のM個の重みベクトルの重みビット位置に対して複数回シフトしたシフト入力和を入力和から減算して前記しきい値を計算し、且つ前記しきい値と前記累積値を比較するための減算回路ブロックを含む請求項5に記載の装置。 - 前記累積器回路ブロックは、加算ピンを含み、前記加算ピンにより制御される時に前記累積値から前記第1の値を減算するために用いられ、前記制御回路ブロックは、更に前記第1の重みビットが前記組のM個の重みベクトルの複数の最上位ビットに対応する場合、前記加算ピンを介して前記累積器回路ブロックが前記第1の値を減算するように制御するために用いられる請求項5又は6に記載の装置。
- 前記組のM個の入力ベクトルを記憶するための入力ラッチ回路ブロックと、
前記組のM個の重みビットを記憶するための重みビットラッチ回路ブロックと、を更に備え、
前記乗算累積回路ブロックは、前記第1の積和を計算するための乗算ブロック及び加算器ツリーを含む請求項5又は6に記載の装置。 - それぞれビット単位の重みで入力ノードと入力の複数の重みベクトルの複数の積を計算し、各積の総和を求めて各ビットの積和を計算し、各ビットに対するビット値の位置に基づいて前記積和を重み付けし、且つ前記積和を累積して累積積和とするための乗算累積装置と、
前記積和をしきい値と比較し、前記しきい値に達した場合にスキップ信号をアサートするためのスキップモジュールと、
前記スキップ信号がアサートされていない場合、前記乗算累積装置が前記重みベクトルの次のビットを処理するようにし、前記スキップ信号がアサートされた場合、前記乗算累積装置が前記重みベクトルの複数の残りの部分の処理を中止するようにするための制御ロジック装置と、
前記累積積和の値に基づいて前記入力ノードの畳み込み値を判定する活性化装置と、
を備えるデータ処理システム。 - 前記しきい値は第1のしきい値であり、前記スキップモジュールは、更に第2のしきい値を前記積和の絶対値に加算するとともに、前記第1のしきい値と比較し、前記絶対値が前記第1のしきい値よりも大きい場合、前記スキップ信号をアサートするために用いられ、
前記第2のしきい値は、前記積和に基づく現在の値、前記入力ノードの全ての入力の入力和又は一定値の所定のしきい値である請求項9に記載のシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163232915P | 2021-08-13 | 2021-08-13 | |
US63/232,915 | 2021-08-13 | ||
US202163254574P | 2021-10-12 | 2021-10-12 | |
US63/254,574 | 2021-10-12 | ||
US17/679,260 | 2022-02-24 | ||
US17/679,260 US20230053294A1 (en) | 2021-08-13 | 2022-02-24 | Bitwise product-sum accumulations with skip logic |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023026404A true JP2023026404A (ja) | 2023-02-24 |
JP7420880B2 JP7420880B2 (ja) | 2024-01-23 |
Family
ID=84368016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022128737A Active JP7420880B2 (ja) | 2021-08-13 | 2022-08-12 | スキップロジックを有するビット単位の積和累積 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230053294A1 (ja) |
JP (1) | JP7420880B2 (ja) |
KR (1) | KR20230025325A (ja) |
CN (1) | CN115469825A (ja) |
DE (1) | DE102022105152A1 (ja) |
TW (1) | TWI815404B (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG90099A1 (en) * | 1999-02-25 | 2002-07-23 | Texas Instruments Inc | A system and method for optimizing signal processing via a unique truncating and rounding operation |
WO2017214728A1 (en) | 2016-06-14 | 2017-12-21 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
US11663001B2 (en) * | 2018-11-19 | 2023-05-30 | Advanced Micro Devices, Inc. | Family of lossy sparse load SIMD instructions |
US11562212B2 (en) | 2019-09-09 | 2023-01-24 | Qualcomm Incorporated | Performing XNOR equivalent operations by adjusting column thresholds of a compute-in-memory array |
-
2022
- 2022-02-24 US US17/679,260 patent/US20230053294A1/en active Pending
- 2022-03-04 DE DE102022105152.8A patent/DE102022105152A1/de active Pending
- 2022-04-19 TW TW111114891A patent/TWI815404B/zh active
- 2022-04-19 KR KR1020220048056A patent/KR20230025325A/ko unknown
- 2022-06-22 CN CN202210829419.2A patent/CN115469825A/zh active Pending
- 2022-08-12 JP JP2022128737A patent/JP7420880B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI815404B (zh) | 2023-09-11 |
JP7420880B2 (ja) | 2024-01-23 |
TW202307646A (zh) | 2023-02-16 |
CN115469825A (zh) | 2022-12-13 |
US20230053294A1 (en) | 2023-02-16 |
KR20230025325A (ko) | 2023-02-21 |
DE102022105152A1 (de) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593626B2 (en) | Histogram-based per-layer data format selection for hardware implementation of deep neural network | |
US10762415B2 (en) | Information processing apparatus, Ising unit, and information processing apparatus control method | |
CN112418391B (zh) | 用于对深度神经网络的权重进行转换的方法和系统 | |
US5506797A (en) | Nonlinear function generator having efficient nonlinear conversion table and format converter | |
GB2552243A (en) | Convolutional neural network hardware configuration | |
KR102181385B1 (ko) | 신경망에서의 무작위성 생성 | |
US11551062B2 (en) | Optimization apparatus and control method thereof | |
JP2021530761A (ja) | 補償命令により可能にされる低精度ディープニューラルネットワーク | |
KR20200134281A (ko) | 추계학적 반올림 로직 | |
CN113887710A (zh) | 循环神经网络中的数字格式选择 | |
JP4273071B2 (ja) | 除算・開平演算器 | |
Chen et al. | Approximate softmax functions for energy-efficient deep neural networks | |
JP7420880B2 (ja) | スキップロジックを有するビット単位の積和累積 | |
KR102340412B1 (ko) | 스토캐스틱 연산을 위한 로그-양자화된 곱셈 및 누적기와 이를 포함하는 가속기 | |
TW202333041A (zh) | 執行浮點運算的系統及方法 | |
CN117063183A (zh) | 激活函数的高效压缩 | |
CN113887714A (zh) | 用于在硬件中运行动态循环神经网络的方法和系统 | |
Isobe et al. | Low-bit Quantized CNN Acceleration based on Bit-serial Dot Product Unit with Zero-bit Skip | |
Wang et al. | A multiplier structure based on a novel real-time CSD recoding | |
US20240086152A1 (en) | Calculation unit for multiplication and accumulation operations | |
US11811416B2 (en) | Energy-efficient analog-to-digital conversion in mixed signal circuitry | |
EP4303770A1 (en) | Identifying one or more quantisation parameters for quantising values to be processed by a neural network | |
Chen et al. | Low-area and high-speed approximate matrix-vector multiplier | |
JP7233636B2 (ja) | データ量子化処理方法、装置、電子機器および記憶媒体 | |
Fathi et al. | Improving Accuracy, Area and Speed of Approximate Floating-Point Multiplication Using Carry Prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231025 |
|
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: 20231219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7420880 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |