DK3779680T3 - Permutation i en matrix-vektor-processor - Google Patents

Permutation i en matrix-vektor-processor Download PDF

Info

Publication number
DK3779680T3
DK3779680T3 DK20196607.4T DK20196607T DK3779680T3 DK 3779680 T3 DK3779680 T3 DK 3779680T3 DK 20196607 T DK20196607 T DK 20196607T DK 3779680 T3 DK3779680 T3 DK 3779680T3
Authority
DK
Denmark
Prior art keywords
permutation
matrix
vector processor
vector
processor
Prior art date
Application number
DK20196607.4T
Other languages
English (en)
Inventor
Dong Hyuk Woo
Gregory Michael Thorson
Andrew Everett Phelps
Olivier Temam
Jonathan Ross
Christopher Aaron Clark
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 DK3779680T3 publication Critical patent/DK3779680T3/da

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
DK20196607.4T 2017-02-17 2018-02-19 Permutation i en matrix-vektor-processor DK3779680T3 (da)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762460394P 2017-02-17 2017-02-17
US15/496,418 US9959247B1 (en) 2017-02-17 2017-04-25 Permuting in a matrix-vector processor
EP18157351.0A EP3364291B1 (en) 2017-02-17 2018-02-19 Permuting in a matrix-vector processor

Publications (1)

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

Family

ID=62013738

Family Applications (2)

Application Number Title Priority Date Filing Date
DK20196607.4T DK3779680T3 (da) 2017-02-17 2018-02-19 Permutation i en matrix-vektor-processor
DK18157351.0T DK3364291T3 (da) 2017-02-17 2018-02-19 Permutation i en matrix-vektor-processor

Family Applications After (1)

Application Number Title Priority Date Filing Date
DK18157351.0T DK3364291T3 (da) 2017-02-17 2018-02-19 Permutation i en matrix-vektor-processor

Country Status (7)

Country Link
US (7) US9959247B1 (da)
EP (2) EP3779680B1 (da)
CN (2) CN108459995B (da)
DE (2) DE102018103598A1 (da)
DK (2) DK3779680T3 (da)
TW (3) TWI729419B (da)
WO (1) WO2018151803A1 (da)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606803B2 (en) * 2013-07-15 2017-03-28 Texas Instruments Incorporated Highly integrated scalable, flexible DSP megamodule architecture
US9959247B1 (en) 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor
CN108287858B (zh) * 2017-03-02 2021-08-10 腾讯科技(深圳)有限公司 自然语言的语义提取方法及装置
US10108581B1 (en) 2017-04-03 2018-10-23 Google Llc Vector reduction processor
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
US11086817B2 (en) * 2017-09-28 2021-08-10 Intel Corporation Systolic similarity estimation with two-dimensional sliding window
US10657369B1 (en) * 2017-10-27 2020-05-19 Intuit, Inc. Unsupervised removal of text from images using linear programming for optimal filter design
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
US10503477B2 (en) * 2017-12-08 2019-12-10 Exten Technologies, Inc. Galois field pipelined multiplier with polynomial and beta input passing scheme
US10599429B2 (en) * 2018-06-08 2020-03-24 Intel Corporation Variable format, variable sparsity matrix multiplication instruction
US10908906B2 (en) * 2018-06-29 2021-02-02 Intel Corporation Apparatus and method for a tensor permutation engine
US12340300B1 (en) 2018-09-14 2025-06-24 Groq, Inc. Streaming processor architecture
US11455370B2 (en) * 2018-11-19 2022-09-27 Groq, Inc. Flattened input stream generation for convolution with expanded kernel
CN111338974B (zh) * 2018-12-19 2025-05-16 超威半导体公司 用于矩阵数学指令集的图块化算法
US20200210188A1 (en) * 2018-12-27 2020-07-02 Intel Corporation Systems and methods for performing matrix row- and column-wise permute instructions
CN120729301A (zh) * 2019-02-26 2025-09-30 杭州知存算力科技有限公司 一种存算一体芯片中数模转换电路与模数转换电路复用装置
WO2021061329A1 (en) * 2019-09-24 2021-04-01 Alibaba Group Holding Limited Apparatus and system for execution of neural network
US11714875B2 (en) 2019-12-28 2023-08-01 Intel Corporation Apparatuses, methods, and systems for instructions of a matrix operations accelerator
GB2590521B (en) * 2020-06-18 2022-02-23 Imagination Tech Ltd Multiplexing between different processing channels
US12112167B2 (en) 2020-06-27 2024-10-08 Intel Corporation Matrix data scatter and gather between rows and irregularly spaced memory locations
US20220197974A1 (en) * 2020-12-22 2022-06-23 Intel Corporation Processors, methods, systems, and instructions to select and store data elements from two source two-dimensional arrays indicated by permute control elements in a result two-dimensional array
US12474928B2 (en) 2020-12-22 2025-11-18 Intel Corporation Processors, methods, systems, and instructions to select and store data elements from strided data element positions in a first dimension from three source two-dimensional arrays in a result two-dimensional array
TWI814618B (zh) * 2022-10-20 2023-09-01 創鑫智慧股份有限公司 矩陣運算裝置及其操作方法
CN116366858A (zh) * 2023-03-03 2023-06-30 阿里巴巴(中国)有限公司 转置电路、电子元件及电子设备
US20240403052A1 (en) * 2023-06-05 2024-12-05 Arm Limited Indexed vector permutation operations

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1021670A (en) 1911-07-06 1912-03-26 John H Garey Pop-cooler.
US4495598A (en) * 1982-09-29 1985-01-22 Mcdonnell Douglas Corporation Computer rotate function
US4653019A (en) 1984-04-19 1987-03-24 Concurrent Computer Corporation High speed barrel shifter
JPS6238075A (ja) * 1985-08-13 1987-02-19 Fuji Xerox Co Ltd 行列デ−タの転置処理装置
JPS63225822A (ja) 1986-08-11 1988-09-20 Toshiba Corp バレルシフタ
US4782457A (en) 1986-08-18 1988-11-01 Texas Instruments Incorporated Barrel shifter using bit reversers and having automatic normalization
JPS6382513A (ja) 1986-09-26 1988-04-13 Toshiba Corp バレルシフタ
JPS6386024A (ja) 1986-09-30 1988-04-16 Toshiba Corp バレルシフタ
JPS6398729A (ja) 1986-10-15 1988-04-30 Fujitsu Ltd バレルシフタ
US5073864A (en) * 1987-02-10 1991-12-17 Davin Computer Corporation Parallel string processor and method for a minicomputer
DE3889812T2 (de) 1987-08-28 1994-12-15 Nippon Electric Co Datenprozessor mit einer Prüfstruktur für Multipositionsverschieber.
JPH087668B2 (ja) 1990-02-07 1996-01-29 株式会社東芝 ダイナミックバレルシフタ
JPH03248226A (ja) 1990-02-26 1991-11-06 Nec Corp マイクロプロセッサ
JP2556612B2 (ja) 1990-08-29 1996-11-20 日本電気アイシーマイコンシステム株式会社 バレルシフタ回路
DE69328419T2 (de) 1992-01-09 2001-01-04 Oki Electric Industry Co., Ltd. Trommelverschiebevorrichtung.
US5471628A (en) 1992-06-30 1995-11-28 International Business Machines Corporation Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
JPH07200252A (ja) 1993-12-28 1995-08-04 Nec Corp バレルシフタ回路
US5465222A (en) 1994-02-14 1995-11-07 Tektronix, Inc. Barrel shifter or multiply/divide IC structure
EP2302805B1 (en) 1995-02-01 2012-08-22 Sony Corporation Multi-channel transmission with interleaving through in-place addressing of RAM memory
US5652718A (en) 1995-05-26 1997-07-29 National Semiconductor Corporation Barrel shifter
KR0170722B1 (ko) 1995-12-29 1999-03-30 김광호 고속 배럴쉬프터
US5696803A (en) 1996-08-07 1997-12-09 Motorola, Inc. Barrel shifter and method of making same
JP3378444B2 (ja) * 1996-08-08 2003-02-17 株式会社東芝 シフト回路
US5941937A (en) 1996-10-29 1999-08-24 Matsushita Electric Industrial Co., Ltd. Layout structure for barrel shifter with decode circuit
US5941938A (en) * 1996-12-02 1999-08-24 Compaq Computer Corp. System and method for performing an accumulate operation on one or more operands within a partitioned register
US6078937A (en) 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US6041404A (en) 1998-03-31 2000-03-21 Intel Corporation Dual function system and method for shuffling packed data elements
US6304956B1 (en) 1999-03-25 2001-10-16 Rise Technology Company Using two barrel shifters to implement shift, rotate, rotate with carry, and shift double as specified by the X86 architecture
US6314156B1 (en) 2000-03-02 2001-11-06 Compaq Computer Corporation Space-efficient multi-cycle barrel shifter circuit
US7155601B2 (en) 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
US7237097B2 (en) 2001-02-21 2007-06-26 Mips Technologies, Inc. Partial bitwise permutations
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US6877019B2 (en) 2002-01-08 2005-04-05 3Dsp Corporation Barrel shifter
US20130212355A1 (en) * 2002-02-04 2013-08-15 Tibet MIMAR Conditional vector mapping in a SIMD processor
US7392368B2 (en) * 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
WO2004015563A1 (en) * 2002-08-09 2004-02-19 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions
GB2394571B (en) 2002-10-23 2005-08-10 Motorola Inc Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors
US7042248B1 (en) 2003-06-03 2006-05-09 Altera Corporation Dedicated crossbar and barrel shifter block on programmable logic resources
US8719837B2 (en) 2004-05-19 2014-05-06 Synopsys, Inc. Microprocessor architecture having extendible logic
JP2008513903A (ja) 2004-09-21 2008-05-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シャッフル演算のためのマイクロプロセッサデバイス及び方法
US7933405B2 (en) 2005-04-08 2011-04-26 Icera Inc. Data access and permute unit
US7783690B2 (en) 2005-07-07 2010-08-24 International Business Machines Corporation Electronic circuit for implementing a permutation operation
US7464255B1 (en) 2005-07-28 2008-12-09 Advanced Micro Devices, Inc. Using a shuffle unit to implement shift operations in a processor
US8082526B2 (en) 2006-03-08 2011-12-20 Altera Corporation Dedicated crossbar and barrel shifter block on programmable logic resources
US7518400B1 (en) 2006-03-08 2009-04-14 Tabula, Inc. Barrel shifter implemented on a configurable integrated circuit
US7761694B2 (en) 2006-06-30 2010-07-20 Intel Corporation Execution unit for performing shuffle and other operations
CN100495388C (zh) * 2006-10-10 2009-06-03 深圳市理邦精密仪器有限公司 一种利用空间坐标转换实现信号分离的信号处理方法
US7783860B2 (en) * 2007-07-31 2010-08-24 International Business Machines Corporation Load misaligned vector with permute and mask insert
US8270558B2 (en) 2007-09-10 2012-09-18 St-Ericsson Sa Electronic device, barrel shifter unit and method of barrel shifting
US20090172348A1 (en) * 2007-12-26 2009-07-02 Robert Cavin Methods, apparatus, and instructions for processing vector data
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits
GB2456775B (en) 2008-01-22 2012-10-31 Advanced Risc Mach Ltd Apparatus and method for performing permutation operations on data
CN101588182A (zh) * 2008-05-19 2009-11-25 华为技术有限公司 矢量规整的方法及装置和矢量规整的解码方法及装置
WO2009144681A1 (en) 2008-05-30 2009-12-03 Nxp B.V. Vector shuffle with write enable
US8291002B2 (en) 2009-06-01 2012-10-16 Arm Limited Barrel shifter
US9058301B2 (en) 2009-06-16 2015-06-16 International Business Machines Corporation Efficient transfer of matrices for matrix based operations
US20110264723A1 (en) * 2010-04-21 2011-10-27 Samsung Electronics Co., Ltd. System and method for successive matrix transposes
WO2013095606A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Apparatus and method for detecting identical elements within a vector register
CN114721721A (zh) 2011-12-23 2022-07-08 英特尔公司 用于混洗浮点或整数值的装置和方法
US8707123B2 (en) 2011-12-30 2014-04-22 Lsi Corporation Variable barrel shifter
KR101977823B1 (ko) 2012-04-02 2019-05-13 삼성전자주식회사 랜덤 순열 생성 방법, 랜덤 순열 생성 장치 및 이를 구비하는 암복호화 장치
CN103199873B (zh) * 2013-04-23 2016-03-30 常熟理工学院 两级分块crc运算的快速配置方法
US8713399B1 (en) 2013-10-10 2014-04-29 Antcor S.A. Reconfigurable barrel shifter and rotator
KR102122406B1 (ko) 2013-11-06 2020-06-12 삼성전자주식회사 셔플 명령어 처리 장치 및 방법
PT3111560T (pt) * 2014-02-27 2021-07-08 Ericsson Telefon Ab L M Método e aparelho para indexação e desindexação de quantificação vetorial em pirâmide de vetores de amostra de áudio/vídeo
EP3001307B1 (en) 2014-09-25 2019-11-13 Intel Corporation Bit shuffle processors, methods, systems, and instructions
US10296489B2 (en) 2014-12-27 2019-05-21 Intel Corporation Method and apparatus for performing a vector bit shuffle
US9805303B2 (en) * 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
GB2561674A (en) * 2017-02-17 2018-10-24 Google Llc Permuting in a matrix-vector processor
US9959247B1 (en) 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor
CN110020404B (zh) * 2019-04-10 2023-03-21 自然资源部第二海洋研究所 一种角度约束的遥感反演流场的矢量数据处理方法

Also Published As

Publication number Publication date
US20210312011A1 (en) 2021-10-07
EP3779680B1 (en) 2022-06-22
DK3364291T3 (da) 2020-12-14
US20180253403A1 (en) 2018-09-06
CN111324859B (zh) 2023-09-05
DE202018100904U1 (de) 2018-06-11
US10592583B2 (en) 2020-03-17
US20190258694A1 (en) 2019-08-22
US20190354570A1 (en) 2019-11-21
TWI640921B (zh) 2018-11-11
US10956537B2 (en) 2021-03-23
EP3364291A1 (en) 2018-08-22
TWI666650B (zh) 2019-07-21
US9959247B1 (en) 2018-05-01
US12339923B2 (en) 2025-06-24
TWI729419B (zh) 2021-06-01
WO2018151803A1 (en) 2018-08-23
CN108459995A (zh) 2018-08-28
EP3364291B1 (en) 2020-10-28
EP3779680A1 (en) 2021-02-17
US10216705B2 (en) 2019-02-26
US11748443B2 (en) 2023-09-05
CN111324859A (zh) 2020-06-23
TW201907397A (zh) 2019-02-16
TW201947587A (zh) 2019-12-16
US20240211534A1 (en) 2024-06-27
US20200301996A1 (en) 2020-09-24
DE102018103598A1 (de) 2018-08-23
US10614151B2 (en) 2020-04-07
TW201833766A (zh) 2018-09-16
CN108459995B (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
DK3779680T3 (da) Permutation i en matrix-vektor-processor
DK3916589T3 (da) Transponering i en matrix-vektor-processor
DK3667475T3 (da) Buet berøringsapparat
EP3642999A4 (en) SECURE DATA PROCESSING
DK3298545T3 (da) Vektorbehandlingsenhed i en processor til et neuralt netværk
DK3298547T3 (da) Gruppebehandling i en processor til et neuralt netværk
IL250297A0 (en) Apparatus to assist a user with holding a mobile device
EP3407202A4 (en) Matrix calculation apparatus
EP3389545A4 (en) DENTAL DEVICE
DK3637860T3 (da) Brugeranordning
UA33635S (uk) Обчислювальний пристрій
UA35669S (uk) Обчислювальний пристрій
EP3640854C0 (en) IMPROVEMENTS FOR COUNTING DEVICES
DK3451818T3 (da) Forarbejdningsenhed
FR3043488B1 (fr) Cam reconfigurable
UA35906S (uk) Обчислювальний пристрій
EP3581049A4 (en) GLOVE STRUCTURE
EP3621365A4 (en) USER DEVICE
SE1651579A1 (sv) A screw-retaining device
DK3220057T3 (da) Flammesimuleringsenhed
EP3428606A4 (en) SIMULATION PROGRAM
ITUA20163046A1 (it) dispositivo spaziatore modulare
GB201802586D0 (en) Permuting in a matrix-vector processor
DK3301696T3 (da) Omskifterenhed og hus
EP3531252A4 (en) KEYBOARD TYPE DEVICE