PL4184319T3 - 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
PL4184319T3
PL4184319T3 PL22208838.7T PL22208838T PL4184319T3 PL 4184319 T3 PL4184319 T3 PL 4184319T3 PL 22208838 T PL22208838 T PL 22208838T PL 4184319 T3 PL4184319 T3 PL 4184319T3
Authority
PL
Poland
Prior art keywords
data element
element values
reduction operations
performing reduction
operations
Prior art date
Application number
PL22208838.7T
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 PL4184319T3 publication Critical patent/PL4184319T3/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3888Concurrent 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)
PL22208838.7T 2019-03-27 2020-02-20 Sposób i aparat do przeprowadzania operacji redukcji na wielości wartości elementów danych PL4184319T3 (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
PL4184319T3 true PL4184319T3 (pl) 2025-06-23

Family

ID=69804407

Family Applications (3)

Application Number Title Priority Date Filing Date
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
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

Family Applications Before (2)

Application Number Title Priority Date Filing Date
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

Country Status (7)

Country Link
US (3) US11294670B2 (pl)
EP (3) EP4184318B1 (pl)
CN (3) CN115454501A (pl)
DK (2) DK4184318T3 (pl)
ES (3) ES3027613T3 (pl)
FI (2) FI4184318T3 (pl)
PL (3) PL3716053T3 (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 (18)

* 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
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
EP2831692A1 (en) * 2012-03-30 2015-02-04 Intel Corporation Apparatus and method for selecting elements of a vector coumputation
JP6020091B2 (ja) * 2012-11-27 2016-11-02 富士通株式会社 演算処理装置の制御プログラム、演算処理装置の制御方法および演算処理装置
KR101772299B1 (ko) * 2012-12-28 2017-08-28 인텔 코포레이션 스트라이딩된 액세스 패턴을 가진 벡터 레지스터에서 성분들을 축소하기 위한 명령어
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
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
CN120803535A (zh) 2025-10-17
EP3716053B1 (en) 2024-02-28
FI4184319T3 (fi) 2025-06-02
EP4184319B1 (en) 2025-03-12
ES3027613T3 (en) 2025-06-16
ES2987569T3 (es) 2024-11-15
ES3035759T3 (en) 2025-09-08
US12536018B2 (en) 2026-01-27
CN111752606A (zh) 2020-10-09
DK4184318T3 (da) 2025-07-14
EP4184319A1 (en) 2023-05-24
EP3716053A1 (en) 2020-09-30
PL4184318T3 (pl) 2025-07-28
US11294670B2 (en) 2022-04-05
EP4184318A1 (en) 2023-05-24
CN115454501A (zh) 2022-12-09
EP4184318B1 (en) 2025-04-16
US20220229661A1 (en) 2022-07-21
DK4184319T3 (da) 2025-05-26
US20200310809A1 (en) 2020-10-01
US20230060900A1 (en) 2023-03-02
FI4184318T3 (fi) 2025-07-11
PL3716053T3 (pl) 2024-06-24

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
SG11202010728WA (en) Blockchain-based cross-chain data access method and apparatus
GB2582547B (en) Apparatus and method for assessing a characteristic of a plant
SG11202100764QA (en) Data processing method and apparatus
GB2587627B (en) Apparatus and method for generating a recording
SG11202100782WA (en) Blockchain-based cross-chain data access method and apparatus
GB2580587B (en) Downhole method and apparatus
SG11202104203PA (en) Data processing method and apparatus
SG11202101516RA (en) Blockchain-based data processing method and apparatus
IL290904A (en) A computer-based method and device for analyzing genetic information
GB201806325D0 (en) Method and data processing apparatus
SG10201910392XA (en) Method and apparatus for processing data
GB201905824D0 (en) Downhole method and apparatus
SG10201910426VA (en) Method and apparatus for processing data
SG10201906604VA (en) Information processing apparatus recording job execution history and information processing method
EP4034988A4 (en) METHOD AND APPARATUS FOR A STAGED WORKFLOW
EP4020251A4 (en) DATA PROCESSING METHOD AND ASSOCIATED APPARATUS
GB201903063D0 (en) Method and apparatus for data obfusacation
GB201918370D0 (en) Data processing method and apparatus
SG11202104382RA (en) Method and apparatus for identifying risky vertices
GB201900866D0 (en) A method, apparatus and computer program
GB201607825D0 (en) A method and apparatus for processing data