JP7158543B2 - ニューラルネットワーク命令セットアーキテクチャ - Google Patents
ニューラルネットワーク命令セットアーキテクチャ Download PDFInfo
- Publication number
- JP7158543B2 JP7158543B2 JP2021123193A JP2021123193A JP7158543B2 JP 7158543 B2 JP7158543 B2 JP 7158543B2 JP 2021123193 A JP2021123193 A JP 2021123193A JP 2021123193 A JP2021123193 A JP 2021123193A JP 7158543 B2 JP7158543 B2 JP 7158543B2
- Authority
- JP
- Japan
- Prior art keywords
- tensor
- memory
- neural network
- computation
- network layer
- 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
- 238000013528 artificial neural network Methods 0.000 title claims description 77
- 230000004913 activation Effects 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 49
- 238000001994 activation Methods 0.000 description 48
- 239000000872 buffer Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 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
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- 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
-
- 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この明細書は、ディープニューラルネットワーク(DNN: Deep Neural Network)の計算のための命令セットに関する。
この明細書に記載される主題の革新的な1つの局面は、コンピュータによって実施される方法において具現化され得る。当該方法は、処理ユニットが、テンソル計算を実行するためのパラメータを特定する命令を受け取ることを含む。当該方法は、前記命令を受け取ることに応答して、前記処理ユニットが、複数のループを含むループネストを実行することによって、前記テンソル計算を実行することを含み得、前記ループネストの構造は、前記命令の前記パラメータのうちの1つ以上に基づいて定義される。これらおよび他の実現例は各々、随意に以下の特徴のうち1つ以上を含み得る。たとえば、前記テンソル計算は、ニューラルネットワーク層の計算の少なくとも一部分であり得る。前記命令によって特定される前記パラメータは、前記ニューラルネットワーク層のタイプを特定するパラメータを含み得、前記ループネストの前記構造は、前記ニューラルネットワーク層の前記タイプによって少なくとも部分的に定義され得る。これにより、複数のループを含むループネストを実行することは、ネスト化ループの構造によって特定される順序でテンソルのエレメントに対してトラバーサルを実行することを指し得、前記構造はたとえば、ループネスティングの深さと、スタートおよびエンドインデックスと、ストライド(stride)と、各ループの方向とによってそれぞれ特定される。
インデックスの部分である。いくつかの実現例では、前記命令は、前記処理ユニットに記憶媒体におけるアレイの少なくとも1つのメモリアドレスにアクセスさせ、前記アレイの前記メモリアドレスは、前記テンソル計算の実行中に前記処理ユニットによって読み出される変数を含む。
詳細な説明
この明細書に記載される主題は、ワークロードを実行する処理ユニットが、計算を実行している間に高いパフォーマンスを達成し得るように機械学習推論ワークロードを促進する、コンピュータによって実施される処理または方法に関する。この明細書に記載される処理および方法は、タイルのセットとして構成されるハードウェアコンピューティングシステム内で実行され得る。タイルの各々は、独立(self-contained)しており、ニューラルネットワーク層によって必要とされる計算の少なくとも部分を独立して実行し得る。
計算を実行する場合、各ループがN次元のテンソルの各次元をトラバースすることを担うネスト化ループが使用され得る。多次元テンソルはマトリックスまたは多次元マトリックスであり得る。N次元のテンソルの各次元は、1つ以上のエレメントを含み得、各エレメントはそれぞれのデータ値を格納し得る。たとえば、テンソルはプログラムにおいて変数であり得、当該変数は3次元を有し得る。第1の次元は、300個のエレメントの長さを有し得、第2の次元は、1000個のエレメントの長さを有し得、第3の次元は、20個のエレメントの長さを有し得る。
いくつかの実現例では、計算バンド幅はたとえば、テンソル上で実行され得るオペレーションの最大レート、または、テンソル上で実行され得るオペレーションの数を指す。
する米国特許出願番号第15/335,769号に記載されている。米国特許出願番号第15/335,769号の開示は全文、明確に本願明細書において参照により援用される。
示されるように、コンピューティングシステム100は、処理ユニット102と、記憶媒体104と、テンソルトラバーサルユニット(TTU: tensor traversal unit)106と、乗累算(MAC:multiply accumulate)オペレータ108と、アクティベーション
ユニット110とを含む。単一のTTUが示されているが、システム100は、所与のニューラルネットワーク層についてテンソル計算を処理するために1つ以上の計算タイルが使用される場合に、テンソルトラバーサルオペレーションと、メモリアクセスオペレーションとを処理するよう、2つ以上のTTU106を含み得る。同様に、単一のMACが示されているが、システム100は複数のMACオペレータ108を含み得る。
は電気的消去可能プログラマブルリードオンリメモリ(EEPROM: electrically erasable programmable read-only memory)のような1つまたは複数の不揮発性メモリユニットである。記憶媒体104はさらに、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体の別の形態にあり得る。
ピューティングシステム100は、複数の線形代数計算を含むテンソル計算を実行するために、少なくとも1つのtensoropおよび少なくとも1つのDMAop命令を実行するように構成され得る。
すために、アクティベーションテンソルのエレメントについてのデータ値をパラメータまたは重みテンソルのエレメントについてのデータ値と乗算することに対応する。
テンソルステータスエレメント122は、物理的または論理的に、異なるグループへと配され得る。
を使用するのではなく、代替的な実施形態は、乗算器ファンクションの代わりに加算器ファンクションを利用するTTU106を含み得る。これらの実施形態では、処理ユニット102は、(たとえば特定のループの開始値、終了値およびステップ値についての)既に乗算された数をTTU106に提供するようプログラムコードを実行し得る。
付けられる外部入出力(I/O)デバイスまたはよりハイレベルなコントローラデバイスからシステム100に提供される。1つ以上のデータバスは、例示的なI/Oデバイスからのまたはハードウェアコンピューティングシステムの複数の計算タイル(たとえば複数のシステム100)の間の命令、アクティベーションおよび重みを通過させるように使用され得る。
らに所与の命令セットの実行中に、処理ユニット102は、特定の同期フラグレジスタについてインクリメントをトリガするテンソルレファレンスの次元を選択し得る。さらに、処理ユニット102は、選択同期フラグレジスタに対する必要なカウントについて待機するループネストの深さを選択し得る。これは、データの依存関係が侵されないことを保証する。さらに、選択された同期フラグレジスタに対する必要な同期フラグカウントがまだ到達されていなければ、1つ以上のスレッドがストールすることになる。
102に実行させ得る。処理ユニット102によるtensoropの実行中において、同期ウォッチャオペレーションは、どのループ反復を同期すべきかと、ループが反復することを許可される前に必要とされる同期フラグカウントと、次の反復のために予期される同期フラグカウントをどれぐらいインクリメントするべきかとを処理ユニット102に示すように使用され得る。
される命令は、tensorop命令およびDMAop命令を含み得る。受け取られた命令は、処理ユニット102による実行に先立って命令バッファ124に格納され得る。テーブル300に示されるように、オペレーション304は、1)インバウンド命令バッファと、2)アウトバウンド命令バッファと、3)ナローワイドDMA命令バッファと、4)ワイドナローDMA命令バッファと、5)リングバスDMA命令バッファとを含む(たとえば「書き込み」バッファ位置を示す)命令サブタイプを含み得るDMAオペレーションである。
る。
計算の結果、3Dテンソル出力408が得られる。畳み込み層についての計算が記載されるが、他のニューラルネットワーク層についての計算オペレーションをエンコードする1つ以上の命令が、さらにこの明細書に記載される教示に基づいて生成され得る。
づいて)すべてのパラレルユニット(単一のシステム100における複数のMACオペレータ108)が同じ命令を共有することを意味するが、各MACオペレータ108は、テンソル404および406の異なるデータエレメントに対して命令を実行する。1つの基本的な例において、1サイクルにおいてアレイ[6,8,10,12]を得るためにエレメントワイズにアレイ[1,2,3,4]および[5,6,7,8]を加算することは典型的に、4つの算術ユニットが各エレメントに対してオペレーションを実行することを必要とする。SIMDを使用することによって、上記4つのユニットは、同じ命令(たとえば、「加算(add)」)を共有し、パラレルで計算を実行し得る。tensoropをル
ープネストの形態でエンコードする単一の命令は、多次元テンソルのあるデータエレメントに関連付けられる推論ワークロードを計算するよう、1つ以上のシステム100に提供され得る。したがって、システム100は、先行する方法に対して、テンソル計算におけるアクセラレーションおよびパラレル性の向上を提供する。
クセスし得る。その後、処理ユニット102は、TTU106が、アクティベーションテンソル404および重みテンソル406のそれぞれのエレメントに対応するメモリアドレス位置にアクセスするようプログラムコードを実行し得る。
コードの1つ以上のモジュール、サブプログラムもしくは部分を格納するファイルのような複数の協調されたファイルに格納される1つ以上のスクリプトといった、他のプログラムまたはデータを保持するファイルの部分に格納され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるようデプロイされ得るか、または、1つの場所に位置するか、もしくは、複数の場所に亘って分散されて通信ネットワークによって相互接続される複数のコンピュータ上で実行されるようデプロイされ得る。
ク(「LAN」)と、たとえばインターネットのようなワイドエリアネットワーク(「WAN」)とが挙げられる。
例1:コンピュータによって実施される方法であって、処理ユニットが、テンソル計算を実行するためのデータ値を特定する命令を受け取ることと、前記命令を受け取ることに応答して、前記処理ユニットが、複数のループを含むループネストを実行することによって、前記テンソル計算を実行することとを含み、前記ループネストの構造は、前記命令の前記データ値のうちの1つ以上に基づいて定義される、コンピュータによって実施される方法。
ることを含み、オペランドを管理することは、同期フラグ条件に基づいて1つ以上のループネストをストールすることを含む、例1~8のいずれか1項に記載の方法。
Claims (20)
- 複数のニューラルネットワーク層を有するニューラルネットワークについてのテンソル計算を促進するための、コンピュータによって実施される方法であって、
前記方法は、
コントローラが、前記コントローラと通信するように構成される複数の計算ユニットのうちの計算ユニットに命令を提供することを含み、前記命令は、前記計算ユニットのプロセッサによって実行されると、前記計算ユニットに動作を実行させ、
前記動作は、
前記テンソル計算が、第1の層タイプの第1のニューラルネットワーク層についてであると決定することと、
前記第1のニューラルネットワーク層への入力を前記計算ユニットに格納するためのメモリアドレス位置の第1のセットを計算することと、
前記第1のニューラルネットワーク層についての重みを前記計算ユニットに格納するためのメモリアドレス位置の第2のセットを計算することと、
前記メモリアドレス位置の第1のセットを使用して取得される前記入力と、前記メモリアドレス位置の第2のセットを使用して取得される前記重みとにより、前記第1の層タイプの前記第1のニューラルネットワーク層についてのテンソル計算を実行することとを含む、方法。 - 前記計算ユニットにおいて実行される前記テンソル計算は、前記第1のニューラルネットワーク層の計算の少なくとも一部分である、請求項1に記載の方法。
- 前記動作はさらに、
前記計算ユニットにおいて実行されるメモリアクセスオペレーションに基づいて、前記第1のニューラルネットワーク層への前記入力を受け取ることと、
前記メモリアクセスオペレーションに基づいて、かつ、前記メモリアドレス位置の第1のセットを使用して、前記計算ユニットの第1のメモリに前記入力を格納することとを含む、請求項1または2に記載の方法。 - 前記動作はさらに、
前記計算ユニットにおいて実行されるメモリアクセスオペレーションに基づいて、前記第1のニューラルネットワーク層についての前記重みを受け取ることと、
前記メモリアクセスオペレーションに基づいて、かつ、前記メモリアドレス位置の第2のセットを使用して、前記計算ユニットの第2のメモリに前記重みを格納することとを含む、請求項3に記載の方法。 - 前記テンソル計算を実行することは、
前記第1のメモリのメモリ位置から入力を取得することと、
前記第2のメモリのメモリ位置から重みを取得することと、
前記第1のメモリの前記入力と前記第2のメモリの前記重みとを使用して前記テンソル計算を実行することとを含む、請求項4に記載の方法。 - 前記テンソル計算を実行することは、
前記第1のメモリから取得される前記入力と、前記第2のメモリから取得される前記重みとを使用してアクティベーション値を生成することと、
それぞれの計算ユニット間でテンソルデータを交換するように構成されるデータバスに、前記アクティベーション値を提供することと、
前記データバスを使用して第2の計算ユニットに前記アクティベーション値を提供することとを含む、請求項5に記載の方法。 - 前記メモリアドレス位置の第1のセットは、入力テンソルの要素を表し、
前記メモリアドレス位置の第2のセットは、重みテンソルの要素を表す、請求項1~6のいずれかに記載の方法。 - 前記動作はさらに、
ネスト化ループを生成するためのループネスト構造を決定することと、
前記ループネスト構造を使用して複数のネスト化ループを生成することと、
前記複数のネスト化ループを使用して前記第1のニューラルネットワーク層についての前記テンソル計算を実行することとを含む、請求項7に記載の方法。 - 前記テンソル計算を実行することは、
前記第1のニューラルネットワーク層への複数の入力を取得するために、前記入力テンソルのメモリアドレス位置にアクセスするよう、テンソルトラバーサルユニットを使用することと、
前記第1のニューラルネットワーク層についての複数の重みを取得するために、前記重みテンソルのメモリアドレス位置にアクセスするよう、前記テンソルトラバーサルユニットを使用することと、
前記入力テンソルの前記複数の入力および前記重みテンソルの前記複数の重みを使用して内積を生成することとを含む、請求項7に記載の方法。 - 複数のニューラルネットワーク層を有するニューラルネットワークについてのテンソル計算を促進するためのシステムであって、
前記システムは、
複数の計算ユニットを含み、各計算ユニットは、前記計算ユニットに前記テンソル計算を実行させるそれぞれの命令を受け取るように構成されており、
前記システムはさらに、
前記それぞれの命令を各計算ユニットに提供するように構成されるコントローラを含み、前記それぞれの命令は、前記計算ユニットのそれぞれのプロセッサによって実行されると、前記計算ユニットに動作を実行させ、
前記動作は、
前記テンソル計算が、第1の層タイプの第1のニューラルネットワーク層についてであると決定することと、
前記第1のニューラルネットワーク層への入力を前記計算ユニットに格納するためのメモリアドレス位置の第1のセットを計算することと、
前記第1のニューラルネットワーク層についての重みを前記計算ユニットに格納するためのメモリアドレス位置の第2のセットを計算することと、
前記メモリアドレス位置の第1のセットを使用して取得される前記入力と、前記メモリアドレス位置の第2のセットを使用して取得される前記重みとにより、前記第1の層タイプの前記第1のニューラルネットワーク層についてのテンソル計算を実行することとを含む、システム。 - 前記計算ユニットにおいて実行される前記テンソル計算は、前記第1のニューラルネットワーク層の計算の少なくとも一部分である、請求項10に記載のシステム。
- 前記動作はさらに、
前記計算ユニットにおいて実行されるメモリアクセスオペレーションに基づいて、前記第1のニューラルネットワーク層への前記入力を受け取ることと、
前記メモリアクセスオペレーションに基づいて、かつ、前記メモリアドレス位置の第1のセットを使用して、前記計算ユニットの第1のメモリに前記入力を格納することとを含む、請求項10または11に記載のシステム。 - 前記動作はさらに、
前記計算ユニットにおいて実行されるメモリアクセスオペレーションに基づいて、前記第1のニューラルネットワーク層についての前記重みを受け取ることと、
前記メモリアクセスオペレーションに基づいて、かつ、前記メモリアドレス位置の第2のセットを使用して、前記計算ユニットの第2のメモリに前記重みを格納することとを含む、請求項12に記載のシステム。 - 前記テンソル計算を実行することは、
前記第1のメモリのメモリ位置から入力を取得することと、
前記第2のメモリのメモリ位置から重みを取得することと、
前記第1のメモリの前記入力と前記第2のメモリの前記重みとを使用して前記テンソル計算を実行することとを含む、請求項13に記載のシステム。 - 前記テンソル計算を実行することは、
前記第1のメモリから取得される前記入力と、前記第2のメモリから取得される前記重みとを使用してアクティベーション値を生成することと、
それぞれの計算ユニット間でテンソルデータを交換するように構成されるデータバスに、前記アクティベーション値を提供することと、
前記データバスを使用して第2の計算ユニットに前記アクティベーション値を提供することとを含む、請求項14に記載のシステム。 - 前記メモリアドレス位置の第1のセットは、入力テンソルの要素を表し、
前記メモリアドレス位置の第2のセットは、重みテンソルの要素を表す、請求項10~15のいずれかに記載のシステム。 - 前記動作はさらに、
ネスト化ループを生成するためのループネスト構造を決定することと、
前記ループネスト構造を使用して複数のネスト化ループを生成することと、
前記複数のネスト化ループを使用して前記第1のニューラルネットワーク層についての前記テンソル計算を実行することとを含む、請求項16に記載のシステム。 - 前記テンソル計算を実行することは、
前記第1のニューラルネットワーク層への複数の入力を取得するために、前記入力テンソルのメモリアドレス位置にアクセスするよう、テンソルトラバーサルユニットを使用することと、
前記第1のニューラルネットワーク層についての複数の重みを取得するために、前記重みテンソルのメモリアドレス位置にアクセスするよう、前記テンソルトラバーサルユニットを使用することと、
前記入力テンソルの前記複数の入力および前記重みテンソルの前記複数の重みを使用して内積を生成することとを含む、請求項16に記載のシステム。 - コンピュータに命令を実行させるためのプログラムであって、前記命令は、動作の実行を引き起こすように1つ以上のプロセッサによって実行可能であり、
前記動作は、
コントローラが、前記コントローラと通信するように構成される複数の計算ユニットのうちの計算ユニットに命令を提供することを含み、前記命令は、前記計算ユニットのプロセッサによって実行されると、前記計算ユニットに動作を実行させ、
前記動作は、
テンソル計算が、第1の層タイプの第1のニューラルネットワーク層についてであると決定することと、
前記第1のニューラルネットワーク層への入力を前記計算ユニットに格納するためのメモリアドレス位置の第1のセットを計算することと、
前記第1のニューラルネットワーク層についての重みを前記計算ユニットに格納するためのメモリアドレス位置の第2のセットを計算することと、
前記メモリアドレス位置の第1のセットを使用して取得される前記入力と、前記メモリアドレス位置の第2のセットを使用して取得される前記重みとにより、前記第1の層タイプの前記第1のニューラルネットワーク層についてのテンソル計算を実行することとを含む、プログラム。 - 前記動作はさらに、
前記計算ユニットにおいて実行されるメモリアクセスオペレーションに基づいて、前記第1のニューラルネットワーク層への前記入力を受け取るとともに、前記メモリアクセスオペレーションに基づいて、かつ、前記メモリアドレス位置の第1のセットを使用して、前記計算ユニットの第1のメモリに前記入力を格納することと、
前記計算ユニットにおいて実行されるメモリアクセスオペレーションに基づいて、前記第1のニューラルネットワーク層についての前記重みを受け取るとともに、前記メモリアクセスオペレーションに基づいて、かつ、前記メモリアドレス位置の第2のセットを使用して、前記計算ユニットの第2のメモリに前記重みを格納することとを含む、請求項19に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022163303A JP7485740B2 (ja) | 2016-10-27 | 2022-10-11 | ニューラルネットワーク命令セットアーキテクチャ |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/336,216 | 2016-10-27 | ||
US15/336,216 US9959498B1 (en) | 2016-10-27 | 2016-10-27 | Neural network instruction set architecture |
US15/455,685 US9836691B1 (en) | 2016-10-27 | 2017-03-10 | Neural network instruction set architecture |
US15/455,685 | 2017-03-10 | ||
JP2019522877A JP6921951B2 (ja) | 2016-10-27 | 2017-08-29 | ニューラルネットワーク命令セットアーキテクチャ |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019522877A Division JP6921951B2 (ja) | 2016-10-27 | 2017-08-29 | ニューラルネットワーク命令セットアーキテクチャ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022163303A Division JP7485740B2 (ja) | 2016-10-27 | 2022-10-11 | ニューラルネットワーク命令セットアーキテクチャ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021184276A JP2021184276A (ja) | 2021-12-02 |
JP7158543B2 true JP7158543B2 (ja) | 2022-10-21 |
Family
ID=60452227
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019522877A Active JP6921951B2 (ja) | 2016-10-27 | 2017-08-29 | ニューラルネットワーク命令セットアーキテクチャ |
JP2021123193A Active JP7158543B2 (ja) | 2016-10-27 | 2021-07-28 | ニューラルネットワーク命令セットアーキテクチャ |
JP2022163303A Active JP7485740B2 (ja) | 2016-10-27 | 2022-10-11 | ニューラルネットワーク命令セットアーキテクチャ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019522877A Active JP6921951B2 (ja) | 2016-10-27 | 2017-08-29 | ニューラルネットワーク命令セットアーキテクチャ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022163303A Active JP7485740B2 (ja) | 2016-10-27 | 2022-10-11 | ニューラルネットワーク命令セットアーキテクチャ |
Country Status (10)
Country | Link |
---|---|
US (4) | US9959498B1 (ja) |
EP (2) | EP3532996A1 (ja) |
JP (3) | JP6921951B2 (ja) |
KR (3) | KR102525080B1 (ja) |
CN (1) | CN108009627A (ja) |
DE (2) | DE102017120588A1 (ja) |
GB (1) | GB2558980A (ja) |
HK (1) | HK1254701A1 (ja) |
SG (1) | SG11201903631XA (ja) |
WO (1) | WO2018080628A1 (ja) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP4160449A1 (en) * | 2016-12-30 | 2023-04-05 | Intel Corporation | Deep learning hardware |
US9875167B1 (en) | 2017-03-29 | 2018-01-23 | Google Inc. | Distributed hardware tracing |
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
US10795836B2 (en) | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
US10684955B2 (en) | 2017-04-21 | 2020-06-16 | Micron Technology, Inc. | Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations |
US11113051B2 (en) * | 2017-04-28 | 2021-09-07 | Tenstorrent Inc. | Processing core with metadata actuated conditional graph execution |
US10817293B2 (en) * | 2017-04-28 | 2020-10-27 | Tenstorrent Inc. | Processing core with metadata actuated conditional graph execution |
US11138494B2 (en) * | 2017-05-02 | 2021-10-05 | International Business Machines Corporation | Storage controller acceleration for neural network training and inference |
US10565285B2 (en) * | 2017-12-18 | 2020-02-18 | International Business Machines Corporation | Processor and memory transparent convolutional lowering and auto zero padding for deep neural network implementations |
US10747631B2 (en) * | 2018-01-19 | 2020-08-18 | DinoplusAI Holdings Limited | Mission-critical AI processor with record and replay support |
US10373291B1 (en) | 2018-01-31 | 2019-08-06 | Google Llc | Image transformation for machine learning |
US10445638B1 (en) * | 2018-02-28 | 2019-10-15 | Amazon Technologies, Inc. | Restructuring a multi-dimensional array |
US20190318229A1 (en) * | 2018-04-12 | 2019-10-17 | Advanced Micro Devices, Inc. | Method and system for hardware mapping inference pipelines |
US11783167B1 (en) | 2018-04-20 | 2023-10-10 | Perceive Corporation | Data transfer for non-dot product computations on neural network inference circuit |
US11568227B1 (en) | 2018-04-20 | 2023-01-31 | Perceive Corporation | Neural network inference circuit read controller with multiple operational modes |
US11481612B1 (en) | 2018-04-20 | 2022-10-25 | Perceive Corporation | Storage of input values across multiple cores of neural network inference circuit |
US11210586B1 (en) | 2018-04-20 | 2021-12-28 | Perceive Corporation | Weight value decoder of neural network inference circuit |
US11586910B1 (en) | 2018-04-20 | 2023-02-21 | Perceive Corporation | Write cache for neural network inference circuit |
US11341397B1 (en) | 2018-04-20 | 2022-05-24 | Perceive Corporation | Computation of neural network node |
US11222257B1 (en) | 2018-04-20 | 2022-01-11 | Perceive Corporation | Non-dot product computations on neural network inference circuit |
US11049013B1 (en) * | 2018-04-20 | 2021-06-29 | Perceive Corporation | Encoding of weight values stored on neural network inference circuit |
US20190332925A1 (en) * | 2018-04-30 | 2019-10-31 | International Business Machines Corporation | Neural hardware accelerator for parallel and distributed tensor computations |
CN112106078A (zh) * | 2018-05-08 | 2020-12-18 | 多伦多大学管理委员会 | 神经网络处理元件 |
US10887182B1 (en) * | 2018-05-10 | 2021-01-05 | Hrl Laboratories, Llc | System and method for pairwise network alignment |
CN110490295B (zh) * | 2018-05-15 | 2022-04-05 | 华为技术有限公司 | 一种数据处理方法及处理装置 |
US11443176B2 (en) * | 2018-05-17 | 2022-09-13 | International Business Machines Corporation | Acceleration of convolutional neural networks on analog arrays |
US11449363B2 (en) * | 2018-05-31 | 2022-09-20 | Neuralmagic Inc. | Systems and methods for improved neural network execution |
US20190392287A1 (en) | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Neural processor |
US11205125B2 (en) | 2018-06-29 | 2021-12-21 | International Business Machines Corporation | Scheduler and simulator for an area-efficient, reconfigurable, energy-efficient, speed-efficient neural network |
US20200019836A1 (en) * | 2018-07-12 | 2020-01-16 | International Business Machines Corporation | Hierarchical parallelism in a network of distributed neural network cores |
US10956315B2 (en) | 2018-07-24 | 2021-03-23 | Micron Technology, Inc. | Memory devices and methods which may facilitate tensor memory access |
EP3732630A1 (en) * | 2018-08-03 | 2020-11-04 | Google LLC | Distributing tensor computations across computing devices |
WO2020033898A1 (en) * | 2018-08-09 | 2020-02-13 | Board Of Trustees Of Michigan State University | Systems and methods for providing flexible, multi-capacity models for use of deep neural networks in mobile devices |
CN110825530B (zh) * | 2018-08-10 | 2022-12-23 | 昆仑芯(北京)科技有限公司 | 用于人工智能芯片的指令执行方法和装置 |
CN112732601A (zh) * | 2018-08-28 | 2021-04-30 | 中科寒武纪科技股份有限公司 | 数据预处理方法、装置、计算机设备和存储介质 |
US11586417B2 (en) * | 2018-09-28 | 2023-02-21 | Qualcomm Incorporated | Exploiting activation sparsity in deep neural networks |
WO2020077565A1 (zh) * | 2018-10-17 | 2020-04-23 | 北京比特大陆科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
KR102637733B1 (ko) | 2018-10-31 | 2024-02-19 | 삼성전자주식회사 | 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법 |
US11537853B1 (en) | 2018-11-28 | 2022-12-27 | Amazon Technologies, Inc. | Decompression and compression of neural network data using different compression schemes |
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 |
CN117785441A (zh) * | 2018-12-06 | 2024-03-29 | 华为技术有限公司 | 处理数据的方法和数据处理装置 |
CN110033091B (zh) | 2018-12-13 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种基于模型进行预测的方法和装置 |
US20200202198A1 (en) * | 2018-12-21 | 2020-06-25 | Waymo Llc | Neural network processor |
CN109670158B (zh) * | 2018-12-27 | 2023-09-29 | 北京及客科技有限公司 | 一种用于根据资讯数据生成文本内容的方法与设备 |
US20200234129A1 (en) * | 2019-01-22 | 2020-07-23 | Nvidia Corporation | Techniques for removing masks from pruned neural networks |
US11347297B1 (en) | 2019-01-23 | 2022-05-31 | Perceive Corporation | Neural network inference circuit employing dynamic memory sleep |
US11961007B2 (en) | 2019-02-06 | 2024-04-16 | Qualcomm Incorporated | Split network acceleration architecture |
CN109902819B (zh) * | 2019-02-12 | 2023-04-18 | Oppo广东移动通信有限公司 | 神经网络计算方法、装置、移动终端及存储介质 |
CN111563587B (zh) * | 2019-02-14 | 2022-12-09 | 上海寒武纪信息科技有限公司 | 一种神经网络模型的拆分方法及相关产品 |
US11748599B2 (en) * | 2019-02-21 | 2023-09-05 | Texas Instruments Incorporated | Super-tiling in neural network processing to enable analytics at lower memory speed |
EP3716154A1 (en) * | 2019-03-27 | 2020-09-30 | GrAl Matter Labs S.A.S. | Neuromorphic processing system and method of operating the same |
CN112347186B (zh) * | 2019-08-09 | 2023-02-28 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
CN111831337B (zh) * | 2019-04-19 | 2022-11-29 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
CN110059805B (zh) * | 2019-04-15 | 2021-08-31 | 广州异构智能科技有限公司 | 用于二值阵列张量处理器的方法 |
CN110046705B (zh) * | 2019-04-15 | 2022-03-22 | 广州异构智能科技有限公司 | 用于卷积神经网络的装置 |
CN110033086B (zh) * | 2019-04-15 | 2022-03-22 | 广州异构智能科技有限公司 | 用于神经网络卷积运算的硬件加速器 |
CN110033085B (zh) * | 2019-04-15 | 2021-08-31 | 广州异构智能科技有限公司 | 张量处理器 |
US11671111B2 (en) | 2019-04-17 | 2023-06-06 | Samsung Electronics Co., Ltd. | Hardware channel-parallel data compression/decompression |
US11880760B2 (en) | 2019-05-01 | 2024-01-23 | Samsung Electronics Co., Ltd. | Mixed-precision NPU tile with depth-wise convolution |
CN110147253B (zh) * | 2019-05-16 | 2020-10-20 | 湖南毂梁微电子有限公司 | 一种基于延迟栅栏同步操作指令的多核处理器同步方法 |
CN112395002B (zh) * | 2019-08-14 | 2023-04-18 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
US11941533B1 (en) | 2019-05-21 | 2024-03-26 | Perceive Corporation | Compiler for performing zero-channel removal |
KR102192325B1 (ko) * | 2019-06-04 | 2020-12-28 | (주)딥엑스 | 인공신경망의 데이터 로컬리티 기반의 데이터 캐슁을 이용하여 고속의 인공신경망 오퍼레이션을 지원하는 데이터 관리 장치 |
KR102351087B1 (ko) * | 2019-06-04 | 2022-01-14 | 주식회사 딥엑스 | 인공신경망의 데이터 로컬리티 기반의 데이터 캐슁을 이용하여 고속의 인공신경망 오퍼레이션을 지원하는 데이터 관리 장치 |
US11354564B2 (en) * | 2019-06-27 | 2022-06-07 | Intel Corporation | Tuning of loop orders in blocked dense basic linear algebra subroutines |
US20210064987A1 (en) * | 2019-09-03 | 2021-03-04 | Nvidia Corporation | Processor and system to convert tensor operations in machine learning |
US20210081841A1 (en) * | 2019-09-12 | 2021-03-18 | Viani Systems, Inc. | Visually creating and monitoring machine learning models |
US20210103803A1 (en) * | 2019-10-08 | 2021-04-08 | Apple Inc. | Multi-Mode Planar Engine For Neural Processor |
US20210110243A1 (en) * | 2019-10-10 | 2021-04-15 | Hewlett Packard Enterprise Development Lp | Deep learning accelerator system interface |
JP7462140B2 (ja) | 2019-10-29 | 2024-04-05 | 国立大学法人 熊本大学 | ニューラルネットワーク回路及びニューラルネットワーク演算方法 |
KR20210093127A (ko) * | 2020-01-17 | 2021-07-27 | 에스케이하이닉스 주식회사 | Aim 장치 |
US11314674B2 (en) * | 2020-02-14 | 2022-04-26 | Google Llc | Direct memory access architecture with multi-level multi-striding |
CN113391842A (zh) * | 2020-03-13 | 2021-09-14 | 华为技术有限公司 | 一种单指令多数据simd指令的生成、处理方法以及相关设备 |
US11568249B2 (en) | 2020-04-07 | 2023-01-31 | International Business Machines Corporation | Automated decision making for neural architecture search |
CN111506520B (zh) | 2020-07-01 | 2020-09-22 | 腾讯科技(深圳)有限公司 | 一种地址生成的方法、相关装置以及存储介质 |
US11954580B2 (en) | 2020-09-16 | 2024-04-09 | Meta Platforms, Inc. | Spatial tiling of compute arrays with shared control |
US20220092408A1 (en) * | 2020-09-23 | 2022-03-24 | Facebook, Inc. | Neural network weight distribution using a tree direct-memory access (dma) bus |
US11526965B2 (en) * | 2020-09-28 | 2022-12-13 | Robert Bosch Gmbh | Multiplicative filter network |
CN114444675A (zh) * | 2020-10-30 | 2022-05-06 | 北京晶视智能科技有限公司 | 一种硬件加速器 |
WO2022092416A1 (ko) * | 2020-11-02 | 2022-05-05 | 주식회사 딥엑스 | 인공신경망 데이터 지역성에 기초한 인공 신경망 메모리 시스템 |
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 |
US11922306B2 (en) | 2020-12-28 | 2024-03-05 | Meta Platforms, Inc. | Tensor controller architecture |
US11790611B2 (en) | 2020-12-30 | 2023-10-17 | Meta Platforms, Inc. | Visual editor for designing augmented-reality effects that utilize voice recognition |
TWI792665B (zh) * | 2021-01-21 | 2023-02-11 | 創惟科技股份有限公司 | 人工智慧(ai)演算法運算加速處理器與其方法、計算機系統與非暫態電腦可讀取媒體 |
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 |
US11797270B2 (en) | 2021-06-17 | 2023-10-24 | International Business Machines Corporation | Single function to perform multiple operations with distinct operation parameter validation |
US11693692B2 (en) | 2021-06-17 | 2023-07-04 | International Business Machines Corporation | Program event recording storage alteration processing for a neural network accelerator instruction |
US11669331B2 (en) | 2021-06-17 | 2023-06-06 | International Business Machines Corporation | Neural network processing assist instruction |
US11915001B1 (en) * | 2022-12-26 | 2024-02-27 | Rebellions Inc. | Neural processor and method for fetching instructions thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003244190A (ja) | 2002-02-19 | 2003-08-29 | Matsushita Electric Ind Co Ltd | データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ |
JP2009176110A (ja) | 2008-01-25 | 2009-08-06 | Seiko Epson Corp | 並列演算装置および並列演算方法 |
US20130212052A1 (en) | 2012-02-15 | 2013-08-15 | Microsoft Corporation | Tensor deep stacked neural network |
US20140067735A1 (en) | 2012-08-29 | 2014-03-06 | Microsoft Corporation | Computer-implemented deep tensor neural network |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | ベクトルプロセッサ |
US5138695A (en) * | 1989-10-10 | 1992-08-11 | Hnc, Inc. | Systolic array image processing system |
US5325464A (en) * | 1990-05-22 | 1994-06-28 | International Business Machines Corporation | Pyramid learning architecture neurocomputer |
WO1991019267A1 (en) | 1990-06-06 | 1991-12-12 | Hughes Aircraft Company | Neural network processor |
AU658066B2 (en) | 1992-09-10 | 1995-03-30 | Deere & Company | Neural network based control system |
US6243734B1 (en) | 1998-10-30 | 2001-06-05 | Intel Corporation | Computer product and method for sparse matrices |
JP2001117900A (ja) | 1999-10-19 | 2001-04-27 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置 |
US20020044695A1 (en) | 2000-05-05 | 2002-04-18 | Bostrom Alistair K. | Method for wavelet-based compression of video images |
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 |
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 |
WO2005067572A2 (en) * | 2004-01-13 | 2005-07-28 | New York University | Method, system, storage medium, and data structure for image recognition using multilinear independent component analysis |
CN101441441B (zh) | 2007-11-21 | 2010-06-30 | 新乡市起重机厂有限公司 | 起重机智能防摇控制系统的设计方法 |
WO2009141789A1 (en) * | 2008-05-21 | 2009-11-26 | Nxp B.V. | A data handling system comprising memory banks and data rearrangement |
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 |
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 |
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 |
KR101772299B1 (ko) | 2012-12-28 | 2017-08-28 | 인텔 코포레이션 | 스트라이딩된 액세스 패턴을 가진 벡터 레지스터에서 성분들을 축소하기 위한 명령어 |
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 |
US10489703B2 (en) | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
US20160358069A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Neural network suppression |
US10380479B2 (en) * | 2015-10-08 | 2019-08-13 | International Business Machines Corporation | Acceleration of convolutional neural network training using stochastic perforation |
US10509765B2 (en) * | 2015-10-08 | 2019-12-17 | Via Alliance Semiconductor Co., Ltd. | Neural processing unit that selectively writes back to neural memory either activation function output or accumulator value |
JP6750203B2 (ja) * | 2015-10-20 | 2020-09-02 | 富士通株式会社 | 畳み込みニューラルネットワークの演算方法及び演算プログラム、情報処理装置 |
US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
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 |
US10817802B2 (en) * | 2016-05-07 | 2020-10-27 | Intel Corporation | Apparatus for hardware accelerated machine learning |
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 |
US10175980B2 (en) * | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US9959498B1 (en) | 2016-10-27 | 2018-05-01 | Google Llc | Neural network instruction set architecture |
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 |
US10572409B1 (en) | 2018-05-10 | 2020-02-25 | Xilinx, Inc. | Sparse matrix processing circuitry |
-
2016
- 2016-10-27 US US15/336,216 patent/US9959498B1/en active Active
-
2017
- 2017-03-10 US US15/455,685 patent/US9836691B1/en active Active
- 2017-08-29 KR KR1020227011447A patent/KR102525080B1/ko active IP Right Grant
- 2017-08-29 KR KR1020237013355A patent/KR20230058539A/ko not_active Application Discontinuation
- 2017-08-29 EP EP17765517.2A patent/EP3532996A1/en not_active Ceased
- 2017-08-29 WO PCT/US2017/049165 patent/WO2018080628A1/en unknown
- 2017-08-29 JP JP2019522877A patent/JP6921951B2/ja active Active
- 2017-08-29 KR KR1020197014904A patent/KR102385349B1/ko active IP Right Grant
- 2017-08-29 SG SG11201903631XA patent/SG11201903631XA/en unknown
- 2017-08-29 EP EP23161136.9A patent/EP4235509A3/en active Pending
- 2017-09-07 DE DE102017120588.8A patent/DE102017120588A1/de active Pending
- 2017-09-07 DE DE202017105403.9U patent/DE202017105403U1/de active Active
- 2017-09-19 GB GB1715031.9A patent/GB2558980A/en not_active Withdrawn
- 2017-09-29 CN CN201710909908.8A patent/CN108009627A/zh active Pending
- 2017-11-22 US US15/820,704 patent/US11379707B2/en active Active
-
2018
- 2018-10-25 HK HK18113686.2A patent/HK1254701A1/zh unknown
-
2021
- 2021-07-28 JP JP2021123193A patent/JP7158543B2/ja active Active
-
2022
- 2022-06-21 US US17/845,291 patent/US20220318594A1/en active Pending
- 2022-10-11 JP JP2022163303A patent/JP7485740B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003244190A (ja) | 2002-02-19 | 2003-08-29 | Matsushita Electric Ind Co Ltd | データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ |
JP2009176110A (ja) | 2008-01-25 | 2009-08-06 | Seiko Epson Corp | 並列演算装置および並列演算方法 |
US20130212052A1 (en) | 2012-02-15 | 2013-08-15 | Microsoft Corporation | Tensor deep stacked neural network |
US20140067735A1 (en) | 2012-08-29 | 2014-03-06 | Microsoft Corporation | Computer-implemented deep tensor neural network |
Also Published As
Publication number | Publication date |
---|---|
EP4235509A2 (en) | 2023-08-30 |
US20220318594A1 (en) | 2022-10-06 |
EP4235509A3 (en) | 2023-09-20 |
GB2558980A (en) | 2018-07-25 |
DE202017105403U1 (de) | 2017-12-06 |
KR20230058539A (ko) | 2023-05-03 |
US9836691B1 (en) | 2017-12-05 |
HK1254701A1 (zh) | 2019-07-26 |
US20180121786A1 (en) | 2018-05-03 |
JP2022188245A (ja) | 2022-12-20 |
US9959498B1 (en) | 2018-05-01 |
JP2019533868A (ja) | 2019-11-21 |
WO2018080628A1 (en) | 2018-05-03 |
SG11201903631XA (en) | 2019-05-30 |
US20180197068A1 (en) | 2018-07-12 |
KR102385349B1 (ko) | 2022-04-11 |
GB201715031D0 (en) | 2017-11-01 |
DE102017120588A1 (de) | 2018-05-03 |
EP3532996A1 (en) | 2019-09-04 |
KR102525080B1 (ko) | 2023-04-24 |
US11379707B2 (en) | 2022-07-05 |
JP2021184276A (ja) | 2021-12-02 |
KR20190068616A (ko) | 2019-06-18 |
JP7485740B2 (ja) | 2024-05-16 |
CN108009627A (zh) | 2018-05-08 |
JP6921951B2 (ja) | 2021-08-18 |
KR20220048043A (ko) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7158543B2 (ja) | ニューラルネットワーク命令セットアーキテクチャ | |
JP7279226B2 (ja) | 代替ループ限界値 | |
KR102412937B1 (ko) | 합성곱 계층 가속 장치, 그것을 포함하는 임베디드 시스템 및 그것의 동작 방법 | |
CN109324827B (zh) | 用于处理用于访问数据的指令的装置、方法和系统 | |
JP2022095817A (ja) | ベクトル縮小プロセッサ | |
EP3857384B1 (en) | Processing sequential inputs using neural network accelerators | |
US20210326683A1 (en) | Hardware circuit for accelerating neural network computations | |
US20200250842A1 (en) | Method and apparatus with convolution neural network processing | |
US20230195836A1 (en) | One-dimensional computational unit for an integrated circuit | |
CN117492838A (zh) | 访问序言和结尾数据 | |
WO2023059335A1 (en) | Hardware accelerator optimized group convolution based neural network models | |
WO2024058810A1 (en) | Reducing memory bank conflicts in a hardware accelerator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210818 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220829 |
|
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: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7158543 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |