JP6857286B2 - ニューラルネットワークアレイの性能の改善 - Google Patents
ニューラルネットワークアレイの性能の改善 Download PDFInfo
- Publication number
- JP6857286B2 JP6857286B2 JP2020541563A JP2020541563A JP6857286B2 JP 6857286 B2 JP6857286 B2 JP 6857286B2 JP 2020541563 A JP2020541563 A JP 2020541563A JP 2020541563 A JP2020541563 A JP 2020541563A JP 6857286 B2 JP6857286 B2 JP 6857286B2
- Authority
- JP
- Japan
- Prior art keywords
- row
- input
- column
- array
- output
- 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 46
- 238000003491 array Methods 0.000 title description 14
- 238000012545 processing Methods 0.000 claims description 73
- 238000000034 method Methods 0.000 claims description 59
- 238000004364 calculation method Methods 0.000 claims description 47
- 230000004927 fusion Effects 0.000 claims description 3
- 238000007792 addition Methods 0.000 description 17
- 230000004913 activation Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 101100136062 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE10 gene Proteins 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000013527 convolutional neural network Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000011176 pooling Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 101150056741 Xirp2 gene Proteins 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 101100136063 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE11 gene Proteins 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 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/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- 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
-
- 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
- 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
- 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Description
付記項1.
行及び列に構成された処理素子(PE)を備える二次元アレイであって、各行がそれぞれの入力データセットにマッピングされ、各列がそれぞれの出力データセットにマッピングされ、各入力データセットがそれぞれのXin要素を含み、各PEが、
所与のPEにおける重み値をキャッシュするメモリと、
所与の行における入力データセットの第1のXin要素を受信する第1の入力ポートと、
所与の行における入力データセットの第2のXin要素を受信する第2の入力ポートであって、第2のXin要素が第1のXin要素に連続する、第2の入力ポートと、
所与の列における第1のYin要素を受信する第3の入力ポートと、
所与の列における第2のYin要素を受信する第4の入力ポートと、
第1の乗算結果を生成するために第1のXin要素に重み値を乗算するように構成された第1の乗算器と、
第1のYout要素を生成するために第1の乗算結果に第1のYin要素を加算するように構成された第1の加算器と、
第1の乗算器と同時に、第2の乗算結果を生成するために第2のXin要素に重み値を乗算するように構成された第2の乗算器と、
第1の加算器と同時に、第2のYout要素を生成するために第2の乗算結果に第2のYin要素を加算するように構成された第2の加算器と、
を備え、
アレイの最後の行の第1のYout要素及び第2のYout要素が、所与の列における出力データセットに対応する、二次元アレイ
を備える、ニューラルネットワーク演算のための回路。
付記項2.
第1のXin要素及び第2のXin要素が、入力特徴マップの第1の特徴マップ要素及び第2の特徴マップ要素にそれぞれ対応する、付記項1に記載の回路。
付記項3.
第1の入力ポート及び第2の入力ポートが、行入力データバスに接続される、付記項1又は2に記載の回路。
付記項4.
第3の入力ポート及び第4の入力ポートが、列入力データバスに接続される、付記項1から3のいずれか一項に記載の回路。
付記項5.
第1のインターフェースを介して2つの連続するXin要素を同時に受信し、2つの連続するXin要素が、第1のXin要素と第2のXin要素とを含み、
第2のインターフェースを介して2つのYin要素を同時に受信し、2つのYin要素が、第1のYin要素と第2のYin要素とを含み、
第1の中間結果を生成するために第1のXin要素及び重み値に対して、また第2の中間結果を生成するために第2のXin要素及び重み値に対して同時に第1の算術演算を実行し、
第1のYout要素を生成するために第1の中間結果及び第1のYin要素に対して、また第2のYout要素を生成するために第2の中間結果及び第2のYin要素に対して同時に第2の算術演算を実行する
ように構成された、ニューラルネットワーク演算のための処理素子(PE)
を備える、装置。
付記項6.
第1の算術演算が乗算演算を含み、第1の中間結果が第1の乗算器を使用して生成され、第2の中間結果が第2の乗算器を使用して生成される、付記項5に記載の装置。
付記項7.
第2の算術演算が加算演算を含み、第1のYout要素が第1の加算器を使用して生成され、第2のYout要素が第2の加算器を使用して生成される、付記項6に記載の装置。
付記項8.
第1の算術演算が乗算演算を含み、第2の算術演算が加算演算を含み、第1の算術演算及び第2の算術演算が、融合積和演算器を使用して単一のステップで実行される、付記項5から7のいずれか一項に記載の装置。
付記項9.
PEが、行及び列に構成された二次元アレイの複数のPEのうちの1つであり、各行がそれぞれの入力データセットにマッピングされ、各列がそれぞれの出力データセットにマッピングされる、付記項5から8のいずれか一項に記載の装置。
付記項10.
第1のインターフェースがアレイの行に関連し、PEにおける第1のXin要素及び第2のXin要素が、行に関連する入力データセットに対応する、付記項9に記載の装置。
付記項11.
第2のインターフェースがアレイの列に関連し、PEにおける第1のYout要素及び第2のYout要素が、アレイの最後の行における列に関連する出力データセットに対応する、付記項9に記載の装置。
付記項12.
アレイに接続された計算コントローラをさらに備え、計算コントローラが、入力データセットの入力データ型及びサイズに基づいてアレイの動作モードを有効にするように構成される、付記項10に記載の装置。
付記項13.
重み値が、第1のインターフェース又は第2のインターフェースを使用してPEにロードされる、付記項5から12のいずれか一項に記載の装置。
付記項14.
状態バッファをさらに備え、各行の第1のPEが状態バッファに通信可能に接続され、状態バッファがアレイの各行におけるそれぞれの入力データセットを格納するように構成される、付記項9から13のいずれか一項に記載の装置。
付記項15.
アレイの各行におけるそれぞれの入力データセットが、ホストデバイスからホストインターフェースを介して状態バッファによって受信される、付記項14に記載の装置。
付記項16.
出力バッファをさらに備え、各列の最後のPEが出力バッファに通信可能に接続され、出力バッファが、最後の行の各列に対応する第1のYout要素及び第2のYout要素を格納するように構成される、付記項9から15のいずれか一項に記載の装置。
付記項17.
処理素子(PE)の二次元アレイ内のPEによって、第1のXin要素及び第2のXin要素を同時に受信するステップであって、アレイのPEが行及び列に構成され、各行がそれぞれの入力データセットにマッピングされ、各列がそれぞれの出力データセットにマッピングされ、第1のXin要素及び第2のXin要素が、所与の行における入力データセット内の連続する要素である、ステップと、
PEによって、所与の列における第1のYin要素及び第2のYin要素を同時に受信するステップと、
PEによって、第1の乗算結果を生成するために第1のXin要素に対して重み値を、また第2の乗算結果を生成するために第2のXin要素に対して重み値を同時に乗算する乗算演算を実行するステップと、
PEによって、第1のYout要素を生成するために第1の乗算結果に対して第1のYin要素を、また第2のYout要素を生成するために第2の乗算結果に対して第2のYin要素を同時に加算する加算演算を実行するステップであって、アレイの最後の行の第1のYout要素及び第2のYout要素が、所与の列における出力データセットに対応する、ステップと
を含む、方法。
付記項18.
第1のXin要素及び第2のXin要素を受信するステップの前に、所与のPEにおける重み値を受信するステップと、
重み値をレジスタに格納するステップと
をさらに含む、付記項17に記載の方法。
付記項19.
PEが第1のPEであり、所与の行が第1の行であり、所与の列が第1の列であり、本方法が、
第1のXin要素及び第2のXin要素を、アレイの第2の列かつ第1の行にある第2のPEに同時に提供するステップ
をさらに含む、付記項17又は18に記載の方法。
付記項20.
PEが第1のPEであり、所与の行が第1の行であり、本方法が、
第1のYout要素及び第2のYout要素を、第1のXin要素及び第2のXin要素として、アレイの第1の列かつ第2の行にある第2のPEに同時に提供するステップ
をさらに含む、付記項17から19のいずれか一項に記載の方法。
Claims (20)
- 行および列に構成された処理素子(PE)を備える二次元アレイであって、各行がそれぞれの入力データセットにマッピングされ、各列がそれぞれの出力データセットにマッピングされ、各入力データセットがそれぞれのX-in要素を含み、各PEが、
所与のPEにおける重み値をキャッシュするメモリと、
所与の行における入力データセットの第1のX-in要素を受信する第1の入力ポートと、
前記所与の行における前記入力データセットの第2のX-in要素を受信する第2の入力ポートであって、前記第2のX-in要素が前記第1のX-in要素に連続する、第2の入力ポートと、
所与の列における第1のY-in要素を受信する第3の入力ポートと、
前記所与の列における第2のY-in要素を受信する第4の入力ポートと、
第1の乗算結果を生成するために前記第1のX-in要素に前記重み値を乗算するように構成された第1の乗算器と、
第1のY-out要素を生成するために前記第1の乗算結果に前記第1のY-in要素を加算するように構成された第1の加算器と、
前記第1の乗算器と同時に、第2の乗算結果を生成するために前記第2のX-in要素に前記重み値を乗算するように構成された第2の乗算器と、
前記第1の加算器と同時に、第2のY-out要素を生成するために前記第2の乗算結果に前記第2のY-in要素を加算するように構成された第2の加算器と、
を備え、
前記二次元アレイの最後の行の前記第1のY-out要素および前記第2のY-out要素が、前記所与の列における出力データセットに対応する、二次元アレイ
を備える、ニューラルネットワーク演算のための回路。 - 前記第1のX-in要素および前記第2のX-in要素が、入力特徴マップの第1の特徴マップ要素および第2の特徴マップ要素にそれぞれ対応する、請求項1に記載の回路。
- 前記第1の入力ポートおよび前記第2の入力ポートが、行入力データバスに接続される、請求項1に記載の回路。
- 前記第3の入力ポートおよび前記第4の入力ポートが、列入力データバスに接続される、請求項1に記載の回路。
- 第1のインターフェースを介して、第1のX-in要素と第2のX-in要素とを含む2つの連続するX-in要素を同時に受信し、
第2のインターフェースを介して、第1のY-in要素と第2のY-in要素とを含む2つのY-in要素を同時に受信し、
第1の中間結果を生成するために前記第1のX-in要素および重み値に対して、かつ第2の中間結果を生成するために前記第2のX-in要素および前記重み値に対して同時に第1の算術演算を実行し、
第1のY-out要素を生成するために前記第1の中間結果および前記第1のY-in要素に対して、かつ第2のY-out要素を生成するために前記第2の中間結果および前記第2のY-in要素に対して同時に第2の算術演算を実行する
ように構成された、ニューラルネットワーク演算のための処理素子(PE)
を備え、
前記PEは、アレイ内の複数のPEのうちの1つであり、前記アレイの最後の行の前記第1のY-out要素および前記第2のY-out要素は、前記アレイの所与の列に関連する出力データセットに対応する、
装置。 - 前記第1の算術演算が乗算演算を含み、前記第1の中間結果が第1の乗算器を使用して生成され、前記第2の中間結果が第2の乗算器を使用して生成される、請求項5に記載の装置。
- 前記第2の算術演算が加算演算を含み、前記第1のY-out要素が第1の加算器を使用して生成され、前記第2のY-out要素が第2の加算器を使用して生成される、請求項6に記載の装置。
- 前記第1の算術演算が乗算演算を含み、前記第2の算術演算が加算演算を含み、前記第1の算術演算および前記第2の算術演算が、融合積和演算器を使用して単一のステップで実行される、請求項5に記載の装置。
- 前記アレイが、二次元であり、行および列に構成され、各行がそれぞれの入力データセットにマッピングされ、各列がそれぞれの出力データセットにマッピングされる、請求項5に記載の装置。
- 前記第1のインターフェースが前記アレイの行に関連し、前記PEにおける前記第1のX-in要素および前記第2のX-in要素が、前記行に関連する入力データセットに対応する、請求項9に記載の装置。
- 前記第2のインターフェースが前記アレイの列に関連する、請求項9に記載の装置。
- 前記アレイに接続された計算コントローラをさらに備え、前記計算コントローラが、前記入力データセットの入力データ型およびサイズに基づいて前記アレイの動作モードを有効にするように構成される、請求項10に記載の装置。
- 前記重み値が、前記第1のインターフェースまたは前記第2のインターフェースを使用して前記PEにロードされる、請求項5に記載の装置。
- 状態バッファをさらに備え、各行の第1のPEが前記状態バッファに通信可能に接続され、前記状態バッファが前記アレイの各行における前記それぞれの入力データセットを格納するように構成される、請求項9に記載の装置。
- 前記アレイの各行における前記それぞれの入力データセットが、ホストデバイスから、ホストインターフェースを介して、前記状態バッファによって受信される、請求項14に記載の装置。
- 出力バッファをさらに備え、各列の最後のPEが前記出力バッファに通信可能に接続され、前記出力バッファが、前記最後の行の各列に対応する前記第1のY-out要素および前記第2のY-out要素を格納するように構成される、請求項9に記載の装置。
- 処理素子(PE)の二次元アレイ内のPEによって、第1のX-in要素および第2のX-in要素を同時に受信するステップであって、前記二次元アレイが行および列に構成され、各行がそれぞれの入力データセットにマッピングされ、各列がそれぞれの出力データセットにマッピングされ、前記第1のX-in要素および前記第2のX-in要素が、所与の行における入力データセット内の連続する要素である、ステップと、
前記PEによって、所与の列における第1のY-in要素および第2のY-in要素を同時に受信するステップと、
前記PEによって、第1の乗算結果を生成するために前記第1のX-in要素に対して重み値を、かつ第2の乗算結果を生成するために前記第2のX-in要素に対して前記重み値を同時に乗算する乗算演算を実行するステップと、
前記PEによって、第1のY-out要素を生成するために前記第1の乗算結果に対して前記第1のY-in要素を、かつ第2のY-out要素を生成するために前記第2の乗算結果に対して前記第2のY-in要素を同時に加算する加算演算を実行するステップであって、前記二次元アレイの最後の行の前記第1のY-out要素および前記第2のY-out要素が、前記所与の列における出力データセットに対応する、ステップと
を含む、方法。 - 前記第1のX-in要素および前記第2のX-in要素を受信するステップの前に、前記PEにおける前記重み値を受信するステップと、
前記重み値をレジスタに格納するステップと
をさらに含む、請求項17に記載の方法。 - 前記PEが第1のPEであり、前記所与の行が第1の行であり、前記所与の列が第1の列であり、
前記第1のX-in要素および前記第2のX-in要素を、前記二次元アレイの第2の列かつ前記第1の行にある第2のPEに同時に提供するステップ
をさらに含む、請求項17に記載の方法。 - 前記PEが第1のPEであり、前記所与の行が第1の行であり、
前記第1のY-out要素および前記第2のY-out要素を、前記第1のX-in要素および前記第2のX-in要素として、前記二次元アレイの第1の列かつ第2の行にある第2のPEに同時に提供するステップ
をさらに含む、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/885,592 US10459876B2 (en) | 2018-01-31 | 2018-01-31 | Performing concurrent operations in a processing element |
US15/885,592 | 2018-01-31 | ||
PCT/US2019/015752 WO2019152451A1 (en) | 2018-01-31 | 2019-01-30 | Improving performance of neural network arrays |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021508895A JP2021508895A (ja) | 2021-03-11 |
JP6857286B2 true JP6857286B2 (ja) | 2021-04-14 |
Family
ID=67392119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020541563A Active JP6857286B2 (ja) | 2018-01-31 | 2019-01-30 | ニューラルネットワークアレイの性能の改善 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10459876B2 (ja) |
EP (1) | EP3746945B1 (ja) |
JP (1) | JP6857286B2 (ja) |
CN (1) | CN111684473B (ja) |
WO (1) | WO2019152451A1 (ja) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10796198B2 (en) | 2018-02-08 | 2020-10-06 | Western Digital Technologies, Inc. | Adjusting enhancement coefficients for neural network engine |
US11164072B2 (en) | 2018-02-08 | 2021-11-02 | Western Digital Technologies, Inc. | Convolution engines for systolic neural network processor |
JP7038608B2 (ja) * | 2018-06-15 | 2022-03-18 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US20190392287A1 (en) | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Neural processor |
US10956584B1 (en) * | 2018-09-25 | 2021-03-23 | Amazon Technologies, Inc. | Secure data processing |
KR20200107295A (ko) * | 2019-03-07 | 2020-09-16 | 에스케이하이닉스 주식회사 | 시스톨릭 어레이 및 프로세싱 시스템 |
US10929058B2 (en) | 2019-03-25 | 2021-02-23 | Western Digital Technologies, Inc. | Enhanced memory device architecture for machine learning |
US11783176B2 (en) | 2019-03-25 | 2023-10-10 | Western Digital Technologies, Inc. | Enhanced storage device memory architecture for machine learning |
US11169957B2 (en) * | 2019-03-31 | 2021-11-09 | Intel Corporation | Systems and methods for reconfigurable systolic arrays |
US11211944B2 (en) | 2019-04-17 | 2021-12-28 | Samsung Electronics Co., Ltd. | Mixed-precision compression with random access |
US11671111B2 (en) | 2019-04-17 | 2023-06-06 | Samsung Electronics Co., Ltd. | Hardware channel-parallel data compression/decompression |
US11797345B2 (en) * | 2019-04-30 | 2023-10-24 | Prakash C R J Naidu | Hardware accelerator for efficient convolution processing |
US11880760B2 (en) | 2019-05-01 | 2024-01-23 | Samsung Electronics Co., Ltd. | Mixed-precision NPU tile with depth-wise convolution |
US11347517B2 (en) * | 2019-06-20 | 2022-05-31 | International Business Machines Corporation | Reduced precision based programmable and SIMD dataflow architecture |
US11379555B2 (en) * | 2019-06-28 | 2022-07-05 | Amazon Technologies, Inc. | Dilated convolution using systolic array |
US10956776B2 (en) * | 2019-08-06 | 2021-03-23 | Alibaba Group Holding Limited | 2D convolutional accelerator that generates 3D results |
US11842169B1 (en) | 2019-09-25 | 2023-12-12 | Amazon Technologies, Inc. | Systolic multiply delayed accumulate processor architecture |
US11681902B2 (en) | 2019-09-27 | 2023-06-20 | Amazon Technologies, Inc. | Transposed convolution using systolic array |
US11194549B2 (en) * | 2019-10-25 | 2021-12-07 | Arm Limited | Matrix multiplication system, apparatus and method |
US11409838B2 (en) | 2019-10-29 | 2022-08-09 | Meta Platforms, Inc. | High throughput matrix processor with support for concurrently processing multiple matrices |
US11861485B2 (en) * | 2019-11-22 | 2024-01-02 | Baidu Usa Llc | Data format transform method to improve AI engine MAC utilization |
US11392535B2 (en) * | 2019-11-26 | 2022-07-19 | Groq, Inc. | Loading operands and outputting results from a multi-dimensional array using only a single side |
US11467806B2 (en) | 2019-11-27 | 2022-10-11 | Amazon Technologies, Inc. | Systolic array including fused multiply accumulate with efficient prenormalization and extended dynamic range |
US11816446B2 (en) | 2019-11-27 | 2023-11-14 | Amazon Technologies, Inc. | Systolic array component combining multiple integer and floating-point data types |
US11625453B1 (en) * | 2019-12-12 | 2023-04-11 | Amazon Technologies, Inc. | Using shared data bus to support systolic array tiling |
US11714875B2 (en) * | 2019-12-28 | 2023-08-01 | Intel Corporation | Apparatuses, methods, and systems for instructions of a matrix operations accelerator |
CN115803754A (zh) * | 2020-03-10 | 2023-03-14 | 艾普半导公司 | 用于在神经网络中处理数据的硬件架构 |
US11507817B2 (en) | 2020-04-17 | 2022-11-22 | Samsung Electronics Co., Ltd. | System and method for performing computations for deep neural networks |
CN113627600B (zh) * | 2020-05-07 | 2023-12-29 | 合肥君正科技有限公司 | 一种基于卷积神经网络的处理方法及其系统 |
US20230237320A1 (en) * | 2020-06-05 | 2023-07-27 | Furiosaai Inc. | Neural network processing method and device therefor |
US11422773B1 (en) | 2020-06-29 | 2022-08-23 | Amazon Technologies, Inc. | Multiple busses within a systolic array processing element |
US11308027B1 (en) | 2020-06-29 | 2022-04-19 | Amazon Technologies, Inc. | Multiple accumulate busses in a systolic array |
US11232062B1 (en) * | 2020-06-29 | 2022-01-25 | Amazon Technologies, Inc. | Parallelism within a systolic array using multiple accumulate busses |
US11823018B1 (en) | 2020-06-30 | 2023-11-21 | Cadence Design Systems, Inc. | Method, product, and apparatus for a machine learning process using weight sharing within a systolic array having reduced memory bandwidth |
US11676068B1 (en) | 2020-06-30 | 2023-06-13 | Cadence Design Systems, Inc. | Method, product, and apparatus for a machine learning process leveraging input sparsity on a pixel by pixel basis |
US11687831B1 (en) * | 2020-06-30 | 2023-06-27 | Cadence Design Systems, Inc. | Method, product, and apparatus for a multidimensional processing array for hardware acceleration of convolutional neural network inference |
US11651283B1 (en) | 2020-06-30 | 2023-05-16 | Cadence Design Systems, Inc. | Method, product, and apparatus for a machine learning process using dynamic rearrangement of sparse data and corresponding weights |
US11615320B1 (en) | 2020-06-30 | 2023-03-28 | Cadence Design Systems, Inc. | Method, product, and apparatus for variable precision weight management for neural networks |
US20220043769A1 (en) * | 2020-07-21 | 2022-02-10 | Fathom Radiant, PBC | Toroidal Systolic Array Processor for General Matrix Multiplication (GEMM) With Local Dot Product Output Accumulation |
KR20220027500A (ko) * | 2020-08-27 | 2022-03-08 | 에스케이하이닉스 주식회사 | 가속 장치, 데이터 저장 장치, 데이터 처리 시스템 및 가속 장치의 동작방법 |
FR3115136A1 (fr) * | 2020-10-12 | 2022-04-15 | Thales | Procede, et dispositif, de traitement, de donnees a fournir en entree d'un premier registre a decalage d'un circuit electronique neuronal systolique |
KR20220059224A (ko) * | 2020-11-02 | 2022-05-10 | 삼성전자주식회사 | 딥러닝 연산 수행 방법 및 장치 |
US20220188073A1 (en) * | 2020-12-11 | 2022-06-16 | Amazon Technologies, Inc. | Data-type-aware clock-gating |
CN112906863B (zh) * | 2021-02-19 | 2023-04-07 | 山东英信计算机技术有限公司 | 一种神经元加速处理方法、装置、设备及可读存储介质 |
US11693796B2 (en) * | 2021-05-31 | 2023-07-04 | Arm Limited | Multi-dimensional data path architecture |
US11880682B2 (en) | 2021-06-30 | 2024-01-23 | Amazon Technologies, Inc. | Systolic array with efficient input reduction and extended array performance |
US11507452B1 (en) * | 2021-07-16 | 2022-11-22 | Google Llc | Error checking for systolic array computation |
CN114113495B (zh) * | 2021-12-27 | 2022-12-30 | 中国科学技术大学 | 一种高精度低功耗全集成的便携式电子鼻 |
US11868307B1 (en) * | 2023-04-06 | 2024-01-09 | Moffett International Co., Limited | Hierarchical networks on chip (NoC) for neural network accelerator |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4575812A (en) * | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
US5065339A (en) * | 1990-05-22 | 1991-11-12 | International Business Machines Corporation | Orthogonal row-column neural processor |
US5291431A (en) * | 1991-06-03 | 1994-03-01 | General Electric Company | Array multiplier adapted for tiled layout by silicon compiler |
JPH06266868A (ja) * | 1992-12-24 | 1994-09-22 | Olympus Optical Co Ltd | ニューロン素子 |
US5974437A (en) * | 1996-12-02 | 1999-10-26 | Synopsys, Inc. | Fast array multiplier |
DE602005020756D1 (de) * | 2004-03-08 | 2010-06-02 | Interactic Holdings Llc | Hochparallele schaltsysteme mit fehlerkorrektur ii |
US10489703B2 (en) * | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
US10614354B2 (en) * | 2015-10-07 | 2020-04-07 | Altera Corporation | Method and apparatus for implementing layers on a convolutional neural network accelerator |
US10664745B2 (en) * | 2016-06-29 | 2020-05-26 | International Business Machines Corporation | Resistive processing units and neural network training methods |
US10546211B2 (en) * | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US10120649B2 (en) * | 2016-07-29 | 2018-11-06 | Microunity Systems Engineering, Inc. | Processor and method for outer product accumulate operations |
US10891538B2 (en) * | 2016-08-11 | 2021-01-12 | Nvidia Corporation | Sparse convolutional neural network accelerator |
US10949736B2 (en) * | 2016-11-03 | 2021-03-16 | Intel Corporation | Flexible neural network accelerator and methods therefor |
US10096134B2 (en) * | 2017-02-01 | 2018-10-09 | Nvidia Corporation | Data compaction and memory bandwidth reduction for sparse neural networks |
US11157287B2 (en) * | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system with variable latency memory access |
CN107578098B (zh) * | 2017-09-01 | 2020-10-30 | 中国科学院计算技术研究所 | 基于脉动阵列的神经网络处理器 |
-
2018
- 2018-01-31 US US15/885,592 patent/US10459876B2/en active Active
-
2019
- 2019-01-30 WO PCT/US2019/015752 patent/WO2019152451A1/en unknown
- 2019-01-30 JP JP2020541563A patent/JP6857286B2/ja active Active
- 2019-01-30 EP EP19705279.8A patent/EP3746945B1/en active Active
- 2019-01-30 CN CN201980010993.1A patent/CN111684473B/zh active Active
- 2019-10-15 US US16/653,578 patent/US11720523B2/en active Active
-
2023
- 2023-06-15 US US18/210,202 patent/US20230325348A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111684473A (zh) | 2020-09-18 |
CN111684473B (zh) | 2021-10-22 |
EP3746945B1 (en) | 2023-08-09 |
US20190236049A1 (en) | 2019-08-01 |
US20200050582A1 (en) | 2020-02-13 |
US10459876B2 (en) | 2019-10-29 |
US11720523B2 (en) | 2023-08-08 |
JP2021508895A (ja) | 2021-03-11 |
US20230325348A1 (en) | 2023-10-12 |
EP3746945A1 (en) | 2020-12-09 |
WO2019152451A1 (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6857286B2 (ja) | ニューラルネットワークアレイの性能の改善 | |
US10943167B1 (en) | Restructuring a multi-dimensional array | |
US11797853B2 (en) | Processing for multiple input data sets | |
JP6946572B2 (ja) | 加速された量子化積和演算 | |
US11775430B1 (en) | Memory access for multiple circuit components | |
US10482156B2 (en) | Sparsity-aware hardware accelerators | |
WO2020073211A1 (zh) | 运算加速器、处理方法及相关设备 | |
US20170316312A1 (en) | Systems and methods for deep learning processor | |
US20190012170A1 (en) | Deep vision processor | |
US20190294959A1 (en) | Scheduling network computations | |
CN111465943B (zh) | 一种集成电路和用于神经网络处理的方法 | |
US11314842B1 (en) | Hardware implementation of mathematical functions | |
US11561833B1 (en) | Allocation and placement of resources for network computation | |
JP7492555B2 (ja) | 複数の入力データセットのための処理 | |
US11275997B1 (en) | Weight loading in an array | |
CN112789627B (zh) | 一种神经网络处理器、数据处理方法及相关设备 | |
WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
Gonçalves et al. | Exploring data size to run convolutional neural networks in low density fpgas | |
US11263517B1 (en) | Flexible weight expansion | |
CN117063182A (zh) | 一种数据处理方法和装置 | |
WO2021120036A1 (zh) | 数据处理装置和数据处理方法 | |
TWI753728B (zh) | 運算單元架構、運算單元叢集及卷積運算的執行方法 | |
JP2023024960A (ja) | 効率的なニューラルネットワーク実行のためのメモリ使用の最適化 | |
INESC-ID | Exploring Data Size to Run Convolutional Neural Networks in Low Density FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200929 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200929 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200929 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201125 |
|
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: 20210301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210319 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6857286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |