JP7055809B2 - ベクトル縮小プロセッサ - Google Patents
ベクトル縮小プロセッサ Download PDFInfo
- Publication number
- JP7055809B2 JP7055809B2 JP2019538667A JP2019538667A JP7055809B2 JP 7055809 B2 JP7055809 B2 JP 7055809B2 JP 2019538667 A JP2019538667 A JP 2019538667A JP 2019538667 A JP2019538667 A JP 2019538667A JP 7055809 B2 JP7055809 B2 JP 7055809B2
- Authority
- JP
- Japan
- Prior art keywords
- reduction
- vector
- temporary
- input vector
- cell
- 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
- 239000013598 vector Substances 0.000 title claims description 866
- 230000009467 reduction Effects 0.000 title claims description 689
- 238000004364 calculation method Methods 0.000 claims description 51
- 239000011159 matrix material Substances 0.000 claims description 47
- 238000006467 substitution reaction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 60
- 230000011218 segmentation Effects 0.000 description 33
- 238000000034 method Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 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
- 238000012549 training Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011946 reduction process Methods 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
- 230000017105 transposition Effects 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Peptides Or Proteins (AREA)
Description
本明細書は、ハードウェアにおけるベクトル縮小の実行に関する。
概して、本明細書はベクトル縮小を計算する専用ハードウェア回路について説明する。
詳細な説明
ベクトル縮小は、複数の要素からなる入力ベクトルに対して実行されることにより、スカラーである出力、または入力ベクトルよりも小さいすなわち低次元の複数の要素からなるベクトルである出力を生成するための、演算である。たとえば、合計ベクトル縮小演算は、入力ベクトルの要素の合計であるスカラー出力を生成する。別の例として、最大値または最小値ベクトル縮小演算はそれぞれ、入力ベクトルの要素のうちの最大または入力ベクトルの要素のうちの最小である、スカラー出力を生成する。同様に、最大インデックスまたは最小インデックスベクトル縮小演算はそれぞれ、入力ベクトルの最大値または入力ベクトルの最小値の、入力ベクトルのインデックスを示す出力を生成する。その他のベクトル縮小演算が可能であり、たとえば、入力ベクトルの要素の積に相当するスカラー出力を生成する積ベクトル縮小演算、入力ベクトルの要素の算術平均に相当するスカラー出力を生成する平均ベクトル縮小演算などである。
Claims (20)
- 複数の要素からなる入力ベクトルを縮小するように構成されたベクトル縮小回路であって、前記入力ベクトルは、複数の要素からなる複数のセグメントを含むものとして識別され、前記ベクトル縮小回路は、
複数のセルを備え、前記複数のセルのうちの指定された第1のセルは、前記入力ベクトルの指定された第1の要素を受け、前記指定された第1のセル以外の前記複数のセルのうちの1つは、
前記入力ベクトルの特定のセグメントの指定された最後の要素以外の特定の要素を受け、
前記複数のセルのうちの別のセルから一時縮小要素を受け、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行し、
前記特定の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与えるように構成されており、
前記指定された第1のセル以外の前記複数のセルのうちの他の1つは、
前記入力ベクトルの前記特定のセグメントの前記指定された最後の要素を受け、
前記複数のセルのうちの別のセルから一時縮小要素を受け、
前記指定された最後の要素と前記一時縮小要素とを用いて縮小演算を実行し、
前記指定された最後の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、前記入力ベクトルの前記特定のセグメントを縮小したものとして与えるように構成されており、前記ベクトル縮小回路はさらに、
前記入力ベクトルの前記特定のセグメントの前記指定された最後の要素を用いて前記縮小演算を実行した結果を、前記入力ベクトルの前記特定のセグメントを縮小したものとして出力するために与えるように構成された、出力回路を備える、ベクトル縮小回路。 - 前記入力ベクトルの特定のセグメントの指定された最後の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、前記入力ベクトルの前記特定のセグメントを縮小したものとして与えることは、前記複数のセルのうちの別のセルに、プレースホルダー信号を与えることを含む、請求項1に記載のベクトル縮小回路。
- 複数の要素からなる入力ベクトルを縮小するように構成されたベクトル縮小回路であって、前記入力ベクトルは、複数の要素からなる複数のセグメントを含むものとして識別され、前記ベクトル縮小回路は、
複数のセルを備え、前記複数のセルのうちの指定された第1のセルは、前記入力ベクトルの指定された第1の要素を受け、前記指定された第1のセル以外の前記複数のセルの各々は、
前記入力ベクトルの特定の要素を受け、
前記複数のセルのうちの別のセルから一時縮小要素を受け、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行し、
前記特定の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与える
ように構成されており、前記ベクトル縮小回路はさらに、
複数の要素を与えるように構成された、出力回路を備え、前記複数の要素の各々は、前記入力ベクトルの異なるセグメントの指定された最後の要素を用いて前記縮小演算を実行した結果に相当する新たな一時縮小要素である、ベクトル縮小回路。 - 前記出力回路は、前記入力ベクトルを縮小したものとして出力するために、前記複数の要素を含む出力ベクトルを与えるように構成されている、請求項3に記載のベクトル縮小回路。
- 複数の要素からなる入力ベクトルを縮小するように構成されたベクトル縮小回路であって、前記入力ベクトルは、複数の要素からなる複数のセグメントを含むものとして識別され、前記ベクトル縮小回路は、
複数のセルを備え、前記複数のセルのうちの指定された第1のセルは、前記入力ベクトルの対応するセグメントの指定された第1の要素を受け、前記指定された第1のセル以外の前記複数のセルの各々は、
前記入力ベクトルの特定の要素を受け、
前記複数のセルのうちの別のセルから一時縮小要素を受け、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行し、
前記特定の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与える
ように構成されており、前記ベクトル縮小回路はさらに、
前記入力ベクトルの特定のセグメントの指定された最後の要素を用いて前記縮小演算を実行した結果に相当する新たな一時縮小要素を、前記入力ベクトルの前記特定のセグメントを縮小したものとして出力するために与えるように構成された、出力回路と、
複数の要素からなる制御ベクトルを受けるように構成された制御レジスタとを備え、前記複数の要素からなる制御ベクトルは、前記入力ベクトルの要素からなる複数のセグメントを指定する、ベクトル縮小回路。 - 前記特定の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与えることは、
前記特定の要素に対応する前記制御ベクトルの特定の要素を受けることと、
少なくとも前記制御ベクトルの特定の要素に基づいて、前記入力ベクトルの前記特定の要素は前記入力ベクトルの特定のセグメントの最後の要素として指定されると判断することと、
少なくとも前記判断に基づいて、前記出力回路に対し、前記入力ベクトルの特定のセグメントの最後の要素として指定された前記入力ベクトルの特定の要素と、前記一時縮小要素とを用いて前記縮小演算を実行した結果を、前記入力ベクトルの前記特定のセグメントを縮小したものとして与えることとを含む、請求項5に記載のベクトル縮小回路。 - 前記特定の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与えることは、
前記入力ベクトルの前記特定の要素に対応する前記制御ベクトルの特定の要素を受けることと、
少なくとも前記制御ベクトルの特定の要素に基づいて、前記入力ベクトルの前記特定の要素は前記入力ベクトルの特定のセグメントの最後の要素として指定されると判断することと、
少なくとも前記判断に基づいて、前記複数のセルのうちの別のセルに対し、プレースホルダー信号を与えることとを含む、請求項5に記載のベクトル縮小回路。 - 前記特定の要素と前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与えることは、
前記入力ベクトルの前記特定の要素に対応する前記制御ベクトルの特定の要素を受けることと、
少なくとも前記制御ベクトルの特定の要素に基づいて、前記入力ベクトルの前記特定の要素は前記入力ベクトルの特定のセグメントの最後の要素として指定されないと判断することと、
少なくとも前記判断に基づいて、前記複数のセルのうちの別のセルに対し、前記入力ベクトルの特定のセグメントの最後の要素として指定されない特定の要素と、前記一時縮小要素とを用いて前記縮小演算を実行した結果を、新たな一時縮小要素として与えることとを含む、請求項5に記載のベクトル縮小回路。 - 前記縮小演算は最大値縮小演算であり、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行することは、
前記特定の要素と前記一時縮小要素とを比較することと、
少なくとも前記比較に基づき、前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行した結果として、前記特定の要素と前記一時縮小要素とのうちで最大のものを判断することとを含む、請求項1~8のいずれか1項に記載のベクトル縮小回路。 - 前記縮小演算は最小値縮小演算であり、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行することは、
前記特定の要素と前記一時縮小要素とを比較することと、
少なくとも前記比較に基づき、前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行した結果として、前記特定の要素と前記一時縮小要素とのうちで最小のものを判断することとを含む、請求項1~8のいずれか1項に記載のベクトル縮小回路。 - 前記縮小演算は合計縮小演算であり、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行することは、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行した結果として、前記特定の要素と前記一時縮小要素との合計を求めることを含む、請求項1~8のいずれか1項に記載のベクトル縮小回路。 - 前記縮小演算は積縮小演算であり、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行することは、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行した結果として、前記特定の要素と前記一時縮小要素との積を求めることを含む、請求項1~8のいずれか1項に記載のベクトル縮小回路。 - 前記縮小演算は最大インデックス演算であり、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行することは、
前記一時縮小要素に対応するインデックスを示すデータを受けることと、
前記特定の要素と前記一時縮小要素とを比較することと、
少なくとも前記比較に基づいて、前記特定の要素と前記一時縮小要素とのうちで最大のものを判断することと、
少なくとも前記判断に基づき、前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行した結果として、前記特定の要素に対応するインデックスまたは前記一時縮小要素に対応する前記インデックスのうちの一方を、識別することとを含む、請求項1~8のいずれか1項に記載のベクトル縮小回路。 - 前記縮小演算は最小インデックス演算であり、
前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行することは、
前記一時縮小要素に対応するインデックスを示すデータを受けることと、
前記特定の要素と前記一時縮小要素とを比較することと、
少なくとも前記比較に基づいて、前記特定の要素と前記一時縮小要素とのうちで最小のものを判断することと、
少なくとも前記判断に基づき、前記特定の要素と前記一時縮小要素とを用いて縮小演算を実行した結果として、前記特定の要素に対応するインデックスまたは前記一時縮小要素に対応する前記インデックスのうちの一方を、識別することとを含む、請求項1~8のいずれか1項に記載のベクトル縮小回路。 - 前記入力ベクトルの特定の要素を、要素のスタッガード入力として受ける、請求項1~14のいずれか1項に記載のベクトル縮小回路。
- 前記出力回路は、ベクトルまたは行列の置換を計算するように構成された置換回路に対し、前記入力ベクトルを縮小したものを与える、請求項1~15のいずれか1項に記載のベクトル縮小回路。
- 前記複数のセルの各々は、前記特定の要素と前記一時縮小要素とを用いて実行する前記縮小演算のタイプを指定する制御信号を受けるように構成されている、請求項1~16のいずれか1項に記載のベクトル縮小回路。
- 前記一時縮小要素は、前記入力ベクトルの前記特定の要素に先行する前記入力ベクトルの要素に対して指定された縮小演算を実行した結果に相当する、請求項1~17のいずれか1項に記載のベクトル縮小回路。
- 前記複数のセルの各々は、
前記入力ベクトルの特定の要素を受けるように構成された入力ベクトル要素レジスタと、
前記複数のセルのうちの別のセルから一時縮小要素を受けるように構成された一時縮小要素レジスタと、
前記入力ベクトルの特定の要素と一時縮小要素とを用いて縮小演算を実行するように構成された計算回路と、
前記入力ベクトルの特定の要素と一時縮小要素とを用いて縮小演算を実行した結果を新たな一時縮小要素として与えるように構成された結果レジスタとを含む、請求項1~18のいずれか1項に記載のベクトル縮小回路。 - 前記計算回路は、比較回路、合計回路、および乗算回路のうちの少なくとも1つを含む、請求項19に記載のベクトル縮小回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022063377A JP7256914B2 (ja) | 2017-04-03 | 2022-04-06 | ベクトル縮小プロセッサ |
JP2023058509A JP7485820B2 (ja) | 2017-04-03 | 2023-03-31 | ベクトル縮小プロセッサ |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/477,791 | 2017-04-03 | ||
US15/477,791 US10108581B1 (en) | 2017-04-03 | 2017-04-03 | Vector reduction processor |
PCT/US2017/066058 WO2018186918A1 (en) | 2017-04-03 | 2017-12-13 | Vector reduction processor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063377A Division JP7256914B2 (ja) | 2017-04-03 | 2022-04-06 | ベクトル縮小プロセッサ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020513120A JP2020513120A (ja) | 2020-04-30 |
JP2020513120A5 JP2020513120A5 (ja) | 2020-09-10 |
JP7055809B2 true JP7055809B2 (ja) | 2022-04-18 |
Family
ID=60991531
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019538667A Active JP7055809B2 (ja) | 2017-04-03 | 2017-12-13 | ベクトル縮小プロセッサ |
JP2022063377A Active JP7256914B2 (ja) | 2017-04-03 | 2022-04-06 | ベクトル縮小プロセッサ |
JP2023058509A Active JP7485820B2 (ja) | 2017-04-03 | 2023-03-31 | ベクトル縮小プロセッサ |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063377A Active JP7256914B2 (ja) | 2017-04-03 | 2022-04-06 | ベクトル縮小プロセッサ |
JP2023058509A Active JP7485820B2 (ja) | 2017-04-03 | 2023-03-31 | ベクトル縮小プロセッサ |
Country Status (10)
Country | Link |
---|---|
US (5) | US10108581B1 (ja) |
EP (2) | EP4086760B1 (ja) |
JP (3) | JP7055809B2 (ja) |
KR (3) | KR102471597B1 (ja) |
CN (2) | CN108694055B (ja) |
DK (2) | DK3552094T3 (ja) |
FI (1) | FI4086760T3 (ja) |
HK (1) | HK1259157A1 (ja) |
TW (5) | TWI828502B (ja) |
WO (1) | WO2018186918A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10936942B2 (en) | 2017-11-21 | 2021-03-02 | Google Llc | Apparatus and mechanism for processing neural network tasks using a single chip package with multiple identical dies |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
US20200106828A1 (en) * | 2018-10-02 | 2020-04-02 | Mellanox Technologies, Ltd. | Parallel Computation Network Device |
US11625393B2 (en) | 2019-02-19 | 2023-04-11 | Mellanox Technologies, Ltd. | High performance computing system |
EP3699770A1 (en) | 2019-02-25 | 2020-08-26 | Mellanox Technologies TLV Ltd. | Collective communication system and methods |
US11294670B2 (en) | 2019-03-27 | 2022-04-05 | Intel Corporation | Method and apparatus for performing reduction operations on a plurality of associated data element values |
CN110069737B (zh) * | 2019-04-19 | 2020-08-14 | 北京三快在线科技有限公司 | 内容生成方法、装置、计算机设备及存储介质 |
US11216281B2 (en) * | 2019-05-14 | 2022-01-04 | International Business Machines Corporation | Facilitating data processing using SIMD reduction operations across SIMD lanes |
US10997116B2 (en) * | 2019-08-06 | 2021-05-04 | Microsoft Technology Licensing, Llc | Tensor-based hardware accelerator including a scalar-processing unit |
CN110580288B (zh) * | 2019-08-23 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 基于人工智能的文本分类方法和装置 |
CN111105042B (zh) * | 2019-12-13 | 2023-07-25 | 广东浪潮大数据研究有限公司 | 一种并行消息处理方法、系统及相关装置 |
US11750699B2 (en) | 2020-01-15 | 2023-09-05 | Mellanox Technologies, Ltd. | Small message aggregation |
US11252027B2 (en) | 2020-01-23 | 2022-02-15 | Mellanox Technologies, Ltd. | Network element supporting flexible data reduction operations |
US11876885B2 (en) | 2020-07-02 | 2024-01-16 | Mellanox Technologies, Ltd. | Clock queue with arming and/or self-arming features |
US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
US20240004647A1 (en) * | 2022-07-01 | 2024-01-04 | Andes Technology Corporation | Vector processor with vector and element reduction method |
US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010087144A1 (ja) | 2009-02-02 | 2010-08-05 | 日本電気株式会社 | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 |
JP2012239169A (ja) | 2011-05-09 | 2012-12-06 | Altera Corp | 埋込み浮動小数点構造を有するdspブロック |
JP2016530631A (ja) | 2013-08-14 | 2016-09-29 | クアルコム,インコーポレイテッド | ベクトルの算術的削減 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839845A (en) | 1986-03-31 | 1989-06-13 | Unisys Corporation | Method and apparatus for performing a vector reduction |
US5423051A (en) | 1992-09-24 | 1995-06-06 | International Business Machines Corporation | Execution unit with an integrated vector operation capability |
JP3334330B2 (ja) | 1994-05-17 | 2002-10-15 | 日産自動車株式会社 | 燃料噴射弁 |
JPH0877142A (ja) | 1994-08-31 | 1996-03-22 | Fujitsu Ltd | ベクトルプロセッサ |
KR100267089B1 (ko) * | 1996-08-19 | 2000-11-01 | 윤종용 | 스칼라/벡터연산이조합된단일명령복수데이터처리 |
TW361051B (en) * | 1997-01-09 | 1999-06-11 | Matsushita Electric Ind Co Ltd | Motion vector detection apparatus |
JP3857614B2 (ja) | 2002-06-03 | 2006-12-13 | 松下電器産業株式会社 | プロセッサ |
EP1623307B1 (en) * | 2003-05-09 | 2015-07-01 | QUALCOMM Incorporated | Processor reduction unit for accumulation of multiple operands with or without saturation |
US7797363B2 (en) | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
US20060101244A1 (en) * | 2004-11-10 | 2006-05-11 | Nvidia Corporation | Multipurpose functional unit with combined integer and floating-point multiply-add pipeline |
US8218635B2 (en) | 2005-09-28 | 2012-07-10 | Synopsys, Inc. | Systolic-array based systems and methods for performing block matching in motion compensation |
US8065503B2 (en) * | 2006-12-15 | 2011-11-22 | International Business Machines Corporation | Iteratively processing data segments by concurrently transmitting to, processing by, and receiving from partnered process |
EP1936492A1 (en) | 2006-12-22 | 2008-06-25 | Telefonaktiebolaget LM Ericsson (publ) | SIMD processor with reduction unit |
US7953684B2 (en) * | 2007-01-31 | 2011-05-31 | International Business Machines Corporation | Method and system for optimal parallel computing performance |
US20090150648A1 (en) * | 2007-12-06 | 2009-06-11 | Eric Oliver Mejdrich | Vector Permute and Vector Register File Write Mask Instruction Variant State Extension for RISC Length Vector Instructions |
US8209525B2 (en) * | 2008-08-15 | 2012-06-26 | Apple Inc. | Method and apparatus for executing program code |
US8417921B2 (en) * | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
FR2949637B1 (fr) | 2009-08-28 | 2011-09-23 | Commissariat Energie Atomique | Dispositif de calcul reconfigurable sur voisinage flexible de pixels |
US8447954B2 (en) * | 2009-09-04 | 2013-05-21 | International Business Machines Corporation | Parallel pipelined vector reduction in a data processing system |
US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US9141386B2 (en) | 2010-09-24 | 2015-09-22 | Intel Corporation | Vector logical reduction operation implemented using swizzling on a semiconductor chip |
EP2831692A1 (en) | 2012-03-30 | 2015-02-04 | Intel Corporation | Apparatus and method for selecting elements of a vector coumputation |
US9342479B2 (en) * | 2012-08-23 | 2016-05-17 | Qualcomm Incorporated | Systems and methods of data extraction in a vector processor |
US9588766B2 (en) * | 2012-09-28 | 2017-03-07 | Intel Corporation | Accelerated interlane vector reduction instructions |
KR101772299B1 (ko) * | 2012-12-28 | 2017-08-28 | 인텔 코포레이션 | 스트라이딩된 액세스 패턴을 가진 벡터 레지스터에서 성분들을 축소하기 위한 명령어 |
GB2519108A (en) * | 2013-10-09 | 2015-04-15 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling performance of speculative vector operations |
US20150143076A1 (en) | 2013-11-15 | 2015-05-21 | Qualcomm Incorporated | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS |
US9355061B2 (en) * | 2014-01-28 | 2016-05-31 | Arm Limited | Data processing apparatus and method for performing scan operations |
CN103995688B (zh) * | 2014-05-30 | 2016-10-12 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于标签的无序矢量归约电路 |
US9851970B2 (en) * | 2014-12-23 | 2017-12-26 | Intel Corporation | Method and apparatus for performing reduction operations on a set of vector elements |
US10192162B2 (en) * | 2015-05-21 | 2019-01-29 | Google Llc | Vector computation unit in a neural network processor |
US9805303B2 (en) * | 2015-05-21 | 2017-10-31 | Google Inc. | Rotating data for neural network computations |
US9537530B1 (en) * | 2015-06-26 | 2017-01-03 | Intel Corporation | Transceiver device and method of processing signals |
US10146535B2 (en) * | 2016-10-20 | 2018-12-04 | Intel Corporatoin | Systems, apparatuses, and methods for chained fused multiply add |
US9959247B1 (en) * | 2017-02-17 | 2018-05-01 | Google Llc | Permuting in a matrix-vector processor |
-
2017
- 2017-04-03 US US15/477,791 patent/US10108581B1/en active Active
- 2017-12-13 KR KR1020217043370A patent/KR102471597B1/ko active IP Right Grant
- 2017-12-13 DK DK17829778.4T patent/DK3552094T3/da active
- 2017-12-13 DK DK22177238.7T patent/DK4086760T3/da active
- 2017-12-13 KR KR1020197020740A patent/KR102256109B1/ko active IP Right Grant
- 2017-12-13 JP JP2019538667A patent/JP7055809B2/ja active Active
- 2017-12-13 EP EP22177238.7A patent/EP4086760B1/en active Active
- 2017-12-13 WO PCT/US2017/066058 patent/WO2018186918A1/en unknown
- 2017-12-13 KR KR1020217015113A patent/KR102347374B1/ko active IP Right Grant
- 2017-12-13 EP EP17829778.4A patent/EP3552094B1/en active Active
- 2017-12-13 FI FIEP22177238.7T patent/FI4086760T3/fi active
-
2018
- 2018-01-04 TW TW111150786A patent/TWI828502B/zh active
- 2018-01-04 TW TW108130503A patent/TWI738042B/zh active
- 2018-01-04 TW TW112146349A patent/TW202429313A/zh unknown
- 2018-01-04 TW TW107100277A patent/TWI673648B/zh active
- 2018-01-04 TW TW110130102A patent/TWI791262B/zh active
- 2018-02-06 CN CN201810118791.6A patent/CN108694055B/zh active Active
- 2018-02-06 CN CN201911179581.9A patent/CN111142937B/zh active Active
- 2018-09-12 US US16/129,663 patent/US10706007B2/en active Active
-
2019
- 2019-01-23 HK HK19101204.9A patent/HK1259157A1/zh unknown
-
2020
- 2020-07-01 US US16/918,448 patent/US11061854B2/en active Active
-
2021
- 2021-06-22 US US17/354,947 patent/US11940946B2/en active Active
-
2022
- 2022-04-06 JP JP2022063377A patent/JP7256914B2/ja active Active
-
2023
- 2023-03-31 JP JP2023058509A patent/JP7485820B2/ja active Active
-
2024
- 2024-01-31 US US18/429,142 patent/US20240168914A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010087144A1 (ja) | 2009-02-02 | 2010-08-05 | 日本電気株式会社 | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 |
JP2012239169A (ja) | 2011-05-09 | 2012-12-06 | Altera Corp | 埋込み浮動小数点構造を有するdspブロック |
JP2016530631A (ja) | 2013-08-14 | 2016-09-29 | クアルコム,インコーポレイテッド | ベクトルの算術的削減 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7055809B2 (ja) | ベクトル縮小プロセッサ | |
JP6900487B2 (ja) | ハードウェアにおける平均プーリングの実行 | |
US20220043884A1 (en) | System and method for an optimized winograd convolution accelerator | |
US20180341495A1 (en) | Hardware Accelerator for Convolutional Neural Networks and Method of Operation Thereof | |
US20200226201A1 (en) | Methods and Apparatus for Constructing Digital Circuits for Performing Matrix Operations | |
TW202316321A (zh) | 基於硬體加速器優化分組卷積之神經網路模型 | |
WO2024058810A1 (en) | Reducing memory bank conflicts in a hardware accelerator | |
WO2024206215A1 (en) | Byte stream processing pipeline for a hardware integrated circuit | |
KR20230043476A (ko) | 다이나믹 컨볼루션 연산 수행 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200803 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210816 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210824 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211122 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220222 |
|
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: 20220308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220406 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7055809 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |