DK3552094T3 - Vektorreduktionsprocessor - Google Patents

Vektorreduktionsprocessor Download PDF

Info

Publication number
DK3552094T3
DK3552094T3 DK17829778.4T DK17829778T DK3552094T3 DK 3552094 T3 DK3552094 T3 DK 3552094T3 DK 17829778 T DK17829778 T DK 17829778T DK 3552094 T3 DK3552094 T3 DK 3552094T3
Authority
DK
Denmark
Prior art keywords
reduction processor
vector reduction
vector
processor
reduction
Prior art date
Application number
DK17829778.4T
Other languages
English (en)
Inventor
Gregory Michael Thorson
Andrew Everett Phelps
Olivier Temam
Original Assignee
Google Llc
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 Google Llc filed Critical Google Llc
Application granted granted Critical
Publication of DK3552094T3 publication Critical patent/DK3552094T3/da

Links

Classifications

    • 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
    • G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/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/38—Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
    • 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G06N3/084—Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Peptides Or Proteins (AREA)
DK17829778.4T 2017-04-03 2017-12-13 Vektorreduktionsprocessor DK3552094T3 (da)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/477,791 US10108581B1 (en) 2017-04-03 2017-04-03 Vector reduction processor
PCT/US2017/066058 WO2018186918A1 (en) 2017-04-03 2017-12-13 Vector reduction processor

Publications (1)

Publication Number Publication Date
DK3552094T3 true DK3552094T3 (da) 2022-09-19

Family

ID=60991531

Family Applications (2)

Application Number Title Priority Date Filing Date
DK22177238.7T DK4086760T3 (da) 2017-04-03 2017-12-13 Vektorreduktionsprocessor
DK17829778.4T DK3552094T3 (da) 2017-04-03 2017-12-13 Vektorreduktionsprocessor

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DK22177238.7T DK4086760T3 (da) 2017-04-03 2017-12-13 Vektorreduktionsprocessor

Country Status (9)

Country Link
US (5) US10108581B1 (da)
EP (2) EP4086760B1 (da)
JP (3) JP7055809B2 (da)
KR (3) KR102471597B1 (da)
CN (2) CN111142937B (da)
DK (2) DK4086760T3 (da)
FI (1) FI4086760T3 (da)
TW (4) TWI828502B (da)
WO (1) WO2018186918A1 (da)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936942B2 (en) 2017-11-21 2021-03-02 Google Llc Apparatus and mechanism for processing neural network tasks using a single chip package with multiple identical dies
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
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
CN110069737B (zh) * 2019-04-19 2020-08-14 北京三快在线科技有限公司 内容生成方法、装置、计算机设备及存储介质
US11216281B2 (en) * 2019-05-14 2022-01-04 International Business Machines Corporation Facilitating data processing using SIMD reduction operations across SIMD lanes
US10997116B2 (en) * 2019-08-06 2021-05-04 Microsoft Technology Licensing, Llc Tensor-based hardware accelerator including a scalar-processing unit
CN110580288B (zh) * 2019-08-23 2022-09-09 腾讯科技(深圳)有限公司 基于人工智能的文本分类方法和装置
CN111105042B (zh) * 2019-12-13 2023-07-25 广东浪潮大数据研究有限公司 一种并行消息处理方法、系统及相关装置
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
GB202202744D0 (en) * 2022-02-28 2022-04-13 Graphcore Ltd Floating point norm instruction
GB2616601B (en) * 2022-03-11 2024-05-08 Advanced Risc Mach Ltd Sub-vector-supporting instruction for scalable vector instruction set architecture
US12309070B2 (en) 2022-04-07 2025-05-20 Nvidia Corporation In-network message aggregation for efficient small message transport
US20240004647A1 (en) * 2022-07-01 2024-01-04 Andes Technology Corporation Vector processor with vector and element reduction method
US20240004662A1 (en) * 2022-07-02 2024-01-04 Intel Corporation Instructions and support for horizontal reductions
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
CN121858308B (zh) * 2026-03-19 2026-07-21 北京清微智能科技股份有限公司 一种规约操作算子的处理方法及向量处理器
CN121957912B (zh) * 2026-03-31 2026-07-10 睿思芯科(深圳)技术有限公司 向量归约指令执行系统、方法及存储介质

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839845A (en) 1986-03-31 1989-06-13 Unisys Corporation Method and apparatus for performing a vector reduction
US5423051A (en) 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
JP3334330B2 (ja) 1994-05-17 2002-10-15 日産自動車株式会社 燃料噴射弁
JPH0877142A (ja) 1994-08-31 1996-03-22 Fujitsu Ltd ベクトルプロセッサ
KR100267089B1 (ko) * 1996-08-19 2000-11-01 윤종용 스칼라/벡터연산이조합된단일명령복수데이터처리
TW361051B (en) * 1997-01-09 1999-06-11 Matsushita Electric Industrial Co Ltd Motion vector detection apparatus
JP3857614B2 (ja) 2002-06-03 2006-12-13 松下電器産業株式会社 プロセッサ
US7593978B2 (en) * 2003-05-09 2009-09-22 Sandbridge Technologies, Inc. Processor reduction unit for accumulation of multiple operands with or without saturation
US7797363B2 (en) * 2004-04-07 2010-09-14 Sandbridge Technologies, Inc. Processor having parallel vector multiply and reduce operations with sequential semantics
US20060101244A1 (en) * 2004-11-10 2006-05-11 Nvidia Corporation Multipurpose functional unit with combined integer and floating-point multiply-add pipeline
US20070074004A1 (en) 2005-09-28 2007-03-29 Arc International (Uk) Limited Systems and methods for selectively decoupling a parallel extended instruction pipeline
US8065503B2 (en) * 2006-12-15 2011-11-22 International Business Machines Corporation Iteratively processing data segments by concurrently transmitting to, processing by, and receiving from partnered process
EP1936492A1 (en) 2006-12-22 2008-06-25 Telefonaktiebolaget LM Ericsson (publ) SIMD processor with reduction unit
US7953684B2 (en) * 2007-01-31 2011-05-31 International Business Machines Corporation Method and system for optimal parallel computing performance
US20090150648A1 (en) * 2007-12-06 2009-06-11 Eric Oliver Mejdrich Vector Permute and Vector Register File Write Mask Instruction Variant State Extension for RISC Length Vector Instructions
US8131979B2 (en) * 2008-08-15 2012-03-06 Apple Inc. Check-hazard instructions for processing vectors
US8417921B2 (en) * 2008-08-15 2013-04-09 Apple Inc. Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector
JP5500652B2 (ja) 2009-02-02 2014-05-21 日本電気株式会社 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法
FR2949637B1 (fr) 2009-08-28 2011-09-23 Commissariat Energie Atomique Dispositif de calcul reconfigurable sur voisinage flexible de pixels
US8447954B2 (en) * 2009-09-04 2013-05-21 International Business Machines Corporation Parallel pipelined vector reduction in a data processing system
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US9141386B2 (en) 2010-09-24 2015-09-22 Intel Corporation Vector logical reduction operation implemented using swizzling on a semiconductor chip
US20120290819A1 (en) 2011-05-09 2012-11-15 Altera Corporation Dsp block with embedded floating point structures
US20130311530A1 (en) 2012-03-30 2013-11-21 Victor W. Lee Apparatus and method for selecting elements of a vector computation
US9342479B2 (en) * 2012-08-23 2016-05-17 Qualcomm Incorporated Systems and methods of data extraction in a vector processor
US9588766B2 (en) * 2012-09-28 2017-03-07 Intel Corporation Accelerated interlane vector reduction instructions
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
GB2519108A (en) * 2013-10-09 2015-04-15 Advanced Risc Mach Ltd A data processing apparatus and method for controlling performance of speculative vector operations
US20150143076A1 (en) 2013-11-15 2015-05-21 Qualcomm Incorporated 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
US9355061B2 (en) * 2014-01-28 2016-05-31 Arm Limited Data processing apparatus and method for performing scan operations
CN103995688B (zh) * 2014-05-30 2016-10-12 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于标签的无序矢量归约电路
US9851970B2 (en) * 2014-12-23 2017-12-26 Intel Corporation Method and apparatus for performing reduction operations on a set of vector elements
US9805303B2 (en) * 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
US10192162B2 (en) * 2015-05-21 2019-01-29 Google Llc Vector computation unit in a neural network processor
US9537530B1 (en) * 2015-06-26 2017-01-03 Intel Corporation Transceiver device and method of processing signals
US10146535B2 (en) * 2016-10-20 2018-12-04 Intel Corporatoin Systems, apparatuses, and methods for chained fused multiply add
US9959247B1 (en) * 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor

Also Published As

Publication number Publication date
JP2020513120A (ja) 2020-04-30
EP3552094B1 (en) 2022-06-29
US11940946B2 (en) 2024-03-26
KR102347374B1 (ko) 2022-01-04
TW201837703A (zh) 2018-10-16
EP4086760A1 (en) 2022-11-09
KR102471597B1 (ko) 2022-11-25
KR20210060665A (ko) 2021-05-26
TW202144999A (zh) 2021-12-01
US20190012294A1 (en) 2019-01-10
WO2018186918A1 (en) 2018-10-11
DK4086760T3 (da) 2024-06-17
TWI738042B (zh) 2021-09-01
JP7256914B2 (ja) 2023-04-12
US10108581B1 (en) 2018-10-23
CN108694055A (zh) 2018-10-23
JP7055809B2 (ja) 2022-04-18
TWI673648B (zh) 2019-10-01
US20240168914A1 (en) 2024-05-23
CN111142937A (zh) 2020-05-12
FI4086760T3 (fi) 2024-06-17
TWI828502B (zh) 2024-01-01
US20200334198A1 (en) 2020-10-22
CN111142937B (zh) 2023-11-24
US12499081B2 (en) 2025-12-16
TW201947393A (zh) 2019-12-16
EP4086760B1 (en) 2024-03-20
KR102256109B1 (ko) 2021-05-24
JP7485820B2 (ja) 2024-05-16
US11061854B2 (en) 2021-07-13
TW202318227A (zh) 2023-05-01
JP2022095817A (ja) 2022-06-28
US10706007B2 (en) 2020-07-07
JP2023085414A (ja) 2023-06-20
US20180285316A1 (en) 2018-10-04
HK1259157A1 (zh) 2019-11-29
CN108694055B (zh) 2019-12-24
EP3552094A1 (en) 2019-10-16
TWI791262B (zh) 2023-02-01
KR20190092561A (ko) 2019-08-07
KR20220003666A (ko) 2022-01-10
US20210318983A1 (en) 2021-10-14
TW202429313A (zh) 2024-07-16

Similar Documents

Publication Publication Date Title
DK4086760T3 (da) Vektorreduktionsprocessor
DK3731771T3 (da) V462033dk00
IL264683B (en) Vector multiply-add instruction
KR102609021B9 (ko) 아데노바이러스 벡터
EP3589248A4 (en) CRYOTHERAPIES
DK3108000T3 (da) Adeno-associeret virusvektor
DE202018003363U8 (de) Handgelenkssphygmomanometer
EP3634404C0 (en) PYRAZOLE-BASED MAGL INHIBITORS
EP3718392A4 (en) HARVEST MACHINE
EP3697802A4 (en) TRITERPENIC SAPONIN ANALOGUES
EP3588580A4 (en) SCHOTTKY MOS TRENCH DIODE
EP3721165C0 (en) MILITARY CHARGE
EP3654852A4 (en) TOURNIQUET
DK3568655T3 (da) Rekuperator
DK3571580T5 (da) Load-logical-and-shift-guarded-instruktion
DK3612237T3 (da) Genterapi
EP3611402A4 (en) SERVO CYLINDER
EP3615471A4 (en) PLASMA PHOTOELECTRONIC IMMUNE SENSOR
EP3669219C0 (en) NETWORK SCALE
EP3714787A4 (en) BIOSENSOR
IL267038A (en) Vector generating instruction
DK3576686T3 (da) Brokbind
IL261309B (en) Processing vector instructions
EP3704244C0 (en) VECTOR CONSTRUCTION
EP3623755A4 (en) RULER