JP6995851B2 - ニューラルネットワーク計算タイル - Google Patents
ニューラルネットワーク計算タイル Download PDFInfo
- Publication number
- JP6995851B2 JP6995851B2 JP2019522728A JP2019522728A JP6995851B2 JP 6995851 B2 JP6995851 B2 JP 6995851B2 JP 2019522728 A JP2019522728 A JP 2019522728A JP 2019522728 A JP2019522728 A JP 2019522728A JP 6995851 B2 JP6995851 B2 JP 6995851B2
- Authority
- JP
- Japan
- Prior art keywords
- memory bank
- data
- calculation
- unit
- memory
- 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
- 238000004364 calculation method Methods 0.000 title claims description 167
- 238000013528 artificial neural network Methods 0.000 title claims description 42
- 230000004913 activation Effects 0.000 claims description 109
- 238000000034 method Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 7
- 238000012886 linear function Methods 0.000 claims description 4
- 238000011176 pooling Methods 0.000 claims description 4
- 238000001994 activation Methods 0.000 description 88
- 210000004027 cell Anatomy 0.000 description 50
- 239000000872 buffer Substances 0.000 description 21
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000012546 transfer Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 239000000306 component Substances 0.000 description 5
- 210000004205 output neuron Anatomy 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- FARHYDJOXLCMRP-UHFFFAOYSA-N 2-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]-1-[2-oxo-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethyl]pyrazol-3-yl]oxyacetic acid Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C=1C(=NN(C=1)CC(N1CC2=C(CC1)NN=N2)=O)OCC(=O)O FARHYDJOXLCMRP-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004148 unit process Methods 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- 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/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
- 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/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- 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/3824—Operand accessing
-
- 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
-
- 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
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Memory System (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
本明細書は一般に、命令帯域幅および命令メモリの低減を可能にするディープニューラルネットワーク(「DNN」)層の計算のためのニューラルネット計算タイルに関する。
一般に、この明細書に記載される主題の1つの革新的な局面は、テンソル計算を加速するための計算ユニットにおいて実施され得る。計算ユニットは、第1のデータ幅を有し、入力活性化または出力活性化のうちの少なくとも1つを格納するための第1のメモリバンクと、第1のデータ幅よりも大きい第2のデータ幅を有し、計算を実行する際に用いられる1つまたは複数のパラメータを格納するための第2のメモリバンクとを備える。計算ユニットはさらに、第2のメモリバンクからパラメータを受け取って計算を実行する少なくとも1つの積和(「MAC」)演算子を含む少なくとも1つのセルを備えてもよい。計算ユニットはさらに、少なくとも第1のメモリバンクとデータ通信する第1のトラバーサルユニットを備え、第1のトラバーサルユニットは、第1のメモリバンクに制御信号を与えて、MAC演算子によってアクセス可能なデータバスに入力活性化を与えるように構成される。計算ユニットは、データアレイの少なくとも1つの要素に関連する1つまたは複数の計算を実行し、1つまたは複数の計算は、MAC演算子によって実行され、部分的に、データバスから受け取られる入力活性化と第2のメモリバンクから受け取られるパラメータとの乗算演算を含む。
詳細な説明
本明細書に記載の主題は、ニューラルネットワーク層の機械学習推論作業負荷を加速するように構成された複数の計算ユニットを含むハードウェア計算システムに関する。ハードウェア計算システムの各計算ユニットは自己完結型であり、多層ニューラルネットワークの所与の層によって必要とされる計算を独立して実行することができる。
例1:テンソル計算を加速するための計算ユニットであって、第1のデータ幅を有し、少なくとも1つの入力活性化および少なくとも1つの出力活性化を格納するための第1のメモリバンクと、第1のデータ幅よりも大きい第2のデータ幅を有し、計算を実行する際に用いられる1つまたは複数のパラメータを格納するための第2のメモリバンクと、第2のメモリバンクからパラメータを受け取り計算を実行する少なくとも1つの積和(「MAC」)演算子を含む少なくとも1つのセルと、少なくとも第1のメモリバンクとデータ通信する第1のトラバーサルユニットとを備え、第1のトラバーサルユニットは、第1のメモリバンクに制御信号を与えて、MAC演算子によってアクセス可能なデータバスに入力活性化を与えるように構成され、計算ユニットは、データアレイの少なくとも1つの要素に関連する1つまたは複数の計算を実行し、1つまたは複数の計算は、MAC演算子によって実行され、部分的に、データバスから受け取られる入力活性化と第2のメモリバンクから受け取られるパラメータとの乗算演算を含む、計算ユニット。
Claims (15)
- ニューラルネットワークのテンソル計算を加速するための計算ユニット(200)であって、
第1のデータ幅を有し、少なくとも1つの入力活性化および少なくとも1つの出力活性化を格納するための第1のメモリバンク(210)と、
前記第1のデータ幅よりも大きい第2のデータ幅を有し、計算を実行する際に用いられる1つまたは複数のパラメータを格納するための第2のメモリバンク(212)と、
前記計算ユニットの外部にあるソースから受け取られる命令に基づいて、前記第1のメモリバンクの少なくとも1つのメモリ位置にアクセスして少なくとも1つの入力活性化を得、
前記第2のメモリバンクに前記1つまたは複数のパラメータを書き込むための制御信号を与え、
前記受け取られた命令に基づいて、前記第2のメモリバンクの少なくとも1つのメモリ位置にアクセスして前記1つまたは複数のパラメータを得るように構成されるダイレクトメモリアクセストラバーサルユニットと、
前記第2のメモリバンクからパラメータを受け取り計算を実行する少なくとも1つの積和(MAC)演算子(215)を含む少なくとも1つのセルと、
少なくとも前記第1のメモリバンクとデータ通信するテンソルトラバーサルユニット(226)とを備え、前記テンソルトラバーサルユニットは、前記第1のメモリバンクに制御信号を与えて、前記MAC演算子によってアクセス可能なデータバス(216)に入力活性化を与えるように構成され、
前記計算ユニットは、データアレイの少なくとも1つの要素に関連する1つまたは複数の計算を実行し、前記1つまたは複数の計算は、前記MAC演算子によって実行され、部分的に、前記データバスから受け取られる前記入力活性化と前記第2のメモリバンクから受け取られるパラメータとの乗算演算を含み、
前記第2のメモリバンクは、部分和または1つもしくは複数のプーリング層入力のうちの少なくとも1つを格納するように構成されている、計算ユニット。 - ニューラルネットワークのテンソル計算を加速するための計算ユニット(200)であって、
第1のデータ幅を有し、少なくとも1つの入力活性化および少なくとも1つの出力活性化を格納するための第1のメモリバンク(210)と、
前記第1のデータ幅よりも大きい第2のデータ幅を有し、計算を実行する際に用いられる1つまたは複数のパラメータを格納するための第2のメモリバンク(212)と、
前記計算ユニットの外部にあるソースから受け取られる命令に基づいて、前記第1のメモリバンクの少なくとも1つのメモリ位置にアクセスして少なくとも1つの入力活性化を得、
前記第2のメモリバンクに前記1つまたは複数のパラメータを書き込むための制御信号を与え、
前記受け取られた命令に基づいて、前記第2のメモリバンクの少なくとも1つのメモリ位置にアクセスして前記1つまたは複数のパラメータを得るように構成されるダイレクトメモリアクセストラバーサルユニットと、
前記第2のメモリバンクからパラメータを受け取り計算を実行する少なくとも1つの積和(MAC)演算子(215)を含む少なくとも1つのセルと、
少なくとも前記第1のメモリバンクとデータ通信するテンソルトラバーサルユニット(226)とを備え、前記テンソルトラバーサルユニットは、前記第1のメモリバンクに制御信号を与えて、前記MAC演算子によってアクセス可能なデータバス(216)に入力活性化を与えるように構成され、
前記計算ユニットは、データアレイの少なくとも1つの要素に関連する1つまたは複数の計算を実行し、前記1つまたは複数の計算は、前記MAC演算子によって実行され、部分的に、前記データバスから受け取られる前記入力活性化と前記第2のメモリバンクから受け取られるパラメータとの乗算演算を含み、
前記計算ユニットの外側に延びるリングバスは、前記第2のメモリバンクと他の近接する計算ユニットの第2のメモリバンクとの間にデータ経路を与え、
前記リングバスを通じて、ペイロードデータとビットマップヘッダとが転送され、前記ペイロードデータは、前記パラメータを含み、前記ビットマップヘッダは、前記ペイロードデータを使用する必要がある計算タイルを示し、
前記計算タイルが前記ペイロードデータと前記ビットマップヘッダとを受信したときに、前記計算タイルは、前記ビットマップヘッダにおける前記計算タイルに固有のビットセットデータをクリアし、前記ペイロードデータと前記ビットマップヘッダとを別の計算タイルに送信する、計算ユニット。 - 前記計算ユニットは、複数のループを含むループネストを実行することによって、前記計算のうちの1つまたは複数を実行し、前記ループネストの構造は、前記データアレイの1つまたは複数の次元をトラバースするよう前記テンソルトラバーサルユニットによって用いられるそれぞれのループを含む、請求項1または2に記載の計算ユニット。
- 前記1つまたは複数の計算は、前記テンソルトラバーサルユニットによって与えられるテンソル演算に部分的に基づいて実行され、前記テンソル演算は、前記データアレイの1つまたは複数の要素にアクセスするためのループネスト構造を含む、請求項3に記載の計算ユニット。
- 前記計算ユニットは非線形ユニットを含み、前記計算の第1の部分は前記乗算演算に基づいて積和値を生成することを含み、前記計算の第2の部分は前記非線形ユニットによって非線形関数を前記積和値に適用することによって、少なくとも1つの出力活性化を得ることを含み、前記第1のメモリバンクは、前記少なくとも1つの出力活性化を格納する、請求項1~4のいずれか1項に記載の計算ユニット。
- 前記計算ユニットによって実行される前記1つまたは複数の計算は、前記積和値を前記非線形ユニットにシフトするようシフトレジスタを用いることを含む、請求項5に記載の計算ユニット。
- 前記計算ユニットの外側に延びるリングバスの一部をさらに備え、前記リングバスは、前記第1のメモリバンクと他の近接する計算ユニットのメモリバンクとの間および前記第2のメモリバンクと他の近接する計算ユニットのメモリバンクとの間にデータ経路を与える、請求項1および3~6のいずれか1項に記載の計算ユニット。
- 前記第2のメモリバンクは、部分和または1つもしくは複数のプーリング層入力のうちの少なくとも1つを格納するように構成されている、請求項2~7のいずれか1項に記載の計算ユニット。
- ニューラルネットワークのテンソル計算を加速するための、コンピュータにより実施される方法であって、
計算ユニットの外部にあるソースから受け取られる命令に基づいて、ダイレクトメモリアクセストラバーサルユニットによって、第1のメモリバンクの少なくとも1つのメモリ位置にアクセスして少なくとも1つの入力活性化を得ることと、
第2のメモリバンクにパラメータを書き込むための制御信号を与えることと、
前記受け取られた命令に基づいて、第2のメモリバンクの少なくとも1つのメモリ位置にアクセスして1つまたは複数のパラメータを得ることと、
第1のデータ幅を有する前記第1のメモリバンクがテンソルトラバーサルユニットから制御信号を受け取ったことに応答して、前記第1のメモリバンクによって第1の入力活性化を送ることを備え、前記第1のメモリバンクは、計算ユニット内に配置され、前記第1の入力活性化は、前記計算ユニットの少なくとも1つのセルによってアクセス可能なデータバスによって与えられ、前記方法はさらに、
前記少なくとも1つのセルによって、前記第1のデータ幅よりも大きい第2のデータ幅を有する第2のメモリバンクから1つまたは複数のパラメータを受け取ることを備え、前記少なくとも1つのセルは少なくとも1つの積和(MAC)演算子を含み、前記方法はさらに、
前記MAC演算子によって、データアレイの少なくとも1つの要素に関連する1つまたは複数の計算を実行することを備え、前記1つまたは複数の計算は、部分的に、前記データバスからアクセスされる少なくとも前記第1の入力活性化と前記第2のメモリバンクから受け取られる少なくとも1つのパラメータとの乗算演算を含み、
前記第2のメモリバンクは、部分和または1つもしくは複数のプーリング層入力のうちの少なくとも1つを格納するように構成されている、ニューラルネットワークのテンソル計算を加速するための、コンピュータにより実施される方法。 - ニューラルネットワークのテンソル計算を加速するための、コンピュータにより実施される方法であって、
計算ユニットの外部にあるソースから受け取られる命令に基づいて、ダイレクトメモリアクセストラバーサルユニットによって、第1のメモリバンクの少なくとも1つのメモリ位置にアクセスして少なくとも1つの入力活性化を得ることと、
第2のメモリバンクにパラメータを書き込むための制御信号を与えることと、
前記受け取られた命令に基づいて、第2のメモリバンクの少なくとも1つのメモリ位置にアクセスして1つまたは複数のパラメータを得ることと、
第1のデータ幅を有する前記第1のメモリバンクがテンソルトラバーサルユニットから制御信号を受け取ったことに応答して、前記第1のメモリバンクによって第1の入力活性化を送ることを備え、前記第1のメモリバンクは、計算ユニット内に配置され、前記第1の入力活性化は、前記計算ユニットの少なくとも1つのセルによってアクセス可能なデータバスによって与えられ、前記方法はさらに、
前記少なくとも1つのセルによって、前記第1のデータ幅よりも大きい第2のデータ幅を有する第2のメモリバンクから1つまたは複数のパラメータを受け取ることを備え、前記少なくとも1つのセルは少なくとも1つの積和(MAC)演算子を含み、前記方法はさらに、
前記MAC演算子によって、データアレイの少なくとも1つの要素に関連する1つまたは複数の計算を実行することを備え、前記1つまたは複数の計算は、部分的に、前記データバスからアクセスされる少なくとも前記第1の入力活性化と前記第2のメモリバンクから受け取られる少なくとも1つのパラメータとの乗算演算を含み、
前記計算ユニットの外側に延びるリングバスは、前記第2のメモリバンクと他の近接する計算ユニットの第2のメモリバンクとの間にデータ経路を与え、
前記リングバスを通じて、ペイロードデータとビットマップヘッダとが転送され、前記ペイロードデータは、前記パラメータを含み、前記ビットマップヘッダは、前記ペイロードデータを使用する必要がある計算タイルを示し、
前記計算タイルが前記ペイロードデータと前記ビットマップヘッダとを受信したときに、前記計算タイルは、前記ビットマップヘッダにおける前記計算タイルに固有のビットセットデータをクリアし、前記ペイロードデータと前記ビットマップヘッダとを別の計算タイルに送信する、ニューラルネットワークのテンソル計算を加速するための、コンピュータにより実施される方法。 - 前記1つまたは複数の計算は、前記計算ユニットが複数のループを含むループネストを実行することに部分的に基づいて実行され、前記ループネストの構造は、前記データアレイの1つまたは複数の次元をトラバースするよう前記テンソルトラバーサルユニットによって用いられるそれぞれのループを含む、請求項9または10に記載のコンピュータにより実施される方法。
- 前記テンソルトラバーサルユニットによって、前記データアレイの1つまたは複数の要素にアクセスするためのループネスト構造を含むテンソル演算を与えることをさらに備える、請求項11に記載のコンピュータにより実施される方法。
- 前記乗算演算に基づいて積和値を生成することによって前記1つまたは複数の計算の第1の部分を実行することをさらに備える、請求項9~12のいずれか1項に記載のコンピュータにより実施される方法。
- 前記積和値に非線形関数を適用して、少なくとも1つの出力活性化を得ることによって前記1つまたは複数の計算の第2の部分を実行することをさらに備える、請求項13に記載のコンピュータにより実施される方法。
- コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに請求項9~14のいずれか1項に記載の方法を実行させる、プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021203544A JP7451483B2 (ja) | 2016-10-27 | 2021-12-15 | ニューラルネットワーク計算タイル |
JP2024033695A JP2024075608A (ja) | 2016-10-27 | 2024-03-06 | ニューラルネットワーク計算タイル |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/335,769 | 2016-10-27 | ||
US15/335,769 US10175980B2 (en) | 2016-10-27 | 2016-10-27 | Neural network compute tile |
PCT/US2017/046963 WO2018080617A1 (en) | 2016-10-27 | 2017-08-15 | Neural network compute tile |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021203544A Division JP7451483B2 (ja) | 2016-10-27 | 2021-12-15 | ニューラルネットワーク計算タイル |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019537793A JP2019537793A (ja) | 2019-12-26 |
JP6995851B2 true JP6995851B2 (ja) | 2022-01-17 |
Family
ID=59296600
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019522728A Active JP6995851B2 (ja) | 2016-10-27 | 2017-08-15 | ニューラルネットワーク計算タイル |
JP2021203544A Active JP7451483B2 (ja) | 2016-10-27 | 2021-12-15 | ニューラルネットワーク計算タイル |
JP2024033695A Pending JP2024075608A (ja) | 2016-10-27 | 2024-03-06 | ニューラルネットワーク計算タイル |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021203544A Active JP7451483B2 (ja) | 2016-10-27 | 2021-12-15 | ニューラルネットワーク計算タイル |
JP2024033695A Pending JP2024075608A (ja) | 2016-10-27 | 2024-03-06 | ニューラルネットワーク計算タイル |
Country Status (10)
Country | Link |
---|---|
US (4) | US10175980B2 (ja) |
EP (1) | EP3533001B1 (ja) |
JP (3) | JP6995851B2 (ja) |
KR (2) | KR102387334B1 (ja) |
CN (2) | CN207895435U (ja) |
DE (2) | DE202017105708U1 (ja) |
GB (1) | GB2555936B (ja) |
HK (1) | HK1254698A1 (ja) |
SG (1) | SG11201903684RA (ja) |
WO (1) | WO2018080617A1 (ja) |
Families Citing this family (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875104B2 (en) | 2016-02-03 | 2018-01-23 | Google Llc | Accessing data in multi-dimensional tensors |
US11423289B2 (en) * | 2016-06-14 | 2022-08-23 | Samsung Electronics Co., Ltd. | Accelerator for deep neural networks |
US10175980B2 (en) | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US10360163B2 (en) * | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
US9959498B1 (en) | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
US10891534B2 (en) | 2017-01-11 | 2021-01-12 | International Business Machines Corporation | Neural network reinforcement learning |
US11132599B2 (en) * | 2017-02-28 | 2021-09-28 | Microsoft Technology Licensing, Llc | Multi-function unit for programmable hardware nodes for neural network processing |
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
US9875167B1 (en) | 2017-03-29 | 2018-01-23 | Google Inc. | Distributed hardware tracing |
US10817293B2 (en) * | 2017-04-28 | 2020-10-27 | Tenstorrent Inc. | Processing core with metadata actuated conditional graph execution |
CN108875956B (zh) * | 2017-05-11 | 2019-09-10 | 广州异构智能科技有限公司 | 原生张量处理器 |
US11169732B2 (en) * | 2017-05-18 | 2021-11-09 | Kabushiki Kaisha Toshiba | Computing device |
US10248908B2 (en) | 2017-06-19 | 2019-04-02 | Google Llc | Alternative loop limits for accessing data in multi-dimensional tensors |
CN107729990B (zh) * | 2017-07-20 | 2021-06-08 | 上海寒武纪信息科技有限公司 | 支持离散数据表示的用于执行正向运算的装置及方法 |
US10790828B1 (en) | 2017-07-21 | 2020-09-29 | X Development Llc | Application specific integrated circuit accelerators |
US10879904B1 (en) * | 2017-07-21 | 2020-12-29 | X Development Llc | Application specific integrated circuit accelerators |
GB2568776B (en) * | 2017-08-11 | 2020-10-28 | Google Llc | Neural network accelerator with parameters resident on chip |
US11243880B1 (en) * | 2017-09-15 | 2022-02-08 | Groq, Inc. | Processor architecture |
US11868804B1 (en) | 2019-11-18 | 2024-01-09 | Groq, Inc. | Processor instruction dispatch configuration |
US11114138B2 (en) | 2017-09-15 | 2021-09-07 | Groq, Inc. | Data structures with multiple read ports |
US11360934B1 (en) | 2017-09-15 | 2022-06-14 | Groq, Inc. | Tensor streaming processor architecture |
WO2019057281A1 (en) * | 2017-09-21 | 2019-03-28 | Huawei Technologies Co., Ltd. | MULTI-WIRE SYSTOLIC NETWORK |
US11170307B1 (en) | 2017-09-21 | 2021-11-09 | Groq, Inc. | Predictive model compiler for generating a statically scheduled binary with known resource constraints |
US11694066B2 (en) | 2017-10-17 | 2023-07-04 | Xilinx, Inc. | Machine learning runtime library for neural network acceleration |
US11620490B2 (en) * | 2017-10-17 | 2023-04-04 | Xilinx, Inc. | Multi-layer neural network processing by a neural network accelerator using host communicated merged weights and a package of per-layer instructions |
US11222256B2 (en) | 2017-10-17 | 2022-01-11 | Xilinx, Inc. | Neural network processing system having multiple processors and a neural network accelerator |
GB2568086B (en) | 2017-11-03 | 2020-05-27 | Imagination Tech Ltd | Hardware implementation of convolution layer of deep neutral network |
US10936942B2 (en) | 2017-11-21 | 2021-03-02 | Google Llc | Apparatus and mechanism for processing neural network tasks using a single chip package with multiple identical dies |
US11199896B2 (en) | 2017-11-21 | 2021-12-14 | Google Llc | Low-power ambient computing system with machine learning |
US20190179635A1 (en) * | 2017-12-11 | 2019-06-13 | Futurewei Technologies, Inc. | Method and apparatus for tensor and convolution operations |
US10747631B2 (en) * | 2018-01-19 | 2020-08-18 | DinoplusAI Holdings Limited | Mission-critical AI processor with record and replay support |
SG11202007532TA (en) * | 2018-02-16 | 2020-09-29 | Governing Council Univ Toronto | Neural network accelerator |
US10908879B2 (en) | 2018-03-02 | 2021-02-02 | Neuchips Corporation | Fast vector multiplication and accumulation circuit |
US11614941B2 (en) | 2018-03-30 | 2023-03-28 | Qualcomm Incorporated | System and method for decoupling operations to accelerate processing of loop structures |
US10657442B2 (en) * | 2018-04-19 | 2020-05-19 | International Business Machines Corporation | Deep learning accelerator architecture with chunking GEMM |
US11783167B1 (en) | 2018-04-20 | 2023-10-10 | Perceive Corporation | Data transfer for non-dot product computations on neural network inference circuit |
US11295200B1 (en) * | 2018-04-20 | 2022-04-05 | Perceive Corporation | Time-multiplexed dot products for neural network inference circuit |
US10740434B1 (en) | 2018-04-20 | 2020-08-11 | Perceive Corporation | Reduced dot product computation circuit |
US11568227B1 (en) | 2018-04-20 | 2023-01-31 | Perceive Corporation | Neural network inference circuit read controller with multiple operational modes |
US20190325295A1 (en) * | 2018-04-20 | 2019-10-24 | International Business Machines Corporation | Time, space, and energy efficient neural inference via parallelism and on-chip memory |
US11468145B1 (en) | 2018-04-20 | 2022-10-11 | Perceive Corporation | Storage of input values within core of neural network inference circuit |
US11556762B2 (en) | 2018-04-21 | 2023-01-17 | Microsoft Technology Licensing, Llc | Neural network processor based on application specific synthesis specialization parameters |
US20190332925A1 (en) * | 2018-04-30 | 2019-10-31 | International Business Machines Corporation | Neural hardware accelerator for parallel and distributed tensor computations |
US20190392287A1 (en) * | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Neural processor |
CN112334915A (zh) * | 2018-06-25 | 2021-02-05 | 奥林巴斯株式会社 | 运算处理装置 |
US11663461B2 (en) | 2018-07-05 | 2023-05-30 | International Business Machines Corporation | Instruction distribution in an array of neural network cores |
US20200019836A1 (en) * | 2018-07-12 | 2020-01-16 | International Business Machines Corporation | Hierarchical parallelism in a network of distributed neural network cores |
CN110796244B (zh) * | 2018-08-01 | 2022-11-08 | 上海天数智芯半导体有限公司 | 用于人工智能设备的核心计算单元处理器及加速处理方法 |
CN109117949A (zh) * | 2018-08-01 | 2019-01-01 | 南京天数智芯科技有限公司 | 用于人工智能设备的灵活数据流处理器和处理方法 |
US10817042B2 (en) * | 2018-09-27 | 2020-10-27 | Intel Corporation | Power savings for neural network architecture with zero activations during inference |
US10834024B2 (en) * | 2018-09-28 | 2020-11-10 | International Business Machines Corporation | Selective multicast delivery on a bus-based interconnect |
US20210382691A1 (en) * | 2018-10-15 | 2021-12-09 | The Board Of Trustees Of The University Of Illinois | In-Memory Near-Data Approximate Acceleration |
KR102637733B1 (ko) | 2018-10-31 | 2024-02-19 | 삼성전자주식회사 | 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법 |
US11301546B2 (en) | 2018-11-19 | 2022-04-12 | Groq, Inc. | Spatial locality transform of matrices |
US11361050B2 (en) | 2018-11-20 | 2022-06-14 | Hewlett Packard Enterprise Development Lp | Assigning dependent matrix-vector multiplication operations to consecutive crossbars of a dot product engine |
US11263011B2 (en) | 2018-11-28 | 2022-03-01 | International Business Machines Corporation | Compound instruction set architecture for a neural inference chip |
US11995533B1 (en) | 2018-12-05 | 2024-05-28 | Perceive Corporation | Executing replicated neural network layers on inference circuit |
JP7189000B2 (ja) * | 2018-12-12 | 2022-12-13 | 日立Astemo株式会社 | 情報処理装置、車載制御装置、車両制御システム |
US20200202198A1 (en) * | 2018-12-21 | 2020-06-25 | Waymo Llc | Neural network processor |
US11144282B2 (en) * | 2019-01-16 | 2021-10-12 | Mediatek Inc. | Mathematical accelerator for artificial intelligence applications |
US11347297B1 (en) | 2019-01-23 | 2022-05-31 | Perceive Corporation | Neural network inference circuit employing dynamic memory sleep |
US10824370B2 (en) * | 2019-02-07 | 2020-11-03 | quadric.io, Inc. | Systems and methods for implementing random access memory in a flow-based machine perception and dense algorithm integrated circuit based on computing and coalescing of indices |
US11023379B2 (en) | 2019-02-13 | 2021-06-01 | Google Llc | Low-power cached ambient computing |
US11748599B2 (en) * | 2019-02-21 | 2023-09-05 | Texas Instruments Incorporated | Super-tiling in neural network processing to enable analytics at lower memory speed |
CN111782133A (zh) * | 2019-04-04 | 2020-10-16 | 安徽寒武纪信息科技有限公司 | 数据处理方法及装置以及相关产品 |
US11176493B2 (en) * | 2019-04-29 | 2021-11-16 | Google Llc | Virtualizing external memory as local to a machine learning accelerator |
US11625585B1 (en) | 2019-05-21 | 2023-04-11 | Perceive Corporation | Compiler for optimizing filter sparsity for neural network implementation configuration |
JP7278150B2 (ja) | 2019-05-23 | 2023-05-19 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法 |
US20210026686A1 (en) * | 2019-07-22 | 2021-01-28 | Advanced Micro Devices, Inc. | Chiplet-integrated machine learning accelerators |
GB2586277B (en) * | 2019-08-16 | 2022-11-23 | Siemens Ind Software Inc | Broadcasting event messages in a system on chip |
GB2586279B (en) * | 2019-08-16 | 2022-11-23 | Siemens Ind Software Inc | Routing messages in a integrated circuit chip device |
GB2586278B (en) * | 2019-08-16 | 2022-11-23 | Siemens Ind Software Inc | Addressing mechanism for a system on chip |
CN114270319A (zh) * | 2019-10-07 | 2022-04-01 | 谷歌有限责任公司 | 在机器学习计算单元之间重新分配张量元素 |
US11327690B2 (en) * | 2019-11-13 | 2022-05-10 | Google Llc | Enhanced input of machine-learning accelerator activations |
CN112990421B (zh) * | 2019-12-02 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 优化深度学习网络的运行过程的方法、装置及存储介质 |
KR20210071471A (ko) | 2019-12-06 | 2021-06-16 | 삼성전자주식회사 | 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법 |
KR20220085835A (ko) | 2019-12-17 | 2022-06-22 | 구글 엘엘씨 | 저전력 비전 감지 |
KR20210077352A (ko) * | 2019-12-17 | 2021-06-25 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 이를 위한 가속 장치 |
US20220335945A1 (en) | 2019-12-18 | 2022-10-20 | Google Llc | Machine learning based privacy processing |
US20230119126A1 (en) * | 2019-12-19 | 2023-04-20 | Google Llc | Processing sequential inputs using neural network accelerators |
KR20210085461A (ko) | 2019-12-30 | 2021-07-08 | 삼성전자주식회사 | 프로세싱 장치 및 프로세싱 장치에서 부동 소수점 연산을 처리하는 방법 |
US11537323B2 (en) * | 2020-01-07 | 2022-12-27 | SK Hynix Inc. | Processing-in-memory (PIM) device |
DE102020201182A1 (de) * | 2020-01-31 | 2021-08-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Hardwarebeschleunigte Berechnung von Faltungen |
US11630991B2 (en) | 2020-02-04 | 2023-04-18 | Apple Inc. | Broadcasting mode of planar engine for neural processor |
US11226816B2 (en) | 2020-02-12 | 2022-01-18 | Samsung Electronics Co., Ltd. | Systems and methods for data placement for in-memory-compute |
US11281554B2 (en) | 2020-03-17 | 2022-03-22 | Samsung Electronics Co., Ltd. | System and method for in-memory computation |
CN113537476A (zh) * | 2020-04-16 | 2021-10-22 | 中科寒武纪科技股份有限公司 | 运算装置以及相关产品 |
US11928176B2 (en) * | 2020-07-30 | 2024-03-12 | Arm Limited | Time domain unrolling sparse matrix multiplication system and method |
US11954580B2 (en) | 2020-09-16 | 2024-04-09 | Meta Platforms, Inc. | Spatial tiling of compute arrays with shared control |
US20220114440A1 (en) * | 2020-10-14 | 2022-04-14 | Google Llc | Queue Allocation in Machine Learning Accelerators |
US11704562B1 (en) | 2020-11-04 | 2023-07-18 | Meta Platforms, Inc. | Architecture for virtual instructions |
US11709783B1 (en) | 2020-11-11 | 2023-07-25 | Meta Platforms, Inc. | Tensor data distribution using grid direct-memory access (DMA) controller |
US11972349B1 (en) | 2020-11-12 | 2024-04-30 | Meta Platforms, Inc. | Flexible compute array utilization in a tensor processor |
US20220188492A1 (en) * | 2020-12-10 | 2022-06-16 | Memryx Incorporated | Chiplet based artificial intelligence accelerators and configuration methods |
US11922306B2 (en) | 2020-12-28 | 2024-03-05 | Meta Platforms, Inc. | Tensor controller architecture |
US12001893B1 (en) | 2020-12-28 | 2024-06-04 | Meta Platforms, Inc. | Distributed synchronization scheme |
US11790611B2 (en) | 2020-12-30 | 2023-10-17 | Meta Platforms, Inc. | Visual editor for designing augmented-reality effects that utilize voice recognition |
CN112596684B (zh) | 2021-03-08 | 2021-06-22 | 成都启英泰伦科技有限公司 | 一种用于语音深度神经网络运算的数据存储方法 |
US20220405557A1 (en) * | 2021-06-10 | 2022-12-22 | Samsung Electronics Co., Ltd. | Sram-sharing for reconfigurable neural processing units |
US11693692B2 (en) | 2021-06-17 | 2023-07-04 | International Business Machines Corporation | Program event recording storage alteration processing for a neural network accelerator instruction |
US11675592B2 (en) | 2021-06-17 | 2023-06-13 | International Business Machines Corporation | Instruction to query for model-dependent information |
US11734013B2 (en) | 2021-06-17 | 2023-08-22 | International Business Machines Corporation | Exception summary for invalid values detected during instruction execution |
US11269632B1 (en) | 2021-06-17 | 2022-03-08 | International Business Machines Corporation | Data conversion to/from selected data type with implied rounding mode |
US11669331B2 (en) | 2021-06-17 | 2023-06-06 | International Business Machines Corporation | Neural network processing assist instruction |
US11797270B2 (en) | 2021-06-17 | 2023-10-24 | International Business Machines Corporation | Single function to perform multiple operations with distinct operation parameter validation |
US11694733B2 (en) | 2021-08-19 | 2023-07-04 | Apple Inc. | Acceleration of in-memory-compute arrays |
US11494321B1 (en) * | 2021-09-30 | 2022-11-08 | Amazon Technologies, Inc. | State buffer memloc reshaping |
KR102395743B1 (ko) * | 2021-11-09 | 2022-05-09 | 오픈엣지테크놀로지 주식회사 | 1차원 어레이 풀링 방법 및 이를 위한 장치 |
US12008368B2 (en) | 2022-09-21 | 2024-06-11 | Amazon Technologies, Inc. | Programmable compute engine having transpose operations |
CN115599442B (zh) * | 2022-12-14 | 2023-03-10 | 成都登临科技有限公司 | 一种ai芯片、电子设备及张量处理方法 |
CN117093509B (zh) * | 2023-10-18 | 2024-01-26 | 上海为旌科技有限公司 | 一种基于贪婪算法的片上内存地址分配方法和*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117900A (ja) | 1999-10-19 | 2001-04-27 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置 |
JP3251947B2 (ja) | 1991-03-27 | 2002-01-28 | 株式会社日立国際電気 | 自動利得制御回路 |
JP2010134697A (ja) | 2008-12-04 | 2010-06-17 | Canon Inc | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
US20150199963A1 (en) | 2012-10-23 | 2015-07-16 | Google Inc. | Mobile speech recognition hardware accelerator |
WO2016118257A1 (en) | 2015-01-22 | 2016-07-28 | Qualcomm Incorporated | Model compression and fine-tuning |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3754128A (en) | 1971-08-31 | 1973-08-21 | M Corinthios | High speed signal processor for vector transformation |
JPS4874139A (ja) | 1971-12-29 | 1973-10-05 | ||
JPS5364439A (en) | 1976-11-20 | 1978-06-08 | Agency Of Ind Science & Technol | Linear coversion system |
JPS58134357A (ja) | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
EP0156648B1 (en) | 1984-03-29 | 1992-09-30 | Kabushiki Kaisha Toshiba | Convolution arithmetic circuit for digital signal processing |
US5267185A (en) | 1989-04-14 | 1993-11-30 | Sharp Kabushiki Kaisha | Apparatus for calculating matrices |
US5138695A (en) | 1989-10-10 | 1992-08-11 | Hnc, Inc. | Systolic array image processing system |
JPH03167664A (ja) | 1989-11-28 | 1991-07-19 | Nec Corp | マトリクス演算回路 |
JP3210319B2 (ja) * | 1990-03-01 | 2001-09-17 | 株式会社東芝 | ニューロチップおよびそのチップを用いたニューロコンピュータ |
EP0485522A4 (en) | 1990-05-30 | 1993-08-04 | Daniel W. Hammerstrom | Neural network using virtual-zero |
WO1991019267A1 (en) | 1990-06-06 | 1991-12-12 | Hughes Aircraft Company | Neural network processor |
JP3318753B2 (ja) | 1991-12-05 | 2002-08-26 | ソニー株式会社 | 積和演算装置および積和演算方法 |
AU658066B2 (en) | 1992-09-10 | 1995-03-30 | Deere & Company | Neural network based control system |
JPH06139218A (ja) * | 1992-10-30 | 1994-05-20 | Hitachi Ltd | ディジタル集積回路を用いて神経回路網を完全に並列にシミュレートするための方法及び装置 |
JPH076146A (ja) * | 1993-06-18 | 1995-01-10 | Fujitsu Ltd | 並列データ処理システム |
US6067536A (en) | 1996-05-30 | 2000-05-23 | Matsushita Electric Industrial Co., Ltd. | Neural network for voice and pattern recognition |
US5742741A (en) | 1996-07-18 | 1998-04-21 | Industrial Technology Research Institute | Reconfigurable neural network |
EP0834817B1 (en) | 1996-10-01 | 2000-08-02 | FINMECCANICA S.p.A. AZIENDA ANSALDO | Programmed neural module |
US5905757A (en) | 1996-10-04 | 1999-05-18 | Motorola, Inc. | Filter co-processor |
JPH117432A (ja) * | 1997-06-16 | 1999-01-12 | Hitachi Ltd | 情報処理装置及び半導体装置 |
US6243734B1 (en) * | 1998-10-30 | 2001-06-05 | Intel Corporation | Computer product and method for sparse matrices |
US20020044695A1 (en) | 2000-05-05 | 2002-04-18 | Bostrom Alistair K. | Method for wavelet-based compression of video images |
JP2003244190A (ja) | 2002-02-19 | 2003-08-29 | Matsushita Electric Ind Co Ltd | データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ |
US7016529B2 (en) | 2002-03-15 | 2006-03-21 | Microsoft Corporation | System and method facilitating pattern recognition |
US7493498B1 (en) | 2002-03-27 | 2009-02-17 | Advanced Micro Devices, Inc. | Input/output permission bitmaps for compartmentalized security |
US20070124565A1 (en) * | 2003-06-18 | 2007-05-31 | Ambric, Inc. | Reconfigurable processing array having hierarchical communication network |
US7426501B2 (en) | 2003-07-18 | 2008-09-16 | Knowntech, Llc | Nanotechnology neural network methods and systems |
US7818729B1 (en) | 2003-09-15 | 2010-10-19 | Thomas Plum | Automated safe secure techniques for eliminating undefined behavior in computer software |
JP2007518199A (ja) | 2004-01-13 | 2007-07-05 | ニューヨーク・ユニバーシティ | 多重線形独立要素分析を使用した画像認識の方法、システム、記憶媒体、及びデータ構造 |
GB2436377B (en) | 2006-03-23 | 2011-02-23 | Cambridge Display Tech Ltd | Data processing hardware |
CN101441441B (zh) | 2007-11-21 | 2010-06-30 | 新乡市起重机厂有限公司 | 起重机智能防摇控制***的设计方法 |
JP4513865B2 (ja) | 2008-01-25 | 2010-07-28 | セイコーエプソン株式会社 | 並列演算装置および並列演算方法 |
EP2283578A1 (en) | 2008-05-21 | 2011-02-16 | Nxp B.V. | A data handling system comprising memory banks and data rearrangement |
JP2010039625A (ja) * | 2008-08-01 | 2010-02-18 | Renesas Technology Corp | 並列演算装置 |
US8321652B2 (en) | 2008-08-01 | 2012-11-27 | Infineon Technologies Ag | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks |
EP2290563B1 (en) | 2009-08-28 | 2017-12-13 | Accenture Global Services Limited | Accessing content in a network |
US8589600B2 (en) | 2009-12-14 | 2013-11-19 | Maxeler Technologies, Ltd. | Method of transferring data with offsets |
US8595467B2 (en) | 2009-12-29 | 2013-11-26 | International Business Machines Corporation | Floating point collect and operate |
US8457767B2 (en) | 2010-12-31 | 2013-06-04 | Brad Radl | System and method for real-time industrial process modeling |
US8977629B2 (en) * | 2011-05-24 | 2015-03-10 | Ebay Inc. | Image-based popularity prediction |
US8812414B2 (en) | 2011-05-31 | 2014-08-19 | International Business Machines Corporation | Low-power event-driven neural computing architecture in neural networks |
JP5911165B2 (ja) * | 2011-08-05 | 2016-04-27 | 株式会社メガチップス | 画像認識装置 |
US8909576B2 (en) | 2011-09-16 | 2014-12-09 | International Business Machines Corporation | Neuromorphic event-driven neural computing architecture in a scalable neural network |
US9201828B2 (en) * | 2012-10-23 | 2015-12-01 | Analog Devices, Inc. | Memory interconnect network architecture for vector processor |
US9921832B2 (en) * | 2012-12-28 | 2018-03-20 | Intel Corporation | Instruction to reduce elements in a vector register with strided access pattern |
US9811116B2 (en) * | 2013-05-24 | 2017-11-07 | Qualcomm Incorporated | Utilization and configuration of wireless docking environments |
US20150071020A1 (en) * | 2013-09-06 | 2015-03-12 | Sony Corporation | Memory device comprising tiles with shared read and write circuits |
US20160026912A1 (en) | 2014-07-22 | 2016-01-28 | Intel Corporation | Weight-shifting mechanism for convolutional neural networks |
US9715642B2 (en) | 2014-08-29 | 2017-07-25 | Google Inc. | Processing images using deep neural networks |
CN104463209B (zh) | 2014-12-08 | 2017-05-24 | 福建坤华仪自动化仪器仪表有限公司 | 一种基于bp神经网络的pcb板上数字代码识别方法 |
US10013652B2 (en) | 2015-04-29 | 2018-07-03 | Nuance Communications, Inc. | Fast deep neural network feature transformation via optimized memory bandwidth utilization |
US10262259B2 (en) | 2015-05-08 | 2019-04-16 | Qualcomm Incorporated | Bit width selection for fixed point neural networks |
US10489703B2 (en) * | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
US9747546B2 (en) * | 2015-05-21 | 2017-08-29 | Google Inc. | Neural network processor |
US10353861B2 (en) | 2015-10-08 | 2019-07-16 | Via Alliance Semiconductor Co., Ltd. | Mechanism for communication between architectural program running on processor and non-architectural program running on execution unit of the processor regarding shared resource |
US9875104B2 (en) | 2016-02-03 | 2018-01-23 | Google Llc | Accessing data in multi-dimensional tensors |
US10552119B2 (en) | 2016-04-29 | 2020-02-04 | Intel Corporation | Dynamic management of numerical representation in a distributed matrix processor architecture |
CN106023065B (zh) | 2016-05-13 | 2019-02-19 | 中国矿业大学 | 一种基于深度卷积神经网络的张量型高光谱图像光谱-空间降维方法 |
CN106127297B (zh) | 2016-06-02 | 2019-07-12 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
US10360163B2 (en) | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
US9959498B1 (en) | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
US10175980B2 (en) * | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US10733505B2 (en) * | 2016-11-10 | 2020-08-04 | Google Llc | Performing kernel striding in hardware |
US10037490B2 (en) * | 2016-12-13 | 2018-07-31 | Google Llc | Performing average pooling in hardware |
CN106529511B (zh) | 2016-12-13 | 2019-12-10 | 北京旷视科技有限公司 | 图像结构化方法及装置 |
US20180189675A1 (en) * | 2016-12-31 | 2018-07-05 | Intel Corporation | Hardware accelerator architecture and template for web-scale k-means clustering |
US11164071B2 (en) * | 2017-04-18 | 2021-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing computational complexity of convolutional neural networks |
US10621489B2 (en) * | 2018-03-30 | 2020-04-14 | International Business Machines Corporation | Massively parallel neural inference computing elements |
US10572409B1 (en) * | 2018-05-10 | 2020-02-25 | Xilinx, Inc. | Sparse matrix processing circuitry |
-
2016
- 2016-10-27 US US15/335,769 patent/US10175980B2/en active Active
-
2017
- 2017-03-17 US US15/462,180 patent/US9710265B1/en active Active
- 2017-08-15 EP EP17758698.9A patent/EP3533001B1/en active Active
- 2017-08-15 SG SG11201903684RA patent/SG11201903684RA/en unknown
- 2017-08-15 KR KR1020217033780A patent/KR102387334B1/ko active IP Right Grant
- 2017-08-15 WO PCT/US2017/046963 patent/WO2018080617A1/en active Search and Examination
- 2017-08-15 KR KR1020197014238A patent/KR102317668B1/ko active IP Right Grant
- 2017-08-15 JP JP2019522728A patent/JP6995851B2/ja active Active
- 2017-09-14 GB GB1714815.6A patent/GB2555936B/en active Active
- 2017-09-20 DE DE202017105708.9U patent/DE202017105708U1/de active Active
- 2017-09-20 DE DE102017121825.4A patent/DE102017121825A1/de active Pending
- 2017-09-27 CN CN201721254418.0U patent/CN207895435U/zh active Active
- 2017-09-27 CN CN201710889996.XA patent/CN108009106A/zh active Pending
-
2018
- 2018-10-25 HK HK18113683.5A patent/HK1254698A1/zh unknown
-
2019
- 2019-01-04 US US16/239,760 patent/US11422801B2/en active Active
-
2021
- 2021-12-15 JP JP2021203544A patent/JP7451483B2/ja active Active
-
2022
- 2022-08-22 US US17/892,807 patent/US11816480B2/en active Active
-
2024
- 2024-03-06 JP JP2024033695A patent/JP2024075608A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3251947B2 (ja) | 1991-03-27 | 2002-01-28 | 株式会社日立国際電気 | 自動利得制御回路 |
JP2001117900A (ja) | 1999-10-19 | 2001-04-27 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置 |
JP2010134697A (ja) | 2008-12-04 | 2010-06-17 | Canon Inc | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
US20110239032A1 (en) | 2008-12-04 | 2011-09-29 | Canon Kabushiki Kaisha | Convolution operation circuit and object recognition apparatus |
US20150199963A1 (en) | 2012-10-23 | 2015-07-16 | Google Inc. | Mobile speech recognition hardware accelerator |
WO2016118257A1 (en) | 2015-01-22 | 2016-07-28 | Qualcomm Incorporated | Model compression and fine-tuning |
Non-Patent Citations (5)
Title |
---|
下川 勝千(外2名),「ディジタルニューロコンピュータ MULTINEURO」,東芝レビュー,日本,株式会社 東芝,1991年12月01日,Vol.46, No.12,第931~934頁,ISSN: 0372-0462. |
内園陽平(外2名),「動的グラフ信号に対する多重スケール変換」,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2016年01月11日,Vol.115, No.396,第231~236頁,ISSN: 0913-5685. |
斎藤康毅,「ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装」,初版,日本,株式会社オライリー・ジャパン,2016年09月28日,第13~14頁,ISBN: 978-4-87311-758-4. |
渡邊栄治(外1名),「PCクラスタによる階層型ニューラルネットワークの協調学習法」,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2000年11月17日,Vol.100, No.466,第79~86頁,ISSN: 0913-5685. |
牧田 淳子(外5名),「1.2GFLOPSニューロチップ用S/Wシミュレータの開発」,情報処理学会第50回(平成7年前期)全国大会 講演論文集(6),日本,社団法人 情報処理学会,1995年03月15日,第6-63~6-64頁. |
Also Published As
Publication number | Publication date |
---|---|
JP7451483B2 (ja) | 2024-03-18 |
CN207895435U (zh) | 2018-09-21 |
EP3533001A1 (en) | 2019-09-04 |
WO2018080617A1 (en) | 2018-05-03 |
US11816480B2 (en) | 2023-11-14 |
CN108009106A (zh) | 2018-05-08 |
US20180121196A1 (en) | 2018-05-03 |
GB201714815D0 (en) | 2017-11-01 |
KR102387334B1 (ko) | 2022-04-15 |
US10175980B2 (en) | 2019-01-08 |
GB2555936A (en) | 2018-05-16 |
KR102317668B1 (ko) | 2021-10-26 |
JP2019537793A (ja) | 2019-12-26 |
HK1254698A1 (zh) | 2019-07-26 |
KR20210129270A (ko) | 2021-10-27 |
GB2555936B (en) | 2019-01-30 |
SG11201903684RA (en) | 2019-05-30 |
KR20190066058A (ko) | 2019-06-12 |
US11422801B2 (en) | 2022-08-23 |
JP2024075608A (ja) | 2024-06-04 |
US20190213005A1 (en) | 2019-07-11 |
JP2022046552A (ja) | 2022-03-23 |
DE102017121825A1 (de) | 2018-05-03 |
DE202017105708U1 (de) | 2018-01-03 |
US20230004386A1 (en) | 2023-01-05 |
EP3533001B1 (en) | 2024-07-03 |
US9710265B1 (en) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6995851B2 (ja) | ニューラルネットワーク計算タイル | |
JP7171622B2 (ja) | チップ上に常駐するパラメータを用いたニューラルネットワークアクセラレータ | |
US20220245453A1 (en) | Redistributing tensor elements between machine learning computing units | |
WO2022139795A1 (en) | Preemption in a machine learning hardware accelerator | |
US20240231819A1 (en) | Neural network compute tile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190930 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210226 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210601 |
|
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: 20211116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6995851 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |