PL4184318T3 - Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych - Google Patents

Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych

Info

Publication number
PL4184318T3
PL4184318T3 PL22208833.8T PL22208833T PL4184318T3 PL 4184318 T3 PL4184318 T3 PL 4184318T3 PL 22208833 T PL22208833 T PL 22208833T PL 4184318 T3 PL4184318 T3 PL 4184318T3
Authority
PL
Poland
Prior art keywords
data element
element values
reduction operations
performing reduction
operations
Prior art date
Application number
PL22208833.8T
Other languages
English (en)
Inventor
Christopher Hughes
Jonathan Pearce
Guei-Yuan Lueh
Elmoustapha OULD-AHMED-VALL
Jorge Parra
Prasoonkumar Surti
Krishna VINOD
Ronen Zohar
Original Assignee
Intel Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corporation filed Critical Intel Corporation
Publication of PL4184318T3 publication Critical patent/PL4184318T3/pl

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/38—Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/30018—Bit or string 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/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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
    • 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
    • G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087—Synchronisation or serialisation 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/30098—Register arrangements
    • G06F9/30105—Register structure
    • G06F9/30109—Register structure having multiple operands in a single register
    • 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/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Multimedia (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
PL22208833.8T 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych PL4184318T3 (pl)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/366,155 US11294670B2 (en) 2019-03-27 2019-03-27 Method and apparatus for performing reduction operations on a plurality of associated data element values

Publications (1)

Publication Number Publication Date
PL4184318T3 true PL4184318T3 (pl) 2025-07-28

Family

ID=69804407

Family Applications (3)

Application Number Title Priority Date Filing Date
PL22208838.7T PL4184319T3 (pl) 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych
PL20158409.1T PL3716053T3 (pl) 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych
PL22208833.8T PL4184318T3 (pl) 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PL22208838.7T PL4184319T3 (pl) 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych
PL20158409.1T PL3716053T3 (pl) 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych

Country Status (7)

Country Link
US (3) US11294670B2 (pl)
EP (3) EP3716053B1 (pl)
CN (3) CN111752606A (pl)
DK (2) DK4184318T3 (pl)
ES (3) ES3035759T3 (pl)
FI (2) FI4184319T3 (pl)
PL (3) PL4184319T3 (pl)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775298B2 (en) * 2020-04-24 2023-10-03 Intel Corporation Frequency scaling for per-core accelerator assignments
US11443822B2 (en) 2020-10-29 2022-09-13 SambaNova Systems, Inc. Method and circuit for row scannable latch array
US11449404B1 (en) 2021-07-09 2022-09-20 SambaNova Systems, Inc. Built-in self-test for processor unit with combined memory and logic
CN113987589B (zh) * 2021-12-27 2022-03-18 飞天诚信科技股份有限公司 一种处理数据的方法、装置、计算机可读存储介质及装置
CN114546329B (zh) * 2022-03-01 2023-07-18 上海壁仞智能科技有限公司 用于实现数据奇偶重排的方法、设备和介质
CN117289991B (zh) 2022-06-14 2025-09-12 北京有竹居网络技术有限公司 处理器以及用于数据处理的方法、设备和存储介质
US20240004647A1 (en) * 2022-07-01 2024-01-04 Andes Technology Corporation Vector processor with vector and element reduction method
CN114840255B (zh) * 2022-07-04 2022-09-27 飞腾信息技术有限公司 处理数据的方法、装置及设备可读存储介质
US12530197B2 (en) * 2023-03-08 2026-01-20 SiFive, Inc. Vector instruction processing after primary decode
CN116342371B (zh) * 2023-03-24 2024-05-24 摩尔线程智能科技(北京)有限责任公司 用于gpu、二级缓存的方法和gpu、二级缓存
CN116700790B (zh) * 2023-05-09 2025-07-08 上海壁仞科技股份有限公司 数据处理装置、寄存器的管理方法和机器可读存储介质
CN116560817B (zh) * 2023-05-29 2024-05-07 北京百度网讯科技有限公司 任务执行方法、装置、电子设备和存储介质
US20250208878A1 (en) * 2023-12-20 2025-06-26 Advanced Micro Devices, Inc. Accumulation apertures
US20250217313A1 (en) * 2023-12-27 2025-07-03 Arm Limited Reduce interpolation operations

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675376B2 (en) * 2000-12-29 2004-01-06 Intel Corporation System and method for fusing instructions
US8381203B1 (en) * 2006-11-03 2013-02-19 Nvidia Corporation Insertion of multithreaded execution synchronization points in a software program
US7877571B2 (en) * 2007-11-20 2011-01-25 Qualcomm, Incorporated System and method of determining an address of an element within a table
US8392669B1 (en) * 2008-03-24 2013-03-05 Nvidia Corporation Systems and methods for coalescing memory accesses of parallel threads
US8200947B1 (en) * 2008-03-24 2012-06-12 Nvidia Corporation Systems and methods for voting among parallel threads
US8200940B1 (en) * 2008-06-30 2012-06-12 Nvidia Corporation Reduction operations in a synchronous parallel thread processing system with disabled execution threads
US8539204B2 (en) * 2009-09-25 2013-09-17 Nvidia Corporation Cooperative thread array reduction and scan operations
US9830156B2 (en) * 2011-08-12 2017-11-28 Nvidia Corporation Temporal SIMT execution optimization through elimination of redundant operations
CN104040489B (zh) * 2011-12-23 2016-11-23 英特尔公司 多寄存器收集指令
US20130311530A1 (en) * 2012-03-30 2013-11-21 Victor W. Lee Apparatus and method for selecting elements of a vector computation
JP6020091B2 (ja) * 2012-11-27 2016-11-02 富士通株式会社 演算処理装置の制御プログラム、演算処理装置の制御方法および演算処理装置
DE112012007088B4 (de) * 2012-12-28 2024-04-25 Intel Corporation Vorrichtung, verfahren und system mit einem befehl zum reduzieren von elementen in einem vektorregister mit einem schrittweisem zugriffsmuster
US20150052330A1 (en) * 2013-08-14 2015-02-19 Qualcomm Incorporated Vector arithmetic reduction
US9851970B2 (en) * 2014-12-23 2017-12-26 Intel Corporation Method and apparatus for performing reduction operations on a set of vector elements
US11544214B2 (en) * 2015-02-02 2023-01-03 Optimum Semiconductor Technologies, Inc. Monolithic vector processor configured to operate on variable length vectors using a vector length register
US20170168819A1 (en) * 2015-12-15 2017-06-15 Intel Corporation Instruction and logic for partial reduction operations
US10089077B1 (en) * 2017-01-10 2018-10-02 Apple Inc. Parallel processing circuitry for encoded fields of related threads
US10108581B1 (en) 2017-04-03 2018-10-23 Google Llc Vector reduction processor
US10310895B2 (en) * 2017-04-21 2019-06-04 Intel Corporation Memory-based software barriers
US10338919B2 (en) * 2017-05-08 2019-07-02 Nvidia Corporation Generalized acceleration of matrix multiply accumulate operations
US11216281B2 (en) * 2019-05-14 2022-01-04 International Business Machines Corporation Facilitating data processing using SIMD reduction operations across SIMD lanes

Also Published As

Publication number Publication date
ES3035759T3 (en) 2025-09-08
EP4184318A1 (en) 2023-05-24
US20200310809A1 (en) 2020-10-01
FI4184318T3 (fi) 2025-07-11
DK4184319T3 (da) 2025-05-26
US20220229661A1 (en) 2022-07-21
US20230060900A1 (en) 2023-03-02
PL3716053T3 (pl) 2024-06-24
DK4184318T3 (da) 2025-07-14
PL4184319T3 (pl) 2025-06-23
EP3716053A1 (en) 2020-09-30
FI4184319T3 (fi) 2025-06-02
ES3027613T3 (en) 2025-06-16
CN120803535A (zh) 2025-10-17
EP4184318B1 (en) 2025-04-16
EP4184319B1 (en) 2025-03-12
ES2987569T3 (es) 2024-11-15
US12536018B2 (en) 2026-01-27
EP4184319A1 (en) 2023-05-24
CN111752606A (zh) 2020-10-09
US11294670B2 (en) 2022-04-05
CN115454501A (zh) 2022-12-09
EP3716053B1 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
PL4184319T3 (pl) Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych
SG11202010727YA (en) Blockchain-based cross-chain data operation method and apparatus
SG11202004641PA (en) Blockchain-based data migration method and apparatus
SG11202100822YA (en) Data Processing Method And Apparatus
GB2582547B (en) Apparatus and method for assessing a characteristic of a plant
SG11202010728WA (en) Blockchain-based cross-chain data access method and apparatus
SG11202100764QA (en) Data processing method and apparatus
GB2587627B (en) Apparatus and method for generating a recording
IL290904A (en) A computer-based method and device for analyzing genetic information
SG11202104203PA (en) Data processing method and apparatus
SG11202100782WA (en) Blockchain-based cross-chain data access method and apparatus
GB2580587B (en) Downhole method and apparatus
SG10201910392XA (en) Method and apparatus for processing data
SG10201906604VA (en) Information processing apparatus recording job execution history and information processing method
GB201808904D0 (en) Apparatus and method for analysing MRI data
GB201918370D0 (en) Data processing method and apparatus
EP4020251A4 (en) DATA PROCESSING METHOD AND ASSOCIATED APPARATUS
EP3992808A4 (en) DATA PROCESSING METHOD AND ASSOCIATED APPARATUS
GB201903063D0 (en) Method and apparatus for data obfusacation
SG11202101201UA (en) A method and system for securing data
SG11202104382RA (en) Method and apparatus for identifying risky vertices
GB201607825D0 (en) A method and apparatus for processing data
GB201812134D0 (en) An apparatus, method and computer program for representing a sound space
GB2578497B (en) Apparatus and method for communicating data in a multi-tennant computer system
GB201900866D0 (en) A method, apparatus and computer program