JP7413549B2 - 並列ロードストアを有する共有スクラッチパッドメモリ - Google Patents
並列ロードストアを有する共有スクラッチパッドメモリ Download PDFInfo
- Publication number
- JP7413549B2 JP7413549B2 JP2022545416A JP2022545416A JP7413549B2 JP 7413549 B2 JP7413549 B2 JP 7413549B2 JP 2022545416 A JP2022545416 A JP 2022545416A JP 2022545416 A JP2022545416 A JP 2022545416A JP 7413549 B2 JP7413549 B2 JP 7413549B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- vector
- data
- circuit
- processor core
- 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
- 230000015654 memory Effects 0.000 title claims description 404
- 239000013598 vector Substances 0.000 claims description 257
- 238000013528 artificial neural network Methods 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 20
- 230000004913 activation Effects 0.000 claims description 17
- 230000001186 cumulative effect Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 12
- 238000003491 array Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 208000020832 chronic kidney disease Diseases 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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
- 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/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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/8053—Vector processors
- G06F15/8061—Details on data memory access
-
- 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/8053—Vector processors
- G06F15/8092—Array of vector units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/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
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Peptides Or Proteins (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Description
本願は、米国仮出願第62/966518号(2020年1月27日出願)の利益を主張する米国特許出願第15/931970号(2020年5月14日出願)の利益を主張し、その内容は、参照により本明細書に組み込まれる。
本明細書は、一般的に、ニューラルネットワーク計算を実行するために使用されるハードウェア回路の回路構成に関する。
本明細書は、改良されたアーキテクチャを有するハードウェア回路を記載する。この回路は、回路の複数のプロセッサコア間で共有するために割り当てられたスタティックランダムアクセスメモリ(SRAM)のリソースを含む。より具体的には、この回路は、一般的に、高帯域幅メモリ(HBM)と専用プロセッサの少なくとも2つのプロセッサコアとの間に配置され得る共有メモリを含む。この共有メモリは、プロセッサコアの特定の計算リソースに対して物理的におよびロジック的に配置されたリソース、例えばメモリバンクおよびレジスタを含む。共有メモリのリソースを物理的におよびロジック的に配置することによって、HBMとハードウェア回路の各プロセッサコアとの間、単一のプロセッサコアの別個のリソースの間、または2つの別個のプロセッサコアの各リソースの間のデータ通信の速度およびスループットを増加することができる。
様々な図面において、同様の参照番号および名称は、同様の要素を示す。
同様に、動作が特定の順序で図面に示されているが、望ましい結果を達成するために、図示された順序または順番に従ってこれらの動作を実行する必要があるまたは図示された全ての動作を実行する必要があると理解すべきではない。特定の状況において、マルチ作業および並列処理は、有利である可能性がある。例えば、並列処理を用いて、複数の言語検出メソッドを同時に実行することができる。さらに、上述の実施形態におけるさまざまなシステム要素の分離は、全ての実施形態においてそのような分離が必要であると理解すべきではなく、記載されたプログラム要素およびシステムは、一般的に、単一のソフトウェア製品に一体化されるまたは複数のソフトウェア製品にパッケージ化されることができると理解すべきである。
したがって、主題の特定の実施形態を説明した。他の実施形態は、添付の特許請求の範囲内にある。場合によって、請求項に列挙された動作は、異なる順序で実行され、依然として望ましい結果を達成することができる。さらに、望ましい結果を達成するために、添付の図面に示されるプロセスは、必ずしも示された特定の順序または順番に従う必要がない。特定の実現例において、マルチ作業および並列処理が有利である可能性がある。
Claims (24)
- 複数のニューラルネットワーク層を含むニューラルネットワークを実装するように構成された回路であって、
前記回路は、
前記ニューラルネットワークの層の出力を生成するための計算を実行するためのデータを提供するように構成された第1のメモリと、
前記第1のメモリによって提供された前記データから得られた第1のベクトル値を記憶するように構成された第1のベクトルメモリを含む第1のプロセッサコアと、
前記第1のメモリによって提供された前記データから得られた第2のベクトル値を記憶するように構成された第2のベクトルメモリを含む第2のプロセッサコアと、
前記第1のメモリと前記第1のプロセッサコアまたは前記第2のプロセッサコアの少なくとも1つとの間に配置された共有メモリとを含み、
前記共有メモリは、
前記共有メモリと前記第1のベクトルメモリまたは前記第2のベクトルメモリとの間にデータ通信をルーティングするように構成されたDMA(ダイレクトメモリアクセス)データ経路と、
前記共有メモリと前記第1のプロセッサコアまたは前記第2のプロセッサコアの各ベクトルレジスタとの間にデータ通信をルーティングするように構成されたロードストアデータ経路とを含む、回路。 - 前記回路は、複数のプロセッサコアを含み、
前記第1のプロセッサコアおよび前記第2のプロセッサコアは、前記複数のプロセッサコアに含まれ、
前記共有メモリは、前記回路の周囲に物理的に分散され、前記回路の前記複数のプロセッサコアの各々とデータ通信を交換するための複数のメモリリソースを含む、請求項1に記載の回路。 - 前記共有メモリは、共有メモリ制御ユニットを含み、
前記共有メモリ制御ユニットは、前記複数のメモリリソースの第1のメモリリソース部分を、前記第1のメモリと前記第1のプロセッサコアおよび前記第2のプロセッサコアの各々との間のデータを移動するように動作可能なDMA(ダイレクトメモリアクセス)メ
モリユニットとして機能させるソフトウェア命令を実行するように構成されている、請求項2に記載の回路。 - 前記複数のメモリリソースは、前記ロードストアデータ経路に沿ってルーティングされるデータ値を受信し、閾値数のプロセッササイクルの間に前記データ値を一時的に記憶するように構成された第2のメモリリソース部分を含む、請求項3に記載の回路。
- 前記第2のメモリリソース部分は、前記閾値数のプロセッササイクルの間に前記データ値を一時的に記憶することに応答して、前記データ値を前記第1のプロセッサコアまたは前記第2のプロセッサコアの前記各ベクトルレジスタに提供するように構成されている、請求項4に記載の回路。
- 前記共有メモリは、前記共有メモリの一部のメモリリソースから形成されたソフトウェア制御ステージングリソースを含み、
前記ソフトウェア制御ステージングリソースは、前記第1のメモリから前記第1のプロセッサコアまたは前記第2のプロセッサコアの前記各ベクトルレジスタへのデータ値フローを管理するために使用される、請求項1に記載の回路。 - 前記回路は、行列計算ユニットを含み、
前記行列計算ユニットは、前記ニューラルネットワークの前記層の前記出力を生成するために使用される前記計算の一部を実行することによって累積値を生成するように構成されている、請求項6に記載の回路。 - 前記ソフトウェア制御ステージングリソースは、前記第1のメモリから前記行列計算ユニットへのベクトル配列に対応するデータフローを管理するために使用され、
前記ベクトル配列は、前記第1のメモリによって提供された前記データから得られる、請求項7に記載の回路。 - 前記回路は、前記第1のメモリと通信するベクトル処理ユニットを含み、
前記ベクトル処理ユニットは、前記回路によって生成された累積値からベクトルアクティブ化値を生成するように構成され、
前記ベクトルアクティブ化値は、前記ニューラルネットワークの前記層の前記出力に対応する、請求項1に記載の回路。 - 前記ソフトウェア制御ステージングリソースは、前記ロードストアデータ経路のロードセクションに沿ったFIFO(ファーストインファーストアウト)メモリ構造であり、
前記FIFOメモリ構造は、ベクトル値を前記第1のプロセッサコアまたは前記第2のプロセッサコアの前記各ベクトルレジスタにルーティングする前に、閾値数のプロセッササイクルの間に前記ベクトル値を一時的に記憶するように構成されている、請求項6に記載の回路。 - 前記回路は、複数のプロセッサコアを含み、
前記共有メモリは、前記複数のプロセッサコアのうちの1つ以上のプロセッサコア間で共有されるメモリバンクに対応するメモリリソースを含む共有グローバルメモリ空間として機能するように構成されている、請求項1に記載の回路。 - 前記複数のニューラルネットワーク層の第1の層の前記出力を生成するための計算を実行するための前記データは、
前記ニューラルネットワークの前記第1の層を介して処理される入力と、
前記ニューラルネットワークの前記第1の層の各重みセットと、
前記第1の層の前記各重みセットを用いて、前記第1の層を介して、1つ以上の前記入力を処理することによって、前記第1の層の前記出力を生成するための命令とを含む、請求項1に記載の回路。 - 複数のニューラルネットワーク層を含むニューラルネットワークを実装するように構成された回路を用いて、前記ニューラルネットワークの層の出力を生成するための計算を実行するための方法であって、
第1のメモリから、ニューラルネットワーク層の出力を生成するために使用されるデータを提供することと、
前記回路の第1のプロセッサコアの第1のベクトルメモリを用いて、ベクトル値を前記回路の第1のプロセッサコアに記憶することとを含み、前記第1のベクトルメモリは、前記第1のメモリによって提供された前記データから得られた第1のベクトル値を記憶するように構成され、
前記回路の共有メモリのDMA(ダイレクトメモリアクセス)データ経路を用いて、少なくとも前記第1のベクトル値を含むデータ通信を前記共有メモリと前記第1のベクトルメモリとの間にルーティングすることと、
前記共有メモリのロードストアデータ経路を用いて、第2のベクトル値を含むデータ通信を前記共有メモリと前記第1のプロセッサコアの各ベクトルレジスタとの間にルーティングすることと、
前記共有メモリの前記ロードストアデータ経路および前記DMAデータ経路に沿って各々並列にルーティングされた前記第1のベクトル値および前記第2のベクトル値を用いて、前記ニューラルネットワーク層の前記出力に対応する累積値を生成することとを含む、方法。 - 前記回路の第2のプロセッサコアの第2のベクトルメモリを用いて、ベクトル値を前記第2のプロセッサコアに記憶することを含み、
前記第2のベクトルメモリは、前記第1のメモリによって提供された前記データから得られた第3のベクトル値を記憶するように構成されている、請求項13に記載の方法。 - 前記共有メモリの前記DMAデータ経路を用いて、前記第3のベクトル値を含むデータ通信を前記共有メモリと前記第2のベクトルメモリとの間にルーティングすることと、
前記共有メモリの前記ロードストアデータ経路を用いて、第4のベクトル値を含むデータ通信を前記共有メモリと前記第2のプロセッサコアの各ベクトルレジスタとの間にルーティングすることとを含む、請求項14に記載の方法。 - 前記回路は、複数のプロセッサコアを含み、
前記共有メモリは、前記回路の周囲に物理的に分散された複数のメモリリソースを含み、
前記方法は、前記共有メモリの前記複数のメモリリソースを用いて、前記第1のメモリと前記複数のプロセッサコアの各々との間にデータ通信を交換することを含む、請求項15に記載の方法。 - 前記共有メモリは、共有メモリ制御ユニットを含み、
前記方法は、
前記共有メモリ制御ユニットによって実行される命令に基づいて、前記複数のメモリリソースの第1のリソース部分をDMA(ダイレクトメモリアクセス)メモリユニットとして機能させることと、
前記第1のリソース部分の代表的なDMA(ダイレクトメモリアクセス)機能を用いて、前記第1のメモリと前記第1のプロセッサコアおよび前記第2のプロセッサコアの各々との間にデータを移動することとを含む、請求項16に記載の方法。 - 前記複数のメモリリソースの第2のリソース部分を用いて、前記ロードストアデータ経路に沿ってルーティングされた前記第2のベクトル値および前記第4のベクトル値を受信することと、
前記第2のリソース部分を用いて、閾値数のプロセッササイクルの間に前記第2のベクトル値を一時的に記憶することと、
前記第2のリソース部分を用いて、閾値数のプロセッササイクルの間に前記第4のベクトル値を一時的に記憶することとを含む、請求項17に記載の方法。 - 前記閾値数のプロセッササイクルの間に前記第2のベクトル値を一時的に記憶することに応答して、前記第2のリソース部分を用いて、前記第2のベクトル値を前記第1のプロセッサコアの前記各ベクトルレジスタに提供することと、
前記閾値数のプロセッササイクルの間に前記第4のベクトル値を一時的に記憶することに応答して、前記第2のリソース部分を用いて、前記第4のベクトル値を前記第2のプロセッサコアの前記各ベクトルレジスタに提供することとを含む、請求項18に記載の方法。 - 前記共有メモリは、前記共有メモリの一部のメモリリソースから形成されたソフトウェア制御ステージングリソースを含み、
前記方法は、前記ソフトウェア制御ステージングリソースを用いて、前記第1のメモリから前記第1のプロセッサコアの前記各ベクトルレジスタへのデータフローおよび前記第1のメモリから前記回路の第2のプロセッサコアの前記各ベクトルレジスタへのデータフローを管理することを含む、請求項13に記載の方法。 - 前記回路は、行列計算ユニットを含み、
前記方法は、前記ニューラルネットワーク層の前記出力を生成するために使用される前記計算の一部を実行することに応答して、前記行列計算ユニットを用いて累積値を生成することを含む、請求項20に記載の方法。 - 前記ソフトウェア制御ステージングリソースを用いて、前記第1のメモリから前記行列計算ユニットへのデータフローを管理することを含み、
前記データフローは、前記第1のメモリによって提供された前記データから得られたベクトル配列を含む、請求項21に記載の方法。 - 前記回路は、前記第1のメモリと前記行列計算ユニットとの間のベクトル処理ユニットを含み、
前記方法は、前記ベクトル処理ユニットを用いて、前記行列計算ユニットによって生成された前記累積値からベクトルアクティブ化値を生成することを含み、
前記ベクトルアクティブ化値は、前記ニューラルネットワーク層の前記出力に対応する、請求項21に記載の方法。 - 請求項13~23のいずれか1項に記載の方法を、コンピューティングデバイスのプロセッサに実行させる、プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062966518P | 2020-01-27 | 2020-01-27 | |
US62/966,518 | 2020-01-27 | ||
US15/931,970 | 2020-05-14 | ||
US15/931,970 US11922292B2 (en) | 2020-01-27 | 2020-05-14 | Shared scratchpad memory with parallel load-store |
PCT/US2021/015097 WO2021154732A1 (en) | 2020-01-27 | 2021-01-26 | Shared scratchpad memory with parallel load-store |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023512195A JP2023512195A (ja) | 2023-03-24 |
JP7413549B2 true JP7413549B2 (ja) | 2024-01-15 |
Family
ID=74346804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022545416A Active JP7413549B2 (ja) | 2020-01-27 | 2021-01-26 | 並列ロードストアを有する共有スクラッチパッドメモリ |
Country Status (7)
Country | Link |
---|---|
US (2) | US11922292B2 (ja) |
EP (1) | EP3859612A1 (ja) |
JP (1) | JP7413549B2 (ja) |
KR (1) | KR20220116050A (ja) |
CN (1) | CN115087991A (ja) |
TW (1) | TWI782403B (ja) |
WO (1) | WO2021154732A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114331806A (zh) * | 2022-03-17 | 2022-04-12 | 南京砺算科技有限公司 | 图形处理器及图形处理方法 |
CN117827710B (zh) * | 2024-03-06 | 2024-05-24 | 上海燧原智能科技有限公司 | 基于ai芯片的dma带宽确定方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260220A1 (en) | 2017-03-09 | 2018-09-13 | Google Inc. | Vector processing unit |
US20180315158A1 (en) | 2017-04-28 | 2018-11-01 | Intel Corporation | Programmable coarse grained and sparse matrix compute hardware with advanced scheduling |
US20180322387A1 (en) | 2017-05-05 | 2018-11-08 | Intel Corporation | Hardware implemented point to point communication primitives for machine learning |
JP2020532780A (ja) | 2017-08-11 | 2020-11-12 | グーグル エルエルシー | チップ上に常駐するパラメータを用いたニューラルネットワークアクセラレータ |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5713037A (en) | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
JPH07271764A (ja) | 1994-03-24 | 1995-10-20 | Internatl Business Mach Corp <Ibm> | 計算機プロセッサ及びシステム |
US6539500B1 (en) * | 1999-10-28 | 2003-03-25 | International Business Machines Corporation | System and method for tracing |
US7196708B2 (en) | 2004-03-31 | 2007-03-27 | Sony Corporation | Parallel vector processing |
GB2417105B (en) | 2004-08-13 | 2008-04-09 | Clearspeed Technology Plc | Processor memory system |
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
JP7114622B2 (ja) * | 2017-05-17 | 2022-08-08 | グーグル エルエルシー | ハードウェアにおける行列乗算の実行 |
US20190102671A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Inner product convolutional neural network accelerator |
WO2019126793A2 (en) | 2017-12-22 | 2019-06-27 | Alibaba Group Holding Limited | A memory apparatus and method for controlling the same |
WO2019191306A1 (en) | 2018-03-27 | 2019-10-03 | Nvidia Corporation | Training, testing, and verifying autonomous machines using simulated environments |
US11487846B2 (en) * | 2018-05-04 | 2022-11-01 | Apple Inc. | Performing multiply and accumulate operations in neural network processor |
US11023360B2 (en) * | 2018-11-14 | 2021-06-01 | The Mathworks, Inc. | Systems and methods for configuring programmable logic devices for deep learning networks |
US11080051B2 (en) * | 2019-10-29 | 2021-08-03 | Nvidia Corporation | Techniques for efficiently transferring data to a processor |
US20210191765A1 (en) * | 2019-12-18 | 2021-06-24 | Deep Vision Inc. | Method for static scheduling of artificial neural networks for a processor |
-
2020
- 2020-05-14 US US15/931,970 patent/US11922292B2/en active Active
-
2021
- 2021-01-26 CN CN202180009128.2A patent/CN115087991A/zh active Pending
- 2021-01-26 JP JP2022545416A patent/JP7413549B2/ja active Active
- 2021-01-26 KR KR1020227026107A patent/KR20220116050A/ko unknown
- 2021-01-26 WO PCT/US2021/015097 patent/WO2021154732A1/en active Application Filing
- 2021-01-27 EP EP21153767.5A patent/EP3859612A1/en active Pending
- 2021-01-27 TW TW110103103A patent/TWI782403B/zh active
-
2024
- 2024-01-25 US US18/423,203 patent/US20240160909A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260220A1 (en) | 2017-03-09 | 2018-09-13 | Google Inc. | Vector processing unit |
US20180315158A1 (en) | 2017-04-28 | 2018-11-01 | Intel Corporation | Programmable coarse grained and sparse matrix compute hardware with advanced scheduling |
US20180322387A1 (en) | 2017-05-05 | 2018-11-08 | Intel Corporation | Hardware implemented point to point communication primitives for machine learning |
JP2020532780A (ja) | 2017-08-11 | 2020-11-12 | グーグル エルエルシー | チップ上に常駐するパラメータを用いたニューラルネットワークアクセラレータ |
Also Published As
Publication number | Publication date |
---|---|
EP3859612A1 (en) | 2021-08-04 |
CN115087991A (zh) | 2022-09-20 |
US20240160909A1 (en) | 2024-05-16 |
TW202134956A (zh) | 2021-09-16 |
TWI782403B (zh) | 2022-11-01 |
US20210232898A1 (en) | 2021-07-29 |
US11922292B2 (en) | 2024-03-05 |
KR20220116050A (ko) | 2022-08-19 |
WO2021154732A1 (en) | 2021-08-05 |
JP2023512195A (ja) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7474586B2 (ja) | テンソル計算データフロー加速器半導体回路 | |
JP7158543B2 (ja) | ニューラルネットワーク命令セットアーキテクチャ | |
US20220076110A1 (en) | Efficient Neural Network Accelerator Dataflows | |
US11934826B2 (en) | Vector reductions using shared scratchpad memory | |
KR102175044B1 (ko) | 인공 신경망 역방향 트레이닝 실행용 장치와 방법 | |
US20240160909A1 (en) | Shared scratchpad memory with parallel load-store | |
KR102572757B1 (ko) | 집약성을 개선하기 위한 머신 학습 모델들의 수정 | |
Wang et al. | Towards memory-efficient allocation of CNNs on processing-in-memory architecture | |
JP2023508812A (ja) | ニューラルネットワーク計算を加速するためのハードウェア回路 | |
CN111191784A (zh) | 转置的稀疏矩阵乘以稠密矩阵用于神经网络训练 | |
CN114118348A (zh) | 加速器、操作加速器的方法以及包括加速器的电子装置 | |
KR20200028791A (ko) | 데이터를 추출하는 집적 회로, 그것을 포함하는 뉴럴 네트워크 프로세서 및 뉴럴 네트워크 장치 | |
Meng et al. | Ppoaccel: A high-throughput acceleration framework for proximal policy optimization | |
US20210311703A1 (en) | Neural network device for neural network operation, operating method of the neural network device, and application processor including the same | |
JP7495480B2 (ja) | 共有スクラッチパッドメモリを用いたベクトル縮小 | |
KR20220049325A (ko) | 가속기 및 이를 포함한 전자 장치 | |
Mayannavar et al. | Performance comparison of serial and parallel multipliers in massively parallel environment | |
US20230195836A1 (en) | One-dimensional computational unit for an integrated circuit | |
EP4206999A1 (en) | Artificial intelligence core, artificial intelligence core system, and loading/storing method of artificial intelligence core system | |
US20230289398A1 (en) | Efficient Matrix Multiply and Add with a Group of Warps | |
TW202414200A (zh) | 減少硬體加速器中之記憶體庫衝突 | |
WO2024058810A1 (en) | Reducing memory bank conflicts in a hardware accelerator | |
Teboulbi et al. | Fpga-based SoC design for real-time facial point detection using deep convolutional neural networks with dynamic partial reconfiguration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231124 |
|
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: 20231205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7413549 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |