JP2016530631A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2016530631A5 JP2016530631A5 JP2016534602A JP2016534602A JP2016530631A5 JP 2016530631 A5 JP2016530631 A5 JP 2016530631A5 JP 2016534602 A JP2016534602 A JP 2016534602A JP 2016534602 A JP2016534602 A JP 2016534602A JP 2016530631 A5 JP2016530631 A5 JP 2016530631A5
- Authority
- JP
- Japan
- Prior art keywords
- output
- elements
- vector
- output element
- processor
- 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.)
- Pending
Links
- 230000000875 corresponding Effects 0.000 claims 1
Claims (15)
- プロセッサにおいてベクトル命令を実行するステップを備える方法であって、前記ベクトル命令が複数の要素を含むベクトル入力を備え、前記ベクトル命令を実行するステップが、
第1の出力要素として前記複数の要素の第1の要素を提供するステップと、
前記複数の要素の前記第1の要素および第2の要素に対して第1の算術的演算を実行して、第2の出力要素を提供するステップであって、前記第1の算術的演算が加算および減算の少なくとも1つを含む、ステップと、
前記プロセッサの単一の実行サイクルの間に、前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶するステップと
を備える、方法。 - 前記ベクトル命令を実行するステップがさらに、
前記複数の要素の前記第1の要素、前記第2の要素、および第3の要素に対して第2の算術的演算を実行して、第3の出力を提供するステップと、
前記プロセッサの単一の実行サイクルの間に、前記第1の出力要素、前記第2の出力要素、および第3の出力要素を前記出力ベクトルに記憶するステップとを備える、請求項1に記載の方法。 - 前記ベクトル命令を実行するステップがさらに、前記出力ベクトルの異なる出力要素に複数の出力要素の各々を記憶するステップを備え、前記複数の出力要素が前記第1の出力要素および前記第2の出力要素を含む、請求項1に記載の方法。
- 前記複数の要素が順次的な順序で記憶され、前記ベクトル命令を実行するステップがさらに、前記複数の要素の特定の要素および前記複数の要素の1つまたは複数の他の要素に対して第2の算術的演算を実行して特定の出力要素を生成するステップを備え、前記1つまたは複数の他の要素が前記順次的な順序において前記特定の要素よりも順序的に前に順序付けられる、請求項1に記載の方法。
- 前記ベクトル入力の第1のサイズが前記出力ベクトルの第2のサイズと同じである、請求項4に記載の方法。
- N個の出力のN番目の出力要素がN番目の入力要素とN-1個の順序的に前の入力要素との合計に等しい、請求項5に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記第1の要素を前記第1の出力要素として提供する前に前記複数の要素にマスクを適用するステップ、または前記出力ベクトルにマスクを適用するステップを備える、請求項1に記載の方法。
- 前記ベクトル命令を実行するステップが、第1の出力および第2の出力を含む複数の出力を生成するステップを含み、前記マスクを適用するステップが、前記マスクの対応するマスク値を条件として、前記複数の出力を生成する際に使用するための前記複数の要素の特定の要素に対して0値を提供するステップを備える、請求項7に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記複数のベクトル入力要素が複素数入力タイプを有するとき、
前記第1の出力要素の第1の実数副要素および前記第1の出力要素の第1の虚数副要素を生成するステップと、
前記第2の出力要素の第2の実数副要素および前記第2の出力要素の第2の虚数副要素を生成するステップとを備え、
前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶するステップが、前記プロセッサの前記単一の実行サイクルの間に、前記第1の出力の前記第1の実数副要素、および前記第1の出力要素の前記第1の虚数副要素、および前記第2の出力要素の前記第2の実数副要素、および前記第2の出力要素の前記第2の虚数副要素を、前記出力ベクトルに記憶するステップを含む、請求項1に記載の方法。 - プロセッサを備える装置であって、複数の要素を含むベクトル入力を特定するベクトル命令の実行の間に、前記プロセッサが、
第1の出力要素として前記複数の要素の第1の要素を提供し、
前記複数の要素の前記第1の要素および第2の要素に対して第1の算術的演算を実行して、第2の出力要素を提供し、前記第1の算術的演算が加算および減算の少なくとも1つを含み、
前記プロセッサの単一の実行サイクルの間に、前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶する
ように構成される、装置。 - 前記プロセッサが、複数の算術的演算ユニット、複数の入力、および複数の出力を備える削減ツリーを備え、前記削減ツリーが、前記複数の要素の前記第1の要素、前記第2の要素、および第3の要素に対して第2の算術的演算ユニットを実行して、第3の出力要素を提供するように構成される、請求項10に記載の装置。
- 前記複数の算術的演算ユニットの特定の算術的演算ユニットが、前記特定の算術的演算ユニットの出力を飽和させるように構成される飽和論理回路に結合される、請求項11に記載の装置。
- 前記プロセッサがさらに、前記ベクトル命令に基づいて、前記複数の算術的演算ユニットの1つまたは複数の算術的演算ユニットを選択的に有効にするように構成される制御論理を備え、前記第1の出力要素および前記第2の出力要素が、前記1つまたは複数の算術的演算ユニットを介して提供される、請求項11に記載の装置。
- 前記第1の算術的演算が、複数の副加算器によって実行され、前記複数の副加算器の各副加算器が、前記出力ベクトルに出力要素を記憶する、請求項11に記載の装置。
- プロセッサによって実行されると、前記プロセッサに請求項1から9のいずか一項に記載の方法を行わせる命令を備える、非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/967,191 US20150052330A1 (en) | 2013-08-14 | 2013-08-14 | Vector arithmetic reduction |
US13/967,191 | 2013-08-14 | ||
PCT/US2014/049604 WO2015023465A1 (en) | 2013-08-14 | 2014-08-04 | Vector accumulation method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016530631A JP2016530631A (ja) | 2016-09-29 |
JP2016530631A5 true JP2016530631A5 (ja) | 2017-08-31 |
Family
ID=51492424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016534602A Pending JP2016530631A (ja) | 2013-08-14 | 2014-08-04 | ベクトルの算術的削減 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150052330A1 (ja) |
EP (1) | EP3033670B1 (ja) |
JP (1) | JP2016530631A (ja) |
CN (1) | CN105453028B (ja) |
TW (1) | TWI507982B (ja) |
WO (1) | WO2015023465A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678715B2 (en) * | 2014-10-30 | 2017-06-13 | Arm Limited | Multi-element comparison and multi-element addition |
US20160179530A1 (en) * | 2014-12-23 | 2016-06-23 | Elmoustapha Ould-Ahmed-Vall | Instruction and logic to perform a vector saturated doubleword/quadword add |
US10296342B2 (en) | 2016-07-02 | 2019-05-21 | Intel Corporation | Systems, apparatuses, and methods for cumulative summation |
US10466967B2 (en) * | 2016-07-29 | 2019-11-05 | Qualcomm Incorporated | System and method for piecewise linear approximation |
US10108581B1 (en) * | 2017-04-03 | 2018-10-23 | Google Llc | Vector reduction processor |
US10331445B2 (en) * | 2017-05-24 | 2019-06-25 | Microsoft Technology Licensing, Llc | Multifunction vector processor circuits |
GB2574817B (en) * | 2018-06-18 | 2021-01-06 | Advanced Risc Mach Ltd | Data processing systems |
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 |
CN110807521B (zh) * | 2019-10-29 | 2022-06-24 | 中昊芯英(杭州)科技有限公司 | 支持向量运算的处理装置、芯片、电子设备和方法 |
GB2601466A (en) * | 2020-02-10 | 2022-06-08 | Xmos Ltd | Rotating accumulator |
US20240004647A1 (en) * | 2022-07-01 | 2024-01-04 | Andes Technology Corporation | Vector processor with vector and element reduction method |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
US5542074A (en) * | 1992-10-22 | 1996-07-30 | Maspar Computer Corporation | Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount |
US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
US6058473A (en) * | 1993-11-30 | 2000-05-02 | Texas Instruments Incorporated | Memory store from a register pair conditional upon a selected status bit |
US5727229A (en) * | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
US6542918B1 (en) * | 1996-06-21 | 2003-04-01 | Ramot At Tel Aviv University Ltd. | Prefix sums and an application thereof |
US5845112A (en) * | 1997-03-06 | 1998-12-01 | Samsung Electronics Co., Ltd. | Method for performing dead-zone quantization in a single processor instruction |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US7395302B2 (en) * | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US6418529B1 (en) * | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US6295597B1 (en) * | 1998-08-11 | 2001-09-25 | Cray, Inc. | Apparatus and method for improved vector processing to support extended-length integer arithmetic |
US6192384B1 (en) * | 1998-09-14 | 2001-02-20 | The Board Of Trustees Of The Leland Stanford Junior University | System and method for performing compound vector operations |
US6324638B1 (en) * | 1999-03-31 | 2001-11-27 | International Business Machines Corporation | Processor having vector processing capability and method for executing a vector instruction in a processor |
US7624138B2 (en) * | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US6920545B2 (en) * | 2002-01-17 | 2005-07-19 | Raytheon Company | Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster |
US7376812B1 (en) * | 2002-05-13 | 2008-05-20 | Tensilica, Inc. | Vector co-processor for configurable and extensible processor architecture |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
US7051186B2 (en) * | 2002-08-29 | 2006-05-23 | International Business Machines Corporation | Selective bypassing of a multi-port register file |
TWI221562B (en) * | 2002-12-12 | 2004-10-01 | Chung Shan Inst Of Science | C6x_VSP-C6x vector signal processor |
US7293056B2 (en) * | 2002-12-18 | 2007-11-06 | Intel Corporation | Variable width, at least six-way addition/accumulation instructions |
US20040193847A1 (en) * | 2003-03-31 | 2004-09-30 | Lee Ruby B. | Intra-register subword-add instructions |
JP2006529043A (ja) * | 2003-05-09 | 2006-12-28 | サンドブリッジ テクノロジーズ インコーポレーテッド | 飽和あり、または飽和なしで、オペランドの積和を実行するプロセッサ簡約ユニット |
TW200504592A (en) * | 2003-07-24 | 2005-02-01 | Ind Tech Res Inst | Reconfigurable apparatus with high hardware efficiency |
US7797363B2 (en) * | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
DE102006027181B4 (de) * | 2006-06-12 | 2010-10-14 | Universität Augsburg | Prozessor mit internem Raster von Ausführungseinheiten |
US8429384B2 (en) * | 2006-07-11 | 2013-04-23 | Harman International Industries, Incorporated | Interleaved hardware multithreading processor architecture |
US7725518B1 (en) * | 2007-08-08 | 2010-05-25 | Nvidia Corporation | Work-efficient parallel prefix sum algorithm for graphics processing units |
US8996846B2 (en) * | 2007-09-27 | 2015-03-31 | Nvidia Corporation | System, method and computer program product for performing a scan operation |
US8661226B2 (en) * | 2007-11-15 | 2014-02-25 | Nvidia Corporation | System, method, and computer program product for performing a scan operation on a sequence of single-bit values using a parallel processor architecture |
US7895419B2 (en) * | 2008-01-11 | 2011-02-22 | International Business Machines Corporation | Rotate then operate on selected bits facility and instructions therefore |
EP2300911A1 (en) * | 2008-05-30 | 2011-03-30 | Nxp B.V. | Method for vector processing |
US8356159B2 (en) * | 2008-08-15 | 2013-01-15 | Apple Inc. | Break, pre-break, and remaining instructions for processing vectors |
US9176735B2 (en) * | 2008-11-28 | 2015-11-03 | Intel Corporation | Digital signal processor having instruction set with one or more non-linear complex functions |
US8595467B2 (en) * | 2009-12-29 | 2013-11-26 | International Business Machines Corporation | Floating point collect and operate |
US8667042B2 (en) * | 2010-09-24 | 2014-03-04 | Intel Corporation | Functional unit for vector integer multiply add instruction |
US8868885B2 (en) * | 2010-11-18 | 2014-10-21 | Ceva D.S.P. Ltd. | On-the-fly permutation of vector elements for executing successive elemental instructions |
KR101595637B1 (ko) * | 2011-04-01 | 2016-02-18 | 인텔 코포레이션 | 벡터 친숙형 명령어 형식 및 그의 실행 |
US9760372B2 (en) * | 2011-09-01 | 2017-09-12 | Hewlett Packard Enterprise Development Lp | Parallel processing in plural processors with result register each performing associative operation on respective column data |
CN104040488B (zh) * | 2011-12-22 | 2017-06-09 | 英特尔公司 | 用于给出相应复数的复共轭的矢量指令 |
CN104137053B (zh) * | 2011-12-23 | 2018-06-26 | 英特尔公司 | 用于响应于单个指令来执行蝴蝶横向和交叉加法或减法的系统、装置和方法 |
WO2013095634A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing a horizontal partial sum in response to a single instruction |
US9823924B2 (en) * | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
JP6079433B2 (ja) * | 2013-05-23 | 2017-02-15 | 富士通株式会社 | 移動平均処理プログラム、及びプロセッサ |
-
2013
- 2013-08-14 US US13/967,191 patent/US20150052330A1/en not_active Abandoned
-
2014
- 2014-08-04 EP EP14759362.8A patent/EP3033670B1/en active Active
- 2014-08-04 CN CN201480043504.XA patent/CN105453028B/zh active Active
- 2014-08-04 JP JP2016534602A patent/JP2016530631A/ja active Pending
- 2014-08-04 WO PCT/US2014/049604 patent/WO2015023465A1/en active Application Filing
- 2014-08-07 TW TW103127139A patent/TWI507982B/zh not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016530631A5 (ja) | ||
JP2016001502A5 (ja) | ||
JP2019537139A5 (ja) | ||
WO2016036817A4 (en) | Executing graph-based program specifications | |
GB2545607A (en) | Apparatus and method for vector processing with selective rounding mode | |
JP2015532749A5 (ja) | ||
JP2016537726A5 (ja) | ||
JP2015057697A5 (ja) | ||
GB2456775B (en) | Apparatus and method for performing permutation operations on data | |
JP2016526220A5 (ja) | ||
JP2015511032A5 (ja) | ソフトウエアを開発するためのコンピュータプログラム、方法、コンピュータシステム、装置及びコンピュータ | |
JP2016511470A5 (ja) | ||
JP2014160453A5 (ja) | ||
GB2526040A (en) | Instruction for performing a pseudorandom number generate operation | |
JP2014504750A5 (ja) | ||
RU2015109476A (ru) | Команда векторного типа на поле галуа перемножения, суммирования и накопления | |
JP2016207166A5 (ja) | ||
WO2016036820A4 (en) | Managing invocation of tasks | |
GB2571685A (en) | An apparatus and method for processing input operand values | |
JP2017515228A5 (ja) | ||
JP2010539593A5 (ja) | ||
JP2017097520A5 (ja) | ||
WO2017052811A3 (en) | Secure modular exponentiation processors, methods, systems, and instructions | |
JP2018505506A5 (ja) | ||
JP2015527642A5 (ja) |