CN105723332A - 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 - Google Patents
在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 Download PDFInfo
- Publication number
- CN105723332A CN105723332A CN201480062437.6A CN201480062437A CN105723332A CN 105723332 A CN105723332 A CN 105723332A CN 201480062437 A CN201480062437 A CN 201480062437A CN 105723332 A CN105723332 A CN 105723332A
- Authority
- CN
- China
- Prior art keywords
- vector data
- vector
- data samples
- input
- result 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/8053—Vector processors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
- G06F9/38873—Iterative single instructions for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/082,067 | 2013-11-15 | ||
| US14/082,067 US20150143076A1 (en) | 2013-11-15 | 2013-11-15 | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS |
| PCT/US2014/064677 WO2015073333A1 (en) | 2013-11-15 | 2014-11-07 | Vector processing engine employing despreading circuitry in data flow paths between execution units and vector data memory, and related method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN105723332A true CN105723332A (zh) | 2016-06-29 |
Family
ID=52023612
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480062437.6A Pending CN105723332A (zh) | 2013-11-15 | 2014-11-07 | 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20150143076A1 (enExample) |
| EP (1) | EP3069236A1 (enExample) |
| JP (1) | JP2016537725A (enExample) |
| KR (1) | KR20160085336A (enExample) |
| CN (1) | CN105723332A (enExample) |
| WO (1) | WO2015073333A1 (enExample) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105940374A (zh) * | 2014-01-31 | 2016-09-14 | 高通股份有限公司 | 用于向量处理器上的融合耙指操作的指令和方法 |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9495154B2 (en) | 2013-03-13 | 2016-11-15 | Qualcomm Incorporated | Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods |
| US9792118B2 (en) | 2013-11-15 | 2017-10-17 | Qualcomm Incorporated | Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods |
| US9880845B2 (en) | 2013-11-15 | 2018-01-30 | Qualcomm Incorporated | Vector processing engines (VPEs) employing format conversion circuitry in data flow paths between vector data memory and execution units to provide in-flight format-converting of input vector data to execution units for vector processing operations, and related vector processor systems and methods |
| US9619227B2 (en) | 2013-11-15 | 2017-04-11 | Qualcomm Incorporated | Vector processing engines (VPEs) employing tapped-delay line(s) for providing precision correlation / covariance vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods |
| US9977676B2 (en) | 2013-11-15 | 2018-05-22 | Qualcomm Incorporated | Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods |
| US9684509B2 (en) | 2013-11-15 | 2017-06-20 | Qualcomm Incorporated | Vector processing engines (VPEs) employing merging circuitry in data flow paths between execution units and vector data memory to provide in-flight merging of output vector data stored to vector data memory, and related vector processing instructions, systems, and methods |
| US10108581B1 (en) | 2017-04-03 | 2018-10-23 | Google Llc | Vector reduction processor |
| US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
| US20200106828A1 (en) * | 2018-10-02 | 2020-04-02 | Mellanox Technologies, Ltd. | Parallel Computation Network Device |
| US11625393B2 (en) | 2019-02-19 | 2023-04-11 | Mellanox Technologies, Ltd. | High performance computing system |
| EP3699770B1 (en) | 2019-02-25 | 2025-05-21 | Mellanox Technologies, Ltd. | Collective communication system and methods |
| US11750699B2 (en) | 2020-01-15 | 2023-09-05 | Mellanox Technologies, Ltd. | Small message aggregation |
| US11252027B2 (en) | 2020-01-23 | 2022-02-15 | Mellanox Technologies, Ltd. | Network element supporting flexible data reduction operations |
| US11876885B2 (en) | 2020-07-02 | 2024-01-16 | Mellanox Technologies, Ltd. | Clock queue with arming and/or self-arming features |
| US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
| US12313774B2 (en) * | 2022-03-23 | 2025-05-27 | Nxp B.V. | Direction of arrival (DOA) estimation using circular convolutional network |
| US12309070B2 (en) | 2022-04-07 | 2025-05-20 | Nvidia Corporation | In-network message aggregation for efficient small message transport |
| US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
| US12489657B2 (en) | 2023-08-17 | 2025-12-02 | Mellanox Technologies, Ltd. | In-network compute operation spreading |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020002572A1 (en) * | 2000-06-12 | 2002-01-03 | Masami Kanasugi | Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter |
| CN1375126A (zh) * | 1999-06-30 | 2002-10-16 | 艾利森公司 | 利用预先计算的降低功率的匹配滤波器 |
| US6470000B1 (en) * | 1998-10-14 | 2002-10-22 | Agere Systems Guardian Corp. | Shared correlator system and method for direct-sequence CDMA demodulation |
| CN1666187A (zh) * | 2002-06-28 | 2005-09-07 | 摩托罗拉公司 | 可重配置的流型矢量处理器 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6141376A (en) * | 1997-04-01 | 2000-10-31 | Lsi Logic Corporation | Single chip communication device that implements multiple simultaneous communication channels |
| US7173919B1 (en) * | 1999-06-11 | 2007-02-06 | Texas Instruments Incorporated | Random access preamble coding for initiation of wireless mobile communications sessions |
| US6934319B2 (en) * | 1999-12-30 | 2005-08-23 | Infineon Technologies Ag | Configurable multimode despreader for spread spectrum applications |
| US7103095B2 (en) * | 2000-03-06 | 2006-09-05 | Texas Instruments Incorporated | Spread spectrum code correlator |
| US6959065B2 (en) * | 2001-04-20 | 2005-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Reduction of linear interference canceling scheme |
| US7209461B2 (en) * | 2001-05-09 | 2007-04-24 | Qualcomm Incorporated | Method and apparatus for chip-rate processing in a CDMA system |
| US6922716B2 (en) * | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
| US7738533B2 (en) * | 2002-01-07 | 2010-06-15 | Qualcomm Incorporated | Multiplexed CDMA and GPS searching |
| US20040062298A1 (en) * | 2002-10-01 | 2004-04-01 | Mcdonough John G. | System and method for detecting direct sequence spread spectrum signals using pipelined vector processing |
| US7139900B2 (en) * | 2003-06-23 | 2006-11-21 | Intel Corporation | Data packet arithmetic logic devices and methods |
| JP4512821B2 (ja) * | 2004-09-08 | 2010-07-28 | 国立大学法人電気通信大学 | 通信システム |
| JP4543846B2 (ja) * | 2004-09-14 | 2010-09-15 | ソニー株式会社 | 無線通信装置、並びに伝送路測定装置 |
| US7299342B2 (en) * | 2005-05-24 | 2007-11-20 | Coresonic Ab | Complex vector executing clustered SIMD micro-architecture DSP with accelerator coupled complex ALU paths each further including short multiplier/accumulator using two's complement |
| TWI326189B (en) * | 2006-05-19 | 2010-06-11 | Novatek Microelectronics Corp | Method and apparatus for suppressing cross-color in a video display device |
| GB2464292A (en) * | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
| WO2012111053A1 (ja) * | 2011-02-15 | 2012-08-23 | 日本電気株式会社 | 複素演算処理用コプロセッサ及びプロセッサシステム |
-
2013
- 2013-11-15 US US14/082,067 patent/US20150143076A1/en not_active Abandoned
-
2014
- 2014-11-07 KR KR1020167015684A patent/KR20160085336A/ko not_active Withdrawn
- 2014-11-07 JP JP2016531024A patent/JP2016537725A/ja active Pending
- 2014-11-07 EP EP14812019.9A patent/EP3069236A1/en not_active Withdrawn
- 2014-11-07 WO PCT/US2014/064677 patent/WO2015073333A1/en not_active Ceased
- 2014-11-07 CN CN201480062437.6A patent/CN105723332A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6470000B1 (en) * | 1998-10-14 | 2002-10-22 | Agere Systems Guardian Corp. | Shared correlator system and method for direct-sequence CDMA demodulation |
| CN1375126A (zh) * | 1999-06-30 | 2002-10-16 | 艾利森公司 | 利用预先计算的降低功率的匹配滤波器 |
| US20020002572A1 (en) * | 2000-06-12 | 2002-01-03 | Masami Kanasugi | Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter |
| CN1666187A (zh) * | 2002-06-28 | 2005-09-07 | 摩托罗拉公司 | 可重配置的流型矢量处理器 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105940374A (zh) * | 2014-01-31 | 2016-09-14 | 高通股份有限公司 | 用于向量处理器上的融合耙指操作的指令和方法 |
| CN105940374B (zh) * | 2014-01-31 | 2019-03-05 | 高通股份有限公司 | 用于向量处理器上的融合耙指操作的指令和方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016537725A (ja) | 2016-12-01 |
| WO2015073333A1 (en) | 2015-05-21 |
| US20150143076A1 (en) | 2015-05-21 |
| KR20160085336A (ko) | 2016-07-15 |
| EP3069236A1 (en) | 2016-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105765523B (zh) | 在向量数据存储器与执行单元之间的数据流路径中采用重排序电路系统的向量处理引擎以及相关的方法 | |
| CN105723333B (zh) | 在执行单元与向量数据存储器之间具有合并电路系统的向量处理引擎以及相关的方法 | |
| US9792118B2 (en) | Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods | |
| CN105723328A (zh) | 在向量数据存储器与执行单元之间的数据流路径中采用格式转换电路系统的向量处理引擎和相关方法 | |
| CN105723332A (zh) | 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 | |
| CN105723330A (zh) | 采用抽头延迟线进行相关向量处理操作的向量处理引擎(vpe)、以及相关向量处理器系统和方法 | |
| CN104969215B (zh) | 具有用于提供蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法 | |
| EP2972968B1 (en) | Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20190326 |
|
| AD01 | Patent right deemed abandoned |