JP7209616B2 - Gemmデータフロー加速器半導体回路 - Google Patents
Gemmデータフロー加速器半導体回路 Download PDFInfo
- Publication number
- JP7209616B2 JP7209616B2 JP2019205909A JP2019205909A JP7209616B2 JP 7209616 B2 JP7209616 B2 JP 7209616B2 JP 2019205909 A JP2019205909 A JP 2019205909A JP 2019205909 A JP2019205909 A JP 2019205909A JP 7209616 B2 JP7209616 B2 JP 7209616B2
- Authority
- JP
- Japan
- Prior art keywords
- lookup table
- accelerator
- gemm
- unit
- bank
- 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
- 239000004065 semiconductor Substances 0.000 title claims description 45
- 238000011773 genetically engineered mouse model Methods 0.000 title 1
- 239000000872 buffer Substances 0.000 claims description 132
- 239000013598 vector Substances 0.000 claims description 75
- 239000011159 matrix material Substances 0.000 claims description 47
- 230000015654 memory Effects 0.000 claims description 47
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 44
- 229910052710 silicon Inorganic materials 0.000 claims description 44
- 239000010703 silicon Substances 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 39
- 230000002093 peripheral effect Effects 0.000 claims description 36
- 230000036961 partial effect Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 24
- 238000009825 accumulation Methods 0.000 claims description 11
- WYTGDNHDOZPMIW-RCBQFDQVSA-N alstonine Natural products C1=CC2=C3C=CC=CC3=NC2=C2N1C[C@H]1[C@H](C)OC=C(C(=O)OC)[C@H]1C2 WYTGDNHDOZPMIW-RCBQFDQVSA-N 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 53
- 239000010410 layer Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 11
- 238000007667 floating Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 230000000644 propagated effect Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000001994 activation Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 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
- 230000014509 gene expression Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- 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/8046—Systolic arrays
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- 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
- 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
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B12/00—Dynamic random access memory [DRAM] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Robotics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Complex Calculations (AREA)
- Power Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Description
次は本発明が開示する一実施形態に係る逆方向データレイアウトの擬似コード例示である。
次は本発明が開示する一実施形態に係る順方向計算スケジューリングソフトウェアスケジューリング技術の擬似コード例示である。
次は本発明が開示する一施形態に係る逆方向計算スケジューリングの擬似コード例示である。
105 ルックアップテーブル
110 符号ビットロジック
115、1310 加算器回路
120 累算器(又は累積器)
135 出力
140 乗算演算の積
145 符号ビット
150 指数
155 少数
200、1000、1100、1300、2000 ブロック図
202 ローカルDRAMバンク
220 C-エントリ
225 A-エントリ
230 B-エントリ
235 ルックアップテーブルバッファ
300 GEMMデータフロー加速器
305 B-ベクトルバッファ
310 A-ベクトルバッファ
315 加算器
320 出力バッファ
325 ルックアップテーブルアレイ
330 データアレイ
335 ルックアップテーブルバッファ区域
340 結果
400、600、800 スタックデータフロー加速器
405 スタック
410 NDP-DF加速器ユニット
415、615、815、2405 ベースダイ
420、620、820、2505 パッシブシリコンインターポーザ
425 プロセッサ
435 TSV
500、700、900 ホスト
505、705、905 通信リンク
625、825、2125 コントローラ
850、2130 スイッチ
1105、1220 入力バッファ
1110 MACアレイ
1200、2500、2600 テンソル計算データフロー加速器
1205 ダブルバッファ
1210 MACユニット
1215 PE
1225 加重値バッファ
1230 部分和バッファ
1305 乗算器回路
1410 幅
2025 第1タイリンググループ
2030 第2タイリンググループ
2035 第3タイリンググループ
2040 第4タイリンググループ
2045 データフィード
2105 PG
2110 データバス
2115、2120、2140 TSV
2205 キューブ
2210、2215 スタック
2410 ネットワークインターフェイス
2415 プログラマブルコア
2420 ボールト
2425 バッファ
2430 ALU
2605 DRAMバンク
2610 データバッファ
2615 第1被乗数バッファ
2620 選択器
2630 第2被乗数バッファ
2635 MAC
2640 出力FIFO
2700、3000 データフロー
2705 出力行列
2710、2715 部分ベクトル
2720 外積演算
2725 入力行列
2730 加重値行列
2735 出力順序
2740 ボックス
3015 出力データバンク
Claims (20)
- メモリバンクと、
前記メモリバンクに格納されたルックアップテーブルと、
前記ルックアップテーブルヘのローアドレスとして使用される第1ベクトルを格納するように構成される第1ベクトルバッファと、
前記ルックアップテーブルヘのカラムアドレスとして使用される第2ベクトルを格納するように構成される第2ベクトルバッファと、
1つ以上のルックアップテーブルエントリを受信するように構成される1つ以上のルックアップテーブルバッファと、を含み、
前記第2ベクトルバッファは、前記第2ベクトルを前記1つ以上のルックアップテーブルバッファにストリーミングするように構成され、そして前記1つ以上のルックアップテーブルバッファは、前記ルックアップテーブルから前記1つ以上のルックアップテーブルエントリを格納するように構成され、
前記1つ以上のルックアップテーブルバッファは、前記ルックアップテーブルからの前記1つ以上のルックアップテーブルエントリに少なくとも部分的に基づいて前記第1ベクトルと前記第2ベクトルの積を決定するように構成される、ことを特徴とするGEMM(general matrix-matrix multiplication)データフロー加速器半導体回路。 - 前記積は第1積であり、前記GEMMデータフロー加速器半導体回路は、
前記第1積と第2積を加算するように構成される1つ以上の加算器と、
前記第1積と前記第2積の合算結果を格納するように構成される出力バッファと、をさらに含む、ことを特徴とする請求項1に記載のGEMMデータフロー加速器半導体回路。 - 前記1つ以上のルックアップテーブルバッファは乗算演算を遂行せず、前記カラムアドレス及び前記ローアドレスとして前記第1ベクトルの値と前記第2ベクトルの値を利用して前記第1積を決定するように構成される、ことを特徴とする請求項2に記載のGEMMデータフロー加速器半導体回路。
- 前記1つ以上のルックアップテーブルバッファは、乗算演算を遂行せず、前記カラムアドレス及び前記ローアドレスとして、第3ベクトルの値と第4ベクトルの値を利用して前記第2積を決定するように構成される、ことを特徴とする請求項2に記載のGEMMデータフロー加速器半導体回路。
- 前記メモリバンク、前記ルックアップテーブル、前記第1ベクトルバッファ、前記1つ以上のルックアップテーブルバッファ、及び前記第2ベクトルバッファは階層的ルックアップ構造を形成してレイテンシを減少させる、ことを特徴とする請求項1に記載のGEMMデータフロー加速器半導体回路。
- 前記1つ以上のルックアップテーブルバッファを含む複数のルックアップテーブルバッファをさらに含み、
前記複数のルックアップテーブルバッファは、該当する複数の行列ベクトルを格納して前記メモリバンクに格納された前記ルックアップテーブルに接近せず、乗算演算を遂行しながら、前記複数の行列ベクトルの複数の積を決定するように構成される、ことを特徴とする請求項1に記載のGEMMデータフロー加速器半導体回路。 - スマートバンクユニットの周辺アレイをさらに含み、
前記スマートバンクユニットの周辺アレイは、データ累算のために前記スマートバンクユニットのアレイの中の1つのスマートバンクユニットからの部分出力データが前記スマートバンクユニットのアレイの中で他のスマートバンクユニットに入力されるパイプライン方式のデータフローチェーンを形成するように構成される、ことを特徴とする請求項6に記載のGEMMデータフロー加速器半導体回路。 - 前記スマートバンクユニットの各々は、前記メモリバンク、前記ルックアップテーブル、前記複数のルックアップテーブルバッファ、1つ以上の加算器、及び出力バッファを含む、ことを特徴とする請求項7に記載のGEMMデータフロー加速器半導体回路。
- 前記複数のスマートバンクユニットの中の第1スマートバンクユニットは、前記第1スマートバンクユニットに隣接する第2スマートバンクユニットに前記積を出力するように構成される、ことを特徴とする請求項8に記載のGEMMデータフロー加速器半導体回路。
- 前記第2スマートバンクユニットは、前記第1スマートバンクユニットから受信された前記積を格納するように構成される、ことを特徴とする請求項9に記載のGEMMデータフロー加速器半導体回路。
- 前記積は、第1積であり、
前記第2スマートバンクユニットは、ストリーミング方式に前記メモリバンクから第3ベクトルを受信するように構成され、
前記第2スマートバンクユニットの前記1つ以上のルックアップテーブルバッファは、乗算演算を遂行せず、前記ルックアップテーブルを利用して前記第3ベクトルに基づいて第2積を決定するように構成され、
前記第2スマートバンクユニットの前記1つ以上の加算器は、前記第1積と前記第2積の和を計算するように構成され、
前記第2スマートバンクユニットの前記出力バッファは、前記第1積と前記第2積の前記和を格納するように構成される、ことを特徴とする請求項10に記載のGEMMデータフロー加速器半導体回路。 - 前記第2スマートバンクユニットは、前記第1積と前記第2積の前記和を前記スマートバンクユニットの周辺アレイの中で第3スマートバンクユニットに出力するように構成され、前記第3スマートバンクユニットは前記第2スマートバンクユニットに隣接し、
前記第3スマートバンクユニットは、前記和を格納するように構成される、ことを特徴とする請求項11に記載のGEMMデータフロー加速器半導体回路。 - 前記スマートバンクユニットの周辺アレイは、蛇行的に部分和を伝播するように構成されるシストリックアレイであり、
前記スマートバンクユニットの周辺アレイは、ストリーミング方式により複数の入力行列ベクトルを受信し、そして前記部分和のデータフロー方向と垂直になる方向に前記複数の入力行列ベクトルを伝播するように構成される、ことを特徴とする請求項12に記載のGEMMデータフロー加速器半導体回路。 - 前記メモリバンクは、DRAMメモリバンクであり、前記GEMMデータフロー加速器半導体回路は、
複数のチャンネルを含むNDP-DF(near-DRAM-processing dataflow)加速器ユニットダイをさらに含み、
前記チャンネルの各々は、蛇行的に配列される前記スマートバンクユニットの周辺アレイを含み、
前記スマートバンクユニットの各々は、前記DRAMメモリバンク、前記ルックアップテーブル、前記複数のルックアップテーブルバッファ、前記1つ以上の加算器、及び前記出力バッファを含む、ことを特徴とする請求項13に記載のGEMMデータフロー加速器半導体回路。 - 前記NDP-DF加速器ユニットダイは、順に積層される複数のNDP-DF加速器ユニットダイの中の1つである、ことを特徴とする請求項14に記載のGEMMデータフロー加速器半導体回路。
- パッシブシリコンインターポーザと、
前記パッシブシリコンインターポーザ上に配置されるプロセッサと、
前記プロセッサに隣接して前記パッシブシリコンインターポーザ上に配置されるベースダイと、をさらに含み、
前記複数のNDP-DF加速器ユニットダイは、前記ベースダイ上に積層される、ことを特徴とする請求項15に記載のGEMMデータフロー加速器半導体回路。 - 前記複数のNDP-DF加速器ユニットダイ及び前記ベースダイを貫通して配置される1つ以上のTSV(through silicon via)をさらに含み、
前記1つ以上のTSVは、前記複数のNDP-DF加速器ユニットダイと前記ベースダイを、そして前記ベースダイと前記プロセッサを相互連結するように構成され、
前記複数のNDP-DF加速器ユニットダイと前記ベースダイは、前記プロセッサから計算をオフロードするように構成される、ことを特徴とする請求項16に記載のGEMMデータフロー加速器半導体回路。 - パッシブシリコンインターポーザと、
前記パッシブシリコンインターポーザ上に配置されるコントローラと、
前記コントローラに隣接して前記パッシブシリコンインターポーザ上に配置されるベースダイをさらに含み、
前記複数のNDP-DF加速器ユニットダイは、前記ベースダイ上に積層される、ことを特徴とする請求項15に記載のGEMMデータフロー加速器半導体回路。 - 前記複数のNDP-DF加速器ユニットダイと前記ベースダイを貫通して配置される1つ以上のTSV(through silicon via)をさらに含み、
前記1つ以上のTSVは、前記複数のNDP-DF加速器ユニットダイと前記ベースダイを、そして前記ベースダイと前記コントローラを相互連結するように構成され、
前記複数のNDP-DF加速器ユニットダイと前記ベースダイはテンソル計算データフロー加速器半導体回路から分離されたホストから計算をオフロードするように構成される、ことを特徴とする請求項18に記載のGEMMデータフロー加速器半導体回路。 - 前記複数の積層されたNDP-DF加速器ユニットダイとベースダイは、並列に前記部分出力データを処理するように構成される、ことを特徴とする請求項15に記載のGEMMデータフロー加速器半導体回路。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862777046P | 2018-12-07 | 2018-12-07 | |
US62/777046 | 2018-12-07 | ||
US16/388,860 US11100193B2 (en) | 2018-12-07 | 2019-04-18 | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
US16/388860 | 2019-04-18 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020091853A JP2020091853A (ja) | 2020-06-11 |
JP2020091853A5 JP2020091853A5 (ja) | 2022-11-24 |
JP7209616B2 true JP7209616B2 (ja) | 2023-01-20 |
Family
ID=70971724
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019205909A Active JP7209616B2 (ja) | 2018-12-07 | 2019-11-14 | Gemmデータフロー加速器半導体回路 |
JP2019213487A Active JP7474586B2 (ja) | 2018-12-07 | 2019-11-26 | テンソル計算データフロー加速器半導体回路 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019213487A Active JP7474586B2 (ja) | 2018-12-07 | 2019-11-26 | テンソル計算データフロー加速器半導体回路 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20200183837A1 (ja) |
JP (2) | JP7209616B2 (ja) |
KR (2) | KR102511911B1 (ja) |
CN (2) | CN111291858A (ja) |
TW (2) | TWI789547B (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200183837A1 (en) * | 2018-12-07 | 2020-06-11 | Samsung Electronics Co., Ltd. | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
US11061738B2 (en) * | 2019-02-28 | 2021-07-13 | Movidius Limited | Methods and apparatus to store and access multi dimensional data |
KR102425909B1 (ko) * | 2019-07-30 | 2022-07-29 | 한국과학기술원 | 뉴럴 네트워크 가속기 시스템 및 그것의 동작 방법 |
US11947959B2 (en) * | 2019-09-10 | 2024-04-02 | Micron Technology, Inc. | Re-using processing elements of an artificial intelligence processor |
US11334358B2 (en) * | 2019-12-09 | 2022-05-17 | Amazon Technologies, Inc. | Hardware accelerator having reconfigurable instruction set and reconfigurable decoder |
US11841792B1 (en) | 2019-12-09 | 2023-12-12 | Amazon Technologies, Inc. | Instructions with multiple memory access modes |
US11429310B2 (en) * | 2020-03-06 | 2022-08-30 | Samsung Electronics Co., Ltd. | Adjustable function-in-memory computation system |
US11874897B2 (en) | 2020-04-09 | 2024-01-16 | Micron Technology, Inc. | Integrated circuit device with deep learning accelerator and random access memory |
US11461651B2 (en) * | 2020-04-09 | 2022-10-04 | Micron Technology, Inc. | System on a chip with deep learning accelerator and random access memory |
US11355175B2 (en) | 2020-04-09 | 2022-06-07 | Micron Technology, Inc. | Deep learning accelerator and random access memory with a camera interface |
US11887647B2 (en) | 2020-04-09 | 2024-01-30 | Micron Technology, Inc. | Deep learning accelerator and random access memory with separate memory access connections |
US11687336B2 (en) * | 2020-05-08 | 2023-06-27 | Black Sesame Technologies Inc. | Extensible multi-precision data pipeline for computing non-linear and arithmetic functions in artificial neural networks |
CN115516628A (zh) * | 2020-05-28 | 2022-12-23 | 松下知识产权经营株式会社 | Ai芯片 |
WO2022000101A1 (en) * | 2020-06-28 | 2022-01-06 | Huawei Technologies Co., Ltd. | Method to avoid memory bank conflicts and pipeline conflicts in tensor memory layout |
US20220019407A1 (en) * | 2020-07-14 | 2022-01-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | In-memory computation circuit and method |
US11403111B2 (en) | 2020-07-17 | 2022-08-02 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic using look-up tables |
US20220044101A1 (en) * | 2020-08-06 | 2022-02-10 | Micron Technology, Inc. | Collaborative sensor data processing by deep learning accelerators with integrated random access memory |
US11755523B2 (en) * | 2020-08-20 | 2023-09-12 | Rambus Inc. | Stacked device system |
US11960438B2 (en) | 2020-09-08 | 2024-04-16 | Rambus Inc. | Methods and circuits for streaming data to processing elements in stacked processor-plus-memory architecture |
US11355170B1 (en) | 2020-12-16 | 2022-06-07 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic |
US20210150328A1 (en) * | 2021-01-27 | 2021-05-20 | Intel Corporation | Hierarchical Hybrid Network on Chip Architecture for Compute-in-memory Probabilistic Machine Learning Accelerator |
TWI782574B (zh) * | 2021-01-28 | 2022-11-01 | 旺宏電子股份有限公司 | 乘加運算裝置以及其乘加運算的控制方法 |
US20220308833A1 (en) * | 2021-03-24 | 2022-09-29 | Intel Corporation | Multiplication circuit based on constituent partial product lookup table |
US11656909B2 (en) * | 2021-04-15 | 2023-05-23 | National Taiwan University | Tensor accelerator capable of increasing efficiency of data sharing |
US11693796B2 (en) * | 2021-05-31 | 2023-07-04 | Arm Limited | Multi-dimensional data path architecture |
CN117501250A (zh) * | 2021-09-22 | 2024-02-02 | 华为技术有限公司 | 用于矩阵计算加速的方法和装置 |
KR20230061180A (ko) * | 2021-10-28 | 2023-05-08 | 주식회사 사피온코리아 | 컴퓨팅 시스템 및 이를 위한 전치 방법 |
US11630605B1 (en) * | 2022-08-10 | 2023-04-18 | Recogni Inc. | Methods and systems for processing read-modify-write requests |
KR20240083233A (ko) * | 2022-12-02 | 2024-06-12 | 삼성전자주식회사 | 메모리 장치 및 그 동작 방법 |
CN115860079B (zh) * | 2023-01-30 | 2023-05-12 | 深圳市九天睿芯科技有限公司 | 神经网络加速装置、方法、芯片、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3182171B2 (ja) | 1991-08-29 | 2001-07-03 | 富士通株式会社 | 光モジュール |
JP2009516248A (ja) | 2005-11-15 | 2009-04-16 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | テーブルルックアップ乗算器 |
JP2011501238A (ja) | 2007-10-23 | 2011-01-06 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | コンピュータシステムデバイスのための光配線 |
US20110307233A1 (en) | 1998-08-31 | 2011-12-15 | Tseng Ping-Sheng | Common shared memory in a verification system |
US20120215826A1 (en) | 2001-09-04 | 2012-08-23 | Microunity Systems Engineering, Inc. | System and method to implement a matrix multiply unit of a broadband processor |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2698675B2 (ja) * | 1989-12-11 | 1998-01-19 | 大日本印刷株式会社 | カラー画像情報の符号化及び再生方法 |
JPH07248841A (ja) * | 1994-03-09 | 1995-09-26 | Mitsubishi Electric Corp | 非線形関数発生装置およびフォーマット変換装置 |
US20140207794A1 (en) * | 2010-08-30 | 2014-07-24 | Nokia Corporation | Method and apparatus for conducting a search based on context |
JP2012064087A (ja) | 2010-09-17 | 2012-03-29 | Keio Gijuku | 生活習慣病の診断予測装置、生活習慣病の診断予測方法及びプログラム |
US20140289445A1 (en) | 2013-03-22 | 2014-09-25 | Antony Savich | Hardware accelerator system and method |
US9384168B2 (en) * | 2013-06-11 | 2016-07-05 | Analog Devices Global | Vector matrix product accelerator for microprocessor integration |
US10049322B2 (en) | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
JP2017098711A (ja) * | 2015-11-20 | 2017-06-01 | 富士通株式会社 | 歪補償装置および歪補償方法 |
US11126549B2 (en) | 2016-03-31 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Processing in-memory architectures for performing logical operations |
US11501131B2 (en) | 2016-09-09 | 2022-11-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
CN110447146A (zh) * | 2016-12-21 | 2019-11-12 | 英特尔公司 | 无线通信技术、装置和方法 |
EP3563304B1 (en) * | 2016-12-30 | 2022-03-09 | Intel Corporation | Deep learning hardware |
US11086967B2 (en) | 2017-03-01 | 2021-08-10 | Texas Instruments Incorporated | Implementing fundamental computational primitives using a matrix multiplication accelerator (MMA) |
US10186011B2 (en) | 2017-04-28 | 2019-01-22 | Intel Corporation | Programmable coarse grained and sparse matrix compute hardware with advanced scheduling |
US11373266B2 (en) * | 2017-05-05 | 2022-06-28 | Intel Corporation | Data parallelism and halo exchange for distributed machine learning |
US10643297B2 (en) * | 2017-05-05 | 2020-05-05 | Intel Corporation | Dynamic precision management for integer deep learning primitives |
US11501152B2 (en) * | 2017-05-05 | 2022-11-15 | Intel Corporation | Efficient learning and using of topologies of neural networks in machine learning |
US10628295B2 (en) * | 2017-12-26 | 2020-04-21 | Samsung Electronics Co., Ltd. | Computing mechanisms using lookup tables stored on memory |
US10761850B2 (en) * | 2017-12-28 | 2020-09-01 | Texas Instruments Incorporated | Look up table with data element promotion |
US11373088B2 (en) * | 2017-12-30 | 2022-06-28 | Intel Corporation | Machine learning accelerator mechanism |
US11741346B2 (en) * | 2018-02-08 | 2023-08-29 | Western Digital Technologies, Inc. | Systolic neural network engine with crossover connection optimization |
US10346093B1 (en) * | 2018-03-16 | 2019-07-09 | Xilinx, Inc. | Memory arrangement for tensor data |
US11188814B2 (en) * | 2018-04-05 | 2021-11-30 | Arm Limited | Systolic convolutional neural network |
US10599429B2 (en) * | 2018-06-08 | 2020-03-24 | Intel Corporation | Variable format, variable sparsity matrix multiplication instruction |
US11348909B2 (en) * | 2018-09-28 | 2022-05-31 | Intel Corporation | Multi-die packages with efficient memory storage |
CN111144545B (zh) * | 2018-11-02 | 2022-02-22 | 深圳云天励飞技术股份有限公司 | 用于实现卷积运算的处理元件、装置和方法 |
US20200183837A1 (en) * | 2018-12-07 | 2020-06-11 | Samsung Electronics Co., Ltd. | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
-
2019
- 2019-04-18 US US16/388,863 patent/US20200183837A1/en active Pending
- 2019-04-18 US US16/388,860 patent/US11100193B2/en active Active
- 2019-09-09 TW TW108132452A patent/TWI789547B/zh active
- 2019-09-12 TW TW108132890A patent/TWI811450B/zh active
- 2019-10-11 KR KR1020190126467A patent/KR102511911B1/ko active IP Right Grant
- 2019-10-11 KR KR1020190126481A patent/KR20200070089A/ko not_active Application Discontinuation
- 2019-11-14 JP JP2019205909A patent/JP7209616B2/ja active Active
- 2019-11-22 CN CN201911158714.4A patent/CN111291858A/zh active Pending
- 2019-11-22 CN CN201911159633.6A patent/CN111291859B/zh active Active
- 2019-11-26 JP JP2019213487A patent/JP7474586B2/ja active Active
-
2021
- 2021-07-13 US US17/374,988 patent/US20210374210A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3182171B2 (ja) | 1991-08-29 | 2001-07-03 | 富士通株式会社 | 光モジュール |
US20110307233A1 (en) | 1998-08-31 | 2011-12-15 | Tseng Ping-Sheng | Common shared memory in a verification system |
US20120215826A1 (en) | 2001-09-04 | 2012-08-23 | Microunity Systems Engineering, Inc. | System and method to implement a matrix multiply unit of a broadband processor |
JP2009516248A (ja) | 2005-11-15 | 2009-04-16 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | テーブルルックアップ乗算器 |
JP2011501238A (ja) | 2007-10-23 | 2011-01-06 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | コンピュータシステムデバイスのための光配線 |
Also Published As
Publication number | Publication date |
---|---|
JP2020091861A (ja) | 2020-06-11 |
US20210374210A1 (en) | 2021-12-02 |
US20200184001A1 (en) | 2020-06-11 |
CN111291859A (zh) | 2020-06-16 |
CN111291858A (zh) | 2020-06-16 |
TWI789547B (zh) | 2023-01-11 |
US20200183837A1 (en) | 2020-06-11 |
KR20200070089A (ko) | 2020-06-17 |
TW202024960A (zh) | 2020-07-01 |
CN111291859B (zh) | 2022-06-14 |
TW202038099A (zh) | 2020-10-16 |
JP2020091853A (ja) | 2020-06-11 |
JP7474586B2 (ja) | 2024-04-25 |
KR102511911B1 (ko) | 2023-03-20 |
US11100193B2 (en) | 2021-08-24 |
TWI811450B (zh) | 2023-08-11 |
KR20200070088A (ko) | 2020-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7209616B2 (ja) | Gemmデータフロー加速器半導体回路 | |
CN109992743B (zh) | 矩阵乘法器 | |
Judd et al. | Proteus: Exploiting numerical precision variability in deep neural networks | |
Qiao et al. | FPGA‐accelerated deep convolutional neural networks for high throughput and energy efficiency | |
JP2020091853A5 (ja) | ||
Jaiswal et al. | FPGA-based high-performance and scalable block LU decomposition architecture | |
WO2018160738A2 (en) | Reconfigurable matrix multiplier system and method | |
KR20190010642A (ko) | 심층 신경망용 가속기 | |
Choi et al. | An energy-efficient deep convolutional neural network training accelerator for in situ personalization on smart devices | |
CN108170640B (zh) | 神经网络运算装置及应用其进行运算的方法 | |
Tao et al. | Lw-gcn: A lightweight fpga-based graph convolutional network accelerator | |
CN116710912A (zh) | 一种矩阵乘法器及矩阵乘法器的控制方法 | |
Li et al. | Fsa: A fine-grained systolic accelerator for sparse cnns | |
JP7413549B2 (ja) | 並列ロードストアを有する共有スクラッチパッドメモリ | |
CN114118348A (zh) | 加速器、操作加速器的方法以及包括加速器的电子装置 | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
Iliev et al. | Low latency CMOS hardware acceleration for fully connected layers in deep neural networks | |
TWI684140B (zh) | 適用於人工神經元的處理裝置及其方法 | |
WO2023114417A2 (en) | One-dimensional computational unit for an integrated circuit | |
CN114912596A (zh) | 面向稀疏卷积神经网络的多chiplet系统及其方法 | |
Dey et al. | An application specific processor architecture with 3D integration for recurrent neural networks | |
CN109583577B (zh) | 运算装置及方法 | |
Chen et al. | Exploring the programmability for deep learning processors: from architecture to tensorization | |
Gondimalla et al. | Eureka: Efficient Tensor Cores for One-sided Unstructured Sparsity in DNN Inference | |
TWI815392B (zh) | 存內計算裝置及用於執行mac操作之方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221114 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221114 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221114 |
|
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: 20221227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7209616 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |