JP2014531674A - 高速な最小値および最大値検索命令 - Google Patents
高速な最小値および最大値検索命令 Download PDFInfo
- Publication number
- JP2014531674A JP2014531674A JP2014532083A JP2014532083A JP2014531674A JP 2014531674 A JP2014531674 A JP 2014531674A JP 2014532083 A JP2014532083 A JP 2014532083A JP 2014532083 A JP2014532083 A JP 2014532083A JP 2014531674 A JP2014531674 A JP 2014531674A
- Authority
- JP
- Japan
- Prior art keywords
- extreme value
- input
- position identifier
- output
- data set
- 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 abstract description 43
- 230000009467 reduction Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000001228 spectrum 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/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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
-
- 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/02—Comparing digital values
-
- 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/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
Description
202 レジスタ
202x 基準アドレスのフィールド
202y 基準最大値のフィールド
204 レジスタ
204a データ要素
204b データ要素
204c データ要素
204d データ要素
206a/b 中間最大値
206c/d 中間最大値
208 入力最大値
210 マルチプレクサ
212 入力最大値アドレス
214 レジスタ
218 レジスタ
218x 出力最大値アドレス
218y 出力最大値
220 インデックスビット
300 システム
302 比較器
304 比較器
306 比較器
308 選択ロジック
310 マルチプレクサ
312 入力アドレス
316 マルチプレクサ
320 インデックスビット
Claims (29)
- 基準位置識別子と基準極値とを結合するステップと、
入力データセットの入力極値を決定するステップと
前記入力極値の対応する位置識別子を決定するステップと、
前記入力極値と前記基準極値とを比較して、前記比較に基づいて、出力極値と出力位置識別子とを決定するステップとを備える、極値を決定する方法。 - 前記基準極値および前記基準位置識別子を、それぞれ前記出力極値および前記出力位置識別子と置換するステップをさらに備える、請求項1に記載の方法。
- 前記入力極値が前記基準極値未満の場合、前記出力極値が前記入力極値であると決定される、請求項1に記載の方法。
- 前記入力極値が前記基準極値よりも大きい場合、前記出力極値が前記入力極値であると決定される、請求項1に記載の方法。
- 前記極値が最小値または最大値のうちの1つである、請求項1に記載の方法。
- 前記入力データセットが、符号付き形式または符号なし形式のうちの1つの中に表されるデータを備える、請求項1に記載の方法。
- 前記入力極値を決定するステップが、前記入力データセット内のデータの大きさに基づく、請求項1に記載の方法。
- 前記基準位置識別子とレジスタのペア内の前記基準極値とを結合するステップをさらに備える、請求項1に記載の方法。
- 前記出力位置識別子とレジスタのペア内の前記出力極値とを結合するステップをさらに備える、請求項1に記載の方法。
- 前記入力データセットの前記入力極値を決定するステップが、前記入力データセットのペア単位のツリー型減少を備える、請求項1に記載の方法。
- 前記入力極値の前記位置識別子がアドレス部分およびインデックス部分を備え、前記アドレス部分が前記入力データセットのアドレスから形成され、前記インデックス部分が前記入力データセット内の前記入力極値の位置から形成される、請求項1に記載の方法。
- 入力データセットの前記入力極値を決定するステップが、前記入力極値と前記基準極値とを比較するステップと並行して実行される、請求項1に記載の方法。
- 基準極値と、
前記基準極値の基準位置識別子と
入力データセットと、
入力極値を前記入力データセットの前記極値として決定するように構成されたロジックと、
入力位置識別子を前記入力極値の位置識別子として決定するように構成されたロジックと、
出力極値を決定するために、前記入力極値と前記基準極値とを比較するように構成されたロジックとを備える、システム。 - 前記比較に基づいて、出力位置識別子として、前記入力位置識別子および前記基準位置識別子のうちの1つを選択するように構成されたロジックをさらに備える、請求項13に記載のシステム。
- 前記基準極値および基準位置識別子が、それぞれ以前の出力極値および以前の出力位置識別子から決定される、請求項13に記載のシステム。
- 前記入力極値が前記基準極値未満の場合、前記出力極値が前記入力極値であると決定される、請求項13に記載のシステム。
- 前記入力極値が前記基準極値よりも大きい場合、前記出力極値が前記入力極値であると決定される、請求項13に記載のシステム。
- 前記極値が最小値または最大値のうちの1つである、請求項13に記載のシステム。
- 前記入力データセットが、符号付き形式または符号なし形式のうちの1つの中に表されるデータを備える、請求項13に記載のシステム。
- 前記入力データセットがメモリアレイから得られる、請求項13に記載のシステム。
- 入力位置識別子を前記入力極値の前記位置識別子として決定するように構成された前記ロジックが、ペア単位の比較、および前記入力データセットの要素のツリー型減少のためのロジックを備える、請求項13に記載のシステム。
- 前記入力極値の前記位置識別子がアドレス部分およびインデックス部分を備え、前記アドレス部分が前記入力データセットのアドレスから形成され、前記インデックス部分が前記入力データセット内の前記入力極値の位置から形成される、請求項13に記載のシステム。
- 前記入力データセットの前記入力極値の前記決定と、前記入力極値と前記基準極値との前記比較とが並行に実行される、請求項13に記載のシステム。
- 基準位置識別子と基準極値とを結合するための手段と、
入力データセットの入力極値を決定するための手段と、
前記入力極値の対応する位置識別子を決定するための手段と、
前記入力極値と前記基準極値とを比較して、前記比較に基づいて、出力極値と出力位置識別子とを決定する手段とを備える、極値を決定するための装置。 - 前記基準極値および前記基準位置識別子を、それぞれ前記出力極値および前記出力位置識別子と置換するための手段をさらに備える、請求項24に記載の装置。
- 前記入力極値と前記基準極値とを比較するステップと並行して、入力データセットの前記入力極値を決定するための手段を備える、請求項24に記載の装置。
- プロセッサによって実行されると、前記プロセッサに、データセットの極値を決定するための動作を実行させる命令を備え、前記命令が、
基準位置識別子と基準極値とを結合して、
入力データセットの入力極値を決定して、
前記入力極値の対応する位置識別子を決定して、
前記入力極値と前記基準極値とを比較して、前記比較に基づいて、出力極値と出力位置識別子とを決定するように動作可能である、非一時的コンピュータ可読記憶媒体。 - 前記命令が、前記基準極値および前記基準位置識別子を、それぞれ前記出力極値および前記出力位置識別子と置換するようにさらに動作可能である、請求項27に記載の非一時的コンピュータ可読記憶媒体。
- 前記命令が、前記入力極値と前記基準極値とを比較するステップと並行して、入力データセットの前記入力極値を決定するようにさらに動作可能である、請求項27に記載の非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/241,673 US9785434B2 (en) | 2011-09-23 | 2011-09-23 | Fast minimum and maximum searching instruction |
US13/241,673 | 2011-09-23 | ||
PCT/US2012/056960 WO2013044260A2 (en) | 2011-09-23 | 2012-09-24 | Fast minimum and maximum searching instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014531674A true JP2014531674A (ja) | 2014-11-27 |
JP5819532B2 JP5819532B2 (ja) | 2015-11-24 |
Family
ID=47172864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014532083A Active JP5819532B2 (ja) | 2011-09-23 | 2012-09-24 | 高速な最小値および最大値検索命令 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9785434B2 (ja) |
EP (1) | EP2758897B1 (ja) |
JP (1) | JP5819532B2 (ja) |
KR (2) | KR20140082720A (ja) |
CN (1) | CN103814372B (ja) |
WO (1) | WO2013044260A2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600279B2 (en) * | 2012-07-26 | 2017-03-21 | Verisilicon Holdings Co., Ltd. | Circuit and method for searching a data array and single-instruction, multiple-data processing unit incorporating the same |
US20140136582A1 (en) * | 2012-11-12 | 2014-05-15 | Futurewei Technologies, Inc. | Method and apparatus for digital automatic gain control |
CN108351974A (zh) | 2016-07-17 | 2018-07-31 | Gsi 科技公司 | 在恒定的处理时间内查找k个极值 |
US10379854B2 (en) * | 2016-12-22 | 2019-08-13 | Intel Corporation | Processor instructions for determining two minimum and two maximum values |
US10514914B2 (en) * | 2017-08-29 | 2019-12-24 | Gsi Technology Inc. | Method for min-max computation in associative memory |
CN111258632B (zh) * | 2018-11-30 | 2022-07-26 | 上海寒武纪信息科技有限公司 | 数据选择装置、数据处理方法、芯片及电子设备 |
CN112486454B (zh) * | 2019-09-12 | 2023-07-11 | 北京华航无线电测量研究所 | 一种基于fpga的序列多峰值搜索排序装置 |
US11550584B1 (en) * | 2021-09-30 | 2023-01-10 | Nvidia Corporation | Implementing specialized instructions for accelerating Smith-Waterman sequence alignments |
US11822541B2 (en) | 2021-09-30 | 2023-11-21 | Nvidia Corporation | Techniques for storing sub-alignment data when accelerating Smith-Waterman sequence alignments |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002027475A2 (en) * | 2000-09-28 | 2002-04-04 | Intel Corporation | Array processing operations |
JP2009059187A (ja) * | 2007-08-31 | 2009-03-19 | Nec Electronics Corp | マイクロプロセッサおよびデータ処理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4597053A (en) | 1983-07-01 | 1986-06-24 | Codex Corporation | Two-pass multiplier/accumulator circuit |
JPS61122747A (ja) | 1984-11-14 | 1986-06-10 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | デ−タ処理装置 |
US5457645A (en) | 1989-11-24 | 1995-10-10 | Matsushita Electric Industrial Co., Ltd. | Pattern recognition system including a circuit for detecting maximum or minimum data elements which determines the standard pattern closest to the input pattern |
US5187675A (en) | 1991-09-18 | 1993-02-16 | Ericsson-Ge Mobile Communications Holding Inc. | Maximum search circuit |
CA2138262C (en) | 1993-09-27 | 2000-02-15 | Yukihiko Okumura | Minimum/maximum data detector |
US6085208A (en) | 1997-10-23 | 2000-07-04 | Advanced Micro Devices, Inc. | Leading one prediction unit for normalizing close path subtraction results within a floating point arithmetic unit |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
TW434505B (en) * | 1997-11-24 | 2001-05-16 | Lucent Technologies Inc | Single-cycle accelerator for extremun state search |
KR100457534B1 (ko) | 2002-09-13 | 2004-11-17 | 삼성전자주식회사 | 휘도 및 색 온도 조정 장치 및 방법 |
WO2004066141A2 (en) | 2003-01-15 | 2004-08-05 | Globespanvirata Incorporated | Apparatus and method for determining extreme values |
JP2005099598A (ja) * | 2003-09-26 | 2005-04-14 | Sanyo Electric Co Ltd | 表示装置 |
US7434034B2 (en) | 2004-09-13 | 2008-10-07 | Ati Technologies Inc. | SIMD processor executing min/max instructions |
TWI342503B (en) * | 2007-01-29 | 2011-05-21 | Syscom Comp Engineering Co | Method for examining the continuity of data |
-
2011
- 2011-09-23 US US13/241,673 patent/US9785434B2/en active Active
-
2012
- 2012-09-24 CN CN201280045730.2A patent/CN103814372B/zh active Active
- 2012-09-24 JP JP2014532083A patent/JP5819532B2/ja active Active
- 2012-09-24 KR KR1020147010701A patent/KR20140082720A/ko active Search and Examination
- 2012-09-24 WO PCT/US2012/056960 patent/WO2013044260A2/en active Search and Examination
- 2012-09-24 KR KR1020167023903A patent/KR101968189B1/ko active IP Right Grant
- 2012-09-24 EP EP12784364.7A patent/EP2758897B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002027475A2 (en) * | 2000-09-28 | 2002-04-04 | Intel Corporation | Array processing operations |
JP2004510245A (ja) * | 2000-09-28 | 2004-04-02 | インテル・コーポレーション | アレイ処理動作 |
JP2009059187A (ja) * | 2007-08-31 | 2009-03-19 | Nec Electronics Corp | マイクロプロセッサおよびデータ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103814372B (zh) | 2020-05-26 |
KR20160105941A (ko) | 2016-09-07 |
KR20140082720A (ko) | 2014-07-02 |
EP2758897A2 (en) | 2014-07-30 |
EP2758897B1 (en) | 2020-02-12 |
US20130080490A1 (en) | 2013-03-28 |
WO2013044260A2 (en) | 2013-03-28 |
WO2013044260A3 (en) | 2013-08-01 |
CN103814372A (zh) | 2014-05-21 |
KR101968189B1 (ko) | 2019-04-11 |
JP5819532B2 (ja) | 2015-11-24 |
US9785434B2 (en) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5819532B2 (ja) | 高速な最小値および最大値検索命令 | |
EP3496008B1 (en) | Method and apparatus for processing convolution operation in neural network | |
US11915119B2 (en) | Convolutional neural network (CNN) processing method and apparatus performing high speed and precision convolution operations | |
JP6571752B2 (ja) | ベクトルレジスタファイルにおいてデータインデックス方式アキュムレータを使用するベクトルプロセッサによるスカラ演算の並列化、関連する回路、方法およびコンピュータ可読媒体 | |
EP3326060B1 (en) | Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements | |
TW202207052A (zh) | 用以解碼零值壓縮資料向量之方法、系統、製造物品及設備 | |
US7624107B1 (en) | Radix sort algorithm for graphics processing units | |
CN112241290A (zh) | 用于在并行处理单元中有效执行数据规约的技术 | |
CN107924306B (zh) | 使用simd指令的表查找 | |
US11321092B1 (en) | Tensor-based memory access | |
CN109656946B (zh) | 一种多表关联查询方法、装置及设备 | |
TWI587137B (zh) | 經改良之單一指令多重資料(simd)的k最近鄰居法之實施技術 | |
US20150127924A1 (en) | Method and apparatus for processing shuffle instruction | |
KR20200110165A (ko) | 뉴럴 네트워크의 레이어들의 처리에서 제로 값(zero value)의 연산을 처리하는 방법 및 장치 | |
US20120124343A1 (en) | Apparatus and method for modifying instruction operand | |
US8589661B2 (en) | Odd and even start bit vectors | |
US9846678B2 (en) | Fast Fourier Transform (FFT) custom address generator | |
US20130262819A1 (en) | Single cycle compare and select operations | |
CN109992687B (zh) | 人脸数据的搜索方法、装置、电子设备及可读存储介质 | |
CN109690956B (zh) | 电子设备和用于电子设备的方法 | |
Ilić et al. | Address generation unit as accelerator block in DSP | |
WO2023071611A1 (zh) | 一种不友好访存检测方法及相关设备 | |
US11669489B2 (en) | Sparse systolic array design | |
Wang | A Theoretical Study of Extreme Parallelism in Sequence Alignments | |
Bromberger | Supporting Big Data Applications using Hybrid Architectures. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150601 |
|
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: 20150831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150930 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5819532 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |