JP2018525730A - スライディングウィンドウ演算 - Google Patents
スライディングウィンドウ演算 Download PDFInfo
- Publication number
- JP2018525730A JP2018525730A JP2018502081A JP2018502081A JP2018525730A JP 2018525730 A JP2018525730 A JP 2018525730A JP 2018502081 A JP2018502081 A JP 2018502081A JP 2018502081 A JP2018502081 A JP 2018502081A JP 2018525730 A JP2018525730 A JP 2018525730A
- Authority
- JP
- Japan
- Prior art keywords
- lane
- data element
- register
- input data
- simd
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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/82—Architectures of general purpose stored program computers data or demand driven
-
- 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
Description
本出願は、参照によりその内容全体が本明細書に明確に組み込まれる、同一出願人が所有する2015年7月20日に出願の米国非仮特許出願第14/803,728号の優先権を主張する。
104 入力データ
106 第1の入力データ要素
108 第2の入力データ要素
110 出力データ
122 第1のSIMDレーン
124 第2のSIMDレーン
126 第3のSIMDレーン
128 第4のSIMDレーン
130 第1のレジスタ
132 第1のレーン
134 第2のレーン
136 第3のレーン
138 第4のレーン
140 第2のレジスタ
142 第1のレーン
144 第2のレーン
146 第3のレーン
148 第4のレーン
202 第1のマルチプレクサ
204 第2のマルチプレクサ
206 第3のマルチプレクサ
208 第4のマルチプレクサ
210 算術および論理ユニット(ALU)
212 出力レジスタ
300 システム
301 プロセッサ
302 メモリ
304 論理シフタ回路
314 シフトされた入力データ
500 ワイヤレス通信デバイス
510 プロセッサ
522 システムオンチップデバイス
526 ディスプレイコントローラ
528 ディスプレイデバイス
530 入力デバイス
532 メモリ
534 コーダ/デコーダ(コーデック)
536 スピーカ
538 マイクロフォン
540 ワイヤレスインターフェース
542 アンテナ
544 電源
568 命令
Claims (30)
- 第1の入力データ要素を記憶するレーンを有する第1のレジスタと、
第2の入力データ要素を記憶するレーンを有する第2のレジスタであって、前記第2のレジスタの前記レーンの幅が前記第1のレジスタの前記レーンの幅に等しい、第2のレジスタと、
前記第1のレジスタの前記レーンの前記幅に等しいレーン幅を有するシングルインストラクションマルチプルデータ(SIMD)レーンであって、前記SIMDレーンが、前記第1のレジスタの前記レーン内の前記第1の入力データ要素および前記第2のレジスタの前記レーン内の前記第2の入力データ要素に対してスライディングウィンドウ演算を実行するように構成され、前記スライディングウィンドウ演算を実行することが、前記第1のレジスタの第1の位置に記憶された第1の入力データ要素および前記第2のレジスタの第2の位置に記憶された第2の入力データ要素に基づいて結果を決定することを含み、前記第2の位置が前記第1の位置とは異なる、SIMDレーンと
を備える、装置。 - 前記SIMDレーンは、命令に基づいて、前記第1のレジスタの前記レーン内の複数のウィンドウ、前記第2のレジスタの前記レーン内の複数のウィンドウ、またはそれらの任意の組合せに対して同時にスライディングウィンドウ演算を実行する、請求項1に記載の装置。
- 前記第1のレジスタの前記レーン内の前記複数のウィンドウおよび前記第2のレジスタの前記レーン内の前記複数のウィンドウは、前記命令の命令コードにおける即値フィールドに基づいて選択される、請求項2に記載の装置。
- 前記SIMDレーンは、
算術および論理ユニット(ALU)と、
前記第1のレジスタの前記レーン内の第1の入力データ要素または前記第2のレジスタの前記レーン内の第1の入力データ要素のうちの一方を前記ALUに供給するように構成される、第1のマルチプレクサと、
前記第1のレジスタの前記レーン内の第2の入力データ要素または前記第2のレジスタの前記レーン内の第2の入力データ要素のうちの一方を前記ALUに供給するように構成される、第2のマルチプレクサと
を備え、
前記ALUは、前記第1のマルチプレクサによって供給されたデータ要素および前記第2のマルチプレクサによって供給されたデータ要素に対して水平演算を実行するように動作可能である、
請求項1に記載の装置。 - 前記水平演算は、加算演算、ビット単位OR演算、または乗算演算を含む、請求項4に記載の装置。
- 前記ALUは、前記第1のマルチプレクサによって供給された前記データ要素および前記第2のマルチプレクサによって供給された前記データ要素に対して垂直演算を実行するように動作可能であり、前記水平演算は、前記垂直演算の後に実行される、請求項4に記載の装置。
- 前記垂直演算は乗算演算を含む、請求項6に記載の装置。
- 前記SIMDレーンと第2のSIMDレーンとを含む複数のレーンであって、前記第2のSIMDレーンが、前記第1のレジスタの第2のレーン内に記憶された入力データ要素および前記第2のレジスタの第2のレーン内に記憶された入力データ要素に対してスライディングウィンドウ演算を実行するように構成される、複数のレーンをさらに備える、請求項1に記載の装置。
- 前記SIMDレーンによって実行される前記スライディングウィンドウ演算と前記第2のSIMDレーンによって実行される前記スライディングウィンドウ演算は並行して実行される、請求項8に記載の装置。
- 入力データをシフトさせ、シフトされたデータを前記第2のレジスタに供給するように構成される論理シフタ回路をさらに備える、請求項1に記載の装置。
- 第1のレジスタのレーン内に第1の入力データ要素を記憶するステップと、
第2のレジスタのレーン内に第2の入力データ要素を記憶するステップであって、前記第2のレジスタの前記レーンの幅が、前記第1のレジスタの前記レーンの幅に等しい、ステップと、
前記第1のレジスタの前記レーンの前記幅に等しいレーン幅を有するシングルインストラクションマルチプルデータ(SIMD)レーンを使用して、前記第1のレジスタの前記レーン内の前記第1の入力データ要素および前記第2のレジスタの前記レーン内の前記第2の入力データ要素に対してスライディングウィンドウ演算を実行するステップであって、前記第1のレジスタの第1の位置に記憶された第1の入力データ要素および前記第2のレジスタの第2の位置に記憶された第2の入力データ要素に基づいて結果を決定するステップを含み、前記第2の位置が前記第1の位置とは異なる、ステップと
を含む、方法。 - 前記第1の入力データ要素は、第1のデータ要素から始まって第Nのデータ要素で終わるN個のデータ要素を含み、前記第2の入力データ要素は、第(N+1)のデータ要素から始まって第2*Nのデータ要素で終わるN個のデータ要素を含み、Nが前記SIMDレーンの前記レーン幅に対応する、請求項11に記載の方法。
- 前記SIMDレーンは、命令に基づいて、前記第1のレジスタの前記レーン内の複数のウィンドウ、前記第2のレジスタの前記レーン内の複数のウィンドウ、またはそれらの任意の組合せに対して同時にスライディングウィンドウ演算を実行する、請求項11に記載の方法。
- 前記第1のレジスタの前記レーン内の前記複数のウィンドウおよび前記第2のレジスタの前記レーン内の前記複数のウィンドウは、前記命令の命令コードにおける即値フィールドに基づいて選択される、請求項13に記載の方法。
- 第1のマルチプレクサにおいて、前記第1のレジスタの前記レーン内の第1のデータ要素または前記第2のレジスタの前記レーン内の第1の入力データ要素のうちの一方を算術および論理ユニット(ALU)に供給するステップと、
第2のマルチプレクサにおいて、前記第1のレジスタの前記レーン内の第2のデータ要素または前記第2のレジスタの前記レーン内の第2の入力データ要素のうちの一方を前記ALUに供給するステップと
をさらに含む、請求項11に記載の方法。 - 前記ALUにおいて、前記第1のマルチプレクサによって供給されたデータ要素および前記第2のマルチプレクサによって供給されたデータ要素に対して水平演算を実行するステップをさらに含む、請求項15に記載の方法。
- 前記水平演算は、加算演算、ビット単位OR演算、または乗算演算を含む、請求項16に記載の方法。
- 前記第1のマルチプレクサによって供給された前記データ要素および前記第2のマルチプレクサによって供給された前記データ要素に対して垂直演算を実行するステップであって、前記水平演算は、前記垂直演算の後に実行される、ステップをさらに含む、請求項16に記載の方法。
- 前記垂直演算は乗算演算を含む、請求項18に記載の方法。
- 複数のSIMDレーンのうちの第2のSIMDレーンを使用して前記第1のレジスタの第2のレーン内に記憶された第2の入力データ要素および前記第2のレジスタの第2のレーン内に記憶された第3の入力データ要素に対してスライディングウィンドウ演算を実行するステップであって、前記SIMDレーンが前記複数のSIMDレーンに含まれる、ステップをさらに含む、請求項11に記載の方法。
- 前記SIMDレーンによって実行される前記スライディングウィンドウ演算と前記第2のSIMDレーンによって実行される前記スライディングウィンドウ演算は並行して実行される、請求項20に記載の方法。
- 入力データをシフトさせるステップと、
シフトされた入力データを前記第2のレジスタに供給するステップと
をさらに含む、請求項11に記載の方法。 - 第1のデータを記憶するための手段であって、第1の入力データ要素を記憶するレーンを有する、手段と、
第2のデータを記憶するための手段であって、第2の入力データ要素を記憶するレーンを有し、前記第2のデータを記憶するための手段の前記レーンの幅が、前記第1のデータを記憶するための手段の前記レーンの幅に等しい、手段と、
前記第1のデータを記憶するための手段の前記レーン内の前記第1の入力データ要素および前記第2のデータを記憶するための手段の前記レーン内の前記第2の入力データ要素に対してスライディングウィンドウ演算を実行するための手段であって、前記第1のデータを記憶するための手段の前記レーンの前記幅に等しいレーン幅を有し、前記第1のデータを記憶するための手段の第1の位置に記憶された第1の入力データ要素および前記第2のデータを記憶するための手段の第2の位置に記憶された第2の入力データ要素に基づいて結果を決定するための手段を含み、前記第2の位置が前記第1の位置とは異なる、手段と
を備える、装置。 - 前記第1の入力データ要素は、第1のデータ要素から始まって第Nのデータ要素で終わるN個のデータ要素を含み、前記第2の入力データ要素は、第(N+1)のデータ要素から始まって第2*Nのデータ要素で終わるN個のデータ要素を含み、Nが前記スライディングウィンドウ演算を前記実行するための手段の前記レーン幅に対応する、請求項23に記載の装置。
- 前記スライディングウィンドウ演算を前記実行するための手段は、命令に基づいて、前記第1のデータを記憶するための手段の前記レーン内の複数のウィンドウ、前記第2のデータを記憶するための手段の前記レーン内の複数のウィンドウ、またはそれらの任意の組合せに対して同時にスライディングウィンドウ演算を実行する、請求項23に記載の装置。
- 前記第1のデータを記憶するための手段の前記レーン内の前記複数のウィンドウおよび前記第2のデータを記憶するための手段の前記レーン内の前記複数のウィンドウは、前記命令の命令コードにおける即値フィールドに基づいて選択される、請求項25に記載の装置。
- 前記第1のデータを記憶するための手段の前記レーン内のデータ要素を算術および論理ユニット(ALU)に供給するための手段と、
前記第2のデータを記憶するための手段の前記レーン内のデータ要素を前記ALUに供給するための手段と
をさらに備える、請求項23に記載の装置。 - 前記第1のデータを記憶するための手段の第2のレーン内に記憶された第2の入力データ要素および前記第2のデータを記憶するための手段の第2のレーン内に記憶された第3の入力データ要素に対して第2のスライディングウィンドウ演算を実行するための手段をさらに備える、請求項23に記載の装置。
- 命令を含む非一時的コンピュータ可読記録媒体であって、前記命令は、プロセッサによって実行されたときに、前記プロセッサに、
第1のレジスタのレーン内に第1の入力データ要素を記憶することと、
第2のレジスタのレーン内に第2の入力データ要素を記憶することであって、前記第2のレジスタの前記レーンの幅が、前記第1のレジスタの前記レーンの幅に等しい、記憶することと、
前記第1のレジスタの前記レーンの前記幅に等しいレーン幅を有するシングルインストラクションマルチプルデータ(SIMD)レーンを使用して、前記第1のレジスタの前記レーン内の前記第1の入力データ要素および前記第2のレジスタの前記レーン内の前記第2の入力データ要素に対してスライディングウィンドウ演算を実行することであって、前記第1のレジスタの第1の位置に記憶された第1の入力データ要素および前記第2のレジスタの第2の位置に記憶された第2の入力データ要素に基づいて結果を決定することを含み、前記第2の位置が前記第1の位置とは異なる、実行することと
を行わせる、非一時的コンピュータ可読記録媒体。 - 前記第1の入力データ要素は、第1のデータ要素から始まって第Nのデータ要素で終わるN個のデータ要素を含み、前記第2の入力データ要素は、第(N+1)のデータ要素から始まって第2*Nのデータ要素で終わるN個のデータ要素を含み、Nが前記SIMDレーンの前記レーン幅に対応する、請求項29に記載の非一時的コンピュータ可読記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/803,728 US10459731B2 (en) | 2015-07-20 | 2015-07-20 | Sliding window operation |
US14/803,728 | 2015-07-20 | ||
PCT/US2016/041779 WO2017014979A1 (en) | 2015-07-20 | 2016-07-11 | Simd sliding window operation |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018525730A true JP2018525730A (ja) | 2018-09-06 |
JP2018525730A5 JP2018525730A5 (ja) | 2020-01-30 |
JP6737869B2 JP6737869B2 (ja) | 2020-08-12 |
Family
ID=56511938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018502081A Active JP6737869B2 (ja) | 2015-07-20 | 2016-07-11 | スライディングウィンドウ演算 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10459731B2 (ja) |
EP (1) | EP3326061B1 (ja) |
JP (1) | JP6737869B2 (ja) |
KR (1) | KR102092049B1 (ja) |
CN (1) | CN107873091B (ja) |
BR (1) | BR112018001183A2 (ja) |
CA (1) | CA2990249A1 (ja) |
WO (1) | WO2017014979A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803377B2 (en) * | 2017-09-08 | 2023-10-31 | Oracle International Corporation | Efficient direct convolution using SIMD instructions |
US11403727B2 (en) | 2020-01-28 | 2022-08-02 | Nxp Usa, Inc. | System and method for convolving an image |
US11586442B2 (en) | 2020-08-06 | 2023-02-21 | Nxp Usa, Inc. | System and method for convolving image with sparse kernels |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5743239A (en) * | 1980-08-27 | 1982-03-11 | Hitachi Ltd | Data processor |
US6009505A (en) * | 1996-12-02 | 1999-12-28 | Compaq Computer Corp. | System and method for routing one operand to arithmetic logic units from fixed register slots and another operand from any register slot |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
EP1261912A2 (en) * | 2000-03-08 | 2002-12-04 | Sun Microsystems, Inc. | Processing architecture having sub-word shuffling and opcode modification |
DE10023319B4 (de) * | 2000-05-12 | 2008-07-10 | Man Roland Druckmaschinen Ag | Verfahren zum Umspulen von Thermotransferband zum Bebildern von Druckformen |
US7126991B1 (en) | 2003-02-03 | 2006-10-24 | Tibet MIMAR | Method for programmable motion estimation in a SIMD processor |
US7275147B2 (en) * | 2003-03-31 | 2007-09-25 | Hitachi, Ltd. | Method and apparatus for data alignment and parsing in SIMD computer architecture |
GB2409065B (en) | 2003-12-09 | 2006-10-25 | Advanced Risc Mach Ltd | Multiplexing operations in SIMD processing |
US7933405B2 (en) * | 2005-04-08 | 2011-04-26 | Icera Inc. | Data access and permute unit |
US7761694B2 (en) * | 2006-06-30 | 2010-07-20 | Intel Corporation | Execution unit for performing shuffle and other operations |
US20080100628A1 (en) | 2006-10-31 | 2008-05-01 | International Business Machines Corporation | Single Precision Vector Permute Immediate with "Word" Vector Write Mask |
GB2444744B (en) * | 2006-12-12 | 2011-05-25 | Advanced Risc Mach Ltd | Apparatus and method for performing re-arrangement operations on data |
WO2008077803A1 (en) | 2006-12-22 | 2008-07-03 | Telefonaktiebolaget L M Ericsson (Publ) | Simd processor with reduction unit |
CN101021832A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 支持局部寄存和条件执行的64位浮点整数融合运算群 |
CN100461095C (zh) * | 2007-11-20 | 2009-02-11 | 浙江大学 | 一种支持多模式的媒体增强流水线乘法单元设计方法 |
US9081501B2 (en) * | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
CN102012893B (zh) * | 2010-11-25 | 2012-07-18 | 中国人民解放军国防科学技术大学 | 一种可扩展向量运算装置 |
US9588766B2 (en) * | 2012-09-28 | 2017-03-07 | Intel Corporation | Accelerated interlane vector reduction instructions |
US9424031B2 (en) | 2013-03-13 | 2016-08-23 | Intel Corporation | Techniques for enabling bit-parallel wide string matching with a SIMD register |
CN104699458A (zh) * | 2015-03-30 | 2015-06-10 | 哈尔滨工业大学 | 定点向量处理器及其向量数据访存控制方法 |
-
2015
- 2015-07-20 US US14/803,728 patent/US10459731B2/en active Active
-
2016
- 2016-07-11 CA CA2990249A patent/CA2990249A1/en not_active Abandoned
- 2016-07-11 WO PCT/US2016/041779 patent/WO2017014979A1/en active Application Filing
- 2016-07-11 KR KR1020187001587A patent/KR102092049B1/ko active IP Right Grant
- 2016-07-11 BR BR112018001183A patent/BR112018001183A2/pt not_active Application Discontinuation
- 2016-07-11 EP EP16742134.6A patent/EP3326061B1/en active Active
- 2016-07-11 CN CN201680039649.1A patent/CN107873091B/zh active Active
- 2016-07-11 JP JP2018502081A patent/JP6737869B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
BR112018001183A2 (pt) | 2018-09-11 |
WO2017014979A1 (en) | 2017-01-26 |
EP3326061B1 (en) | 2022-05-25 |
CA2990249A1 (en) | 2017-01-26 |
CN107873091A (zh) | 2018-04-03 |
KR102092049B1 (ko) | 2020-04-20 |
JP6737869B2 (ja) | 2020-08-12 |
KR20180030540A (ko) | 2018-03-23 |
US10459731B2 (en) | 2019-10-29 |
CN107873091B (zh) | 2021-05-28 |
EP3326061A1 (en) | 2018-05-30 |
US20170024218A1 (en) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110678840B (zh) | 张量寄存器文件 | |
CN110678841B (zh) | 张量处理器指令集架构 | |
US9411726B2 (en) | Low power computation architecture | |
EP3033670B1 (en) | Vector accumulation method and apparatus | |
US20190340489A1 (en) | Neural network processor for handling differing datatypes | |
JP7414930B2 (ja) | 情報処理装置、情報処理方法 | |
US20220206796A1 (en) | Multi-functional execution lane for image processor | |
KR102121866B1 (ko) | 와이드 데이터 엘리먼트들에 대한 레지스터 쌍을 사용하는 짝수-엘리먼트 및 홀수-엘리먼트 연산들을 가지는 혼합-폭 simd 연산들 | |
JP6737869B2 (ja) | スライディングウィンドウ演算 | |
US11372804B2 (en) | System and method of loading and replication of sub-vector values | |
CN114296798A (zh) | 向量移位方法、处理器及电子设备 | |
US20180349097A1 (en) | Processor with efficient arithmetic units | |
US9336579B2 (en) | System and method of performing multi-level integration | |
JP2019530091A (ja) | 連続するメモリアドレスにおけるデータ記憶 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190624 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191213 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200424 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200611 |
|
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: 20200622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200716 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6737869 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |