JP5819532B2 - 高速な最小値および最大値検索命令 - Google Patents
高速な最小値および最大値検索命令 Download PDFInfo
- Publication number
- JP5819532B2 JP5819532B2 JP2014532083A JP2014532083A JP5819532B2 JP 5819532 B2 JP5819532 B2 JP 5819532B2 JP 2014532083 A JP2014532083 A JP 2014532083A JP 2014532083 A JP2014532083 A JP 2014532083A JP 5819532 B2 JP5819532 B2 JP 5819532B2
- Authority
- JP
- Japan
- Prior art keywords
- extreme value
- input
- data set
- value
- 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
- 238000000034 method Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 10
- 230000009467 reduction Effects 0.000 claims description 8
- 238000004364 calculation method 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
-
- 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
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (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)
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 (25)
- 基準位置識別子と基準極値とを記憶媒体に記憶するステップと、
メモリシステムから入力データセットを受信するステップであって、前記基準極値が前記入力データセットとは無関係であるステップと、
前記入力データセットの入力極値を決定するステップと
前記入力極値の対応する位置識別子を決定するステップと、
前記入力極値と前記基準極値とを比較して、前記比較に基づいて、出力極値と出力位置識別子とを決定するステップとを備え、
前記入力極値と前記基準極値とを比較するステップが、前記入力データセットから前記入力極値を決定する間に形成された中間値と前記基準極値とを比較するステップを備える、処理システムにおいて極値を決定する方法。 - 前記基準極値および前記基準位置識別子を、それぞれ前記出力極値および前記出力位置識別子と置換するステップをさらに備える、請求項1に記載の方法。
- 前記入力極値が前記基準極値未満の場合、前記出力極値が前記入力極値であると決定される、請求項1に記載の方法。
- 前記入力極値が前記基準極値よりも大きい場合、前記出力極値が前記入力極値であると決定される、請求項1に記載の方法。
- 前記極値が最小値または最大値のうちの1つである、請求項1に記載の方法。
- 前記入力データセットが、符号付き形式または符号なし形式のうちの1つの中に表されるデータを備える、請求項1に記載の方法。
- 前記入力極値を決定するステップが、前記入力データセット内のデータの大きさに基づく、請求項1に記載の方法。
- 前記基準位置識別子とレジスタのペア内の前記基準極値とを結合するステップをさらに備える、請求項1に記載の方法。
- 前記出力位置識別子とレジスタのペア内の前記出力極値とを結合するステップをさらに備える、請求項1に記載の方法。
- 前記入力データセットの前記入力極値を決定するステップが、前記入力データセットのペア単位のツリー型減少を備える、請求項1に記載の方法。
- 前記入力極値の前記位置識別子がアドレス部分およびインデックス部分を備え、前記アドレス部分が前記入力データセットのアドレスから形成され、前記インデックス部分が前記入力データセット内の前記入力極値の位置から形成される、請求項1に記載の方法。
- 基準極値と、
前記基準極値の基準位置識別子と
入力データセットであって、前記基準極値が前記入力データセットとは無関係である入力データセットと、
入力極値を前記入力データセットの極値として決定するように構成されたロジックと、
入力位置識別子を前記入力極値の位置識別子として決定するように構成されたロジックと、
出力極値を決定するために、前記入力極値と前記基準極値とを比較するように構成されたロジックであって、前記入力データセットから前記入力極値を決定する間に形成された中間値と前記基準極値とを比較するように構成されたロジックを備える、ロジックとを備える、システム。 - 前記比較に基づいて、出力位置識別子として、前記入力位置識別子および前記基準位置識別子のうちの1つを選択するように構成されたロジックをさらに備える、請求項12に記載のシステム。
- 前記基準極値および基準位置識別子が、それぞれ以前の出力極値および以前の出力位置識別子から決定される、請求項12に記載のシステム。
- 前記入力極値が前記基準極値未満の場合、前記出力極値が前記入力極値であると決定される、請求項12に記載のシステム。
- 前記入力極値が前記基準極値よりも大きい場合、前記出力極値が前記入力極値であると決定される、請求項12に記載のシステム。
- 前記極値が最小値または最大値のうちの1つである、請求項12に記載のシステム。
- 前記入力データセットが、符号付き形式または符号なし形式のうちの1つの中に表されるデータを備える、請求項12に記載のシステム。
- 前記入力データセットがメモリアレイから得られる、請求項12に記載のシステム。
- 入力位置識別子を前記入力極値の前記位置識別子として決定するように構成された前記ロジックが、ペア単位の比較、および前記入力データセットの要素のツリー型減少のためのロジックを備える、請求項12に記載のシステム。
- 前記入力極値の前記位置識別子がアドレス部分およびインデックス部分を備え、前記アドレス部分が前記入力データセットのアドレスから形成され、前記インデックス部分が前記入力データセット内の前記入力極値の位置から形成される、請求項12に記載のシステム。
- 基準位置識別子と基準極値とを記憶するための手段と、
入力データセットの入力極値を決定するための手段であって、前記基準極値が前記入力データセットとは無関係である手段と、
前記入力極値の対応する位置識別子を決定するための手段と、
前記入力極値と前記基準極値とを比較して、前記比較に基づいて、出力極値と出力位置識別子とを決定する手段であって、前記入力データセットから前記入力極値を決定する間に形成された中間値と前記基準極値とを比較するための手段を備える、手段とを備える、極値を決定するための装置。 - 前記基準極値および前記基準位置識別子を、それぞれ前記出力極値および前記出力位置識別子と置換するための手段をさらに備える、請求項22に記載の装置。
- プロセッサによって実行されると、前記プロセッサに、データセットの極値を決定するための動作を実行させる命令を備え、前記命令が、
基準位置識別子と基準極値とを記憶して、
入力データセットであって、前記基準極値が前記入力データセットとは無関係である入力データセットの入力極値を決定して、
前記入力極値の対応する位置識別子を決定して、
前記入力極値と前記基準極値とを比較して、前記比較に基づいて、出力極値と出力位置識別子とを決定するように動作可能であり、
前記入力極値と前記基準極値とを比較するように動作可能な前記命令が、前記入力データセットから前記入力極値を決定する間に形成された中間値と前記基準極値とを比較するように動作可能な命令を備える、コンピュータ可読記憶媒体。 - 前記命令が、前記基準極値および前記基準位置識別子を、それぞれ前記出力極値および前記出力位置識別子と置換するようにさらに動作可能である、請求項24に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/241,673 | 2011-09-23 | ||
US13/241,673 US9785434B2 (en) | 2011-09-23 | 2011-09-23 | Fast minimum and maximum searching instruction |
PCT/US2012/056960 WO2013044260A2 (en) | 2011-09-23 | 2012-09-24 | Fast minimum and maximum searching instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014531674A JP2014531674A (ja) | 2014-11-27 |
JP5819532B2 true 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 (10)
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 |
CN118468126A (zh) | 2016-07-17 | 2024-08-09 | 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的序列多峰值搜索排序装置 |
WO2022070131A1 (en) | 2020-10-01 | 2022-04-07 | Gsi Technology Inc. | Functional protein classification for pandemic research |
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 |
Family Cites Families (15)
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 |
US5726923A (en) | 1993-09-27 | 1998-03-10 | Ntt Mobile Communications Network Inc. | 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 |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
KR100457534B1 (ko) | 2002-09-13 | 2004-11-17 | 삼성전자주식회사 | 휘도 및 색 온도 조정 장치 및 방법 |
US7725513B2 (en) | 2003-01-15 | 2010-05-25 | Ikanos Communications, Inc. | Minimum processor instruction for implementing weighted fair queuing and other priority queuing |
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 |
JP4896839B2 (ja) | 2007-08-31 | 2012-03-14 | ルネサスエレクトロニクス株式会社 | マイクロプロセッサおよびデータ処理方法 |
-
2011
- 2011-09-23 US US13/241,673 patent/US9785434B2/en active Active
-
2012
- 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 CN CN201280045730.2A patent/CN103814372B/zh active Active
- 2012-09-24 KR KR1020167023903A patent/KR101968189B1/ko active IP Right Grant
- 2012-09-24 EP EP12784364.7A patent/EP2758897B1/en active Active
- 2012-09-24 WO PCT/US2012/056960 patent/WO2013044260A2/en active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
EP2758897B1 (en) | 2020-02-12 |
WO2013044260A3 (en) | 2013-08-01 |
WO2013044260A2 (en) | 2013-03-28 |
KR20160105941A (ko) | 2016-09-07 |
KR20140082720A (ko) | 2014-07-02 |
US20130080490A1 (en) | 2013-03-28 |
EP2758897A2 (en) | 2014-07-30 |
CN103814372B (zh) | 2020-05-26 |
CN103814372A (zh) | 2014-05-21 |
KR101968189B1 (ko) | 2019-04-11 |
US9785434B2 (en) | 2017-10-10 |
JP2014531674A (ja) | 2014-11-27 |
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 | |
CN111213125B (zh) | 使用simd指令进行高效的直接卷积 | |
EP3172659B1 (en) | Parallelization of scalar operations by vector processors using data-indexed accumulators in vector register files, and related circuits, methods, and computer-readable media | |
JP2016517570A (ja) | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 | |
US9959661B2 (en) | Method and device for processing graphics data in graphics processing unit | |
KR102121866B1 (ko) | 와이드 데이터 엘리먼트들에 대한 레지스터 쌍을 사용하는 짝수-엘리먼트 및 홀수-엘리먼트 연산들을 가지는 혼합-폭 simd 연산들 | |
CN109656946B (zh) | 一种多表关联查询方法、装置及设备 | |
CN107924306B (zh) | 使用simd指令的表查找 | |
EP2025175B1 (en) | Instruction for producing two independent sums of absolute differences | |
US9841979B2 (en) | Method and apparatus for shuffling data using hierarchical shuffle units | |
TWI587137B (zh) | 經改良之單一指令多重資料(simd)的k最近鄰居法之實施技術 | |
US20130262819A1 (en) | Single cycle compare and select operations | |
KR20200110165A (ko) | 뉴럴 네트워크의 레이어들의 처리에서 제로 값(zero value)의 연산을 처리하는 방법 및 장치 | |
US20170091147A1 (en) | Fast fourier transform (fft) custom address generator | |
US20120124343A1 (en) | Apparatus and method for modifying instruction operand | |
US20230129750A1 (en) | Performing a floating-point multiply-add operation in a computer implemented environment | |
US8589661B2 (en) | Odd and even start bit vectors | |
Zhang et al. | Bucket-FEM: A Bucket-based Architecture of Real-time ORB Feature Extraction and Matching for Embedded SLAM Applications | |
US8001358B2 (en) | Microprocessor and method of processing data including peak value candidate selecting part and peak value calculating part | |
US11669489B2 (en) | Sparse systolic array design | |
WO2023071611A1 (zh) | 一种不友好访存检测方法及相关设备 | |
KR101614215B1 (ko) | 저전력 곱셈기 및 그 동작 방법 | |
Wang | A Theoretical Study of Extreme Parallelism in Sequence Alignments |
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 |