JP2016530631A5 - - Google Patents

Download PDF

Info

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
Application number
JP2016534602A
Other languages
English (en)
Other versions
JP2016530631A (ja
Filing date
Publication date
Priority claimed from US13/967,191 external-priority patent/US20150052330A1/en
Application filed filed Critical
Publication of JP2016530631A publication Critical patent/JP2016530631A/ja
Publication of JP2016530631A5 publication Critical patent/JP2016530631A5/ja
Pending legal-status Critical Current

Links

Claims (15)

  1. プロセッサにおいてベクトル命令を実行するステップを備える方法であって、前記ベクトル命令が複数の要素を含むベクトル入力を備え、前記ベクトル命令を実行するステップが、
    第1の出力要素として前記複数の要素の第1の要素を提供するステップと、
    前記複数の要素の前記第1の要素および第2の要素に対して第1の算術的演算を実行して、第2の出力要素を提供するステップであって、前記第1の算術的演算が加算および減算の少なくとも1つを含む、ステップと、
    前記プロセッサの単一の実行サイクルの間に、前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶するステップと
    を備える、方法。
  2. 前記ベクトル命令を実行するステップがさらに、
    前記複数の要素の前記第1の要素、前記第2の要素、および第3の要素に対して第2の算術的演算を実行して、第3の出力を提供するステップと、
    前記プロセッサの単一の実行サイクルの間に、前記第1の出力要素、前記第2の出力要素、および第3の出力要素を前記出力ベクトルに記憶するステップとを備える、請求項1に記載の方法。
  3. 前記ベクトル命令を実行するステップがさらに、前記出力ベクトルの異なる出力要素に複数の出力要素の各々を記憶するステップを備え、前記複数の出力要素が前記第1の出力要素および前記第2の出力要素を含む、請求項1に記載の方法。
  4. 前記複数の要素が順次的な順序で記憶され、前記ベクトル命令を実行するステップがさらに、前記複数の要素の特定の要素および前記複数の要素の1つまたは複数の他の要素に対して第2の算術的演算を実行して特定の出力要素を生成するステップを備え、前記1つまたは複数の他の要素が前記順次的な順序において前記特定の要素よりも順序的に前に順序付けられる、請求項1に記載の方法。
  5. 前記ベクトル入力の第1のサイズが前記出力ベクトルの第2のサイズと同じである、請求項4に記載の方法。
  6. N個の出力のN番目の出力要素N番目の入力要素とN-1個の順序的に前の入力要素との合計に等し、請求項5に記載の方法。
  7. 前記ベクトル命令を実行するステップがさらに、前記第1の要素を前記第1の出力要素として提供する前に前記複数の要素にマスクを適用するステップ、または前記出力ベクトルにマスクを適用するステップを備える、請求項1に記載の方法。
  8. 前記ベクトル命令を実行するステップが、第1の出力および第2の出力を含む複数の出力を生成するステップを含み、前記マスクを適用するステップが、前記マスクの対応するマスク値を条件として、前記複数の出力を生成する際に使用するための前記複数の要素の特定の要素に対して0値を提供するステップを備える、請求項7に記載の方法。
  9. 前記ベクトル命令を実行するステップがさらに、前記複数のベクトル入力要素が複素数入力タイプを有するとき
    前記第1の出力要素の第1の実数副要素および前記第1の出力要素の第1の虚数副要素を生成するステップと、
    前記第2の出力要素の第2の実数副要素および前記第2の出力要素の第2の虚数副要素を生成するステップとを備え、
    前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶するステップが、前記プロセッサの前記単一の実行サイクルの間に、前記第1の出力の前記第1の実数副要素、および前記第1の出力要素の前記第1の虚数副要素、および前記第2の出力要素の前記第2の実数副要素、および前記第2の出力要素の前記第2の虚数副要素を、前記出力ベクトルに記憶するステップを含む、請求項1に記載の方法。
  10. ロセッサを備える装置であって、複数の要素を含むベクトル入力を特定するベクトル命令の実行の間に、前記プロセッサが、
    第1の出力要素として前記複数の要素の第1の要素を提供し、
    前記複数の要素の前記第1の要素および第2の要素に対して第1の算術的演算を実行して、第2の出力要素を提供し、前記第1の算術的演算が加算および減算の少なくとも1つを含み、
    前記プロセッサの単一の実行サイクルの間に、前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶する
    ように構成される、装置。
  11. 前記プロセッサが、複数の算術的演算ユニット、複数の入力、および複数の出力を備える削減ツリーを備え、前記削減ツリーが、前記複数の要素の前記第1の要素、前記第2の要素、および第3の要素に対して第2の算術的演算ユニットを実行して、第3の出力要素を提供するように構成される、請求項10に記載の装置。
  12. 前記複数の算術的演算ユニットの特定の算術的演算ユニットが、前記特定の算術的演算ユニットの出力を飽和させるように構成される飽和論理回路に結合される、請求項11に記載の装置。
  13. 前記プロセッサがさらに、前記ベクトル命令に基づいて、前記複数の算術的演算ユニットの1つまたは複数の算術的演算ユニットを選択的に有効にするように構成される制御論理を備え、前記第1の出力要素および前記第2の出力要素が、前記1つまたは複数の算術的演算ユニットを介して提供される、請求項11に記載の装置。
  14. 前記第1の算術的演算が、複数の副加算器によって実行され、前記複数の副加算器の各副加算器が、前記出力ベクトルに出力要素を記憶する、請求項11に記載の装置。
  15. プロセッサによって実行されると、前記プロセッサに請求項1から9のいずか一項に記載の方法を行わせる命令を備える、非一時的コンピュータ可読記憶媒体。
JP2016534602A 2013-08-14 2014-08-04 ベクトルの算術的削減 Pending JP2016530631A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 移動平均処理プログラム、及びプロセッサ

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)