CN113330421B - 点积计算器及其操作方法 - Google Patents

点积计算器及其操作方法 Download PDF

Info

Publication number
CN113330421B
CN113330421B CN201980088183.8A CN201980088183A CN113330421B CN 113330421 B CN113330421 B CN 113330421B CN 201980088183 A CN201980088183 A CN 201980088183A CN 113330421 B CN113330421 B CN 113330421B
Authority
CN
China
Prior art keywords
vector
value
product
mask
binary
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.)
Active
Application number
CN201980088183.8A
Other languages
English (en)
Chinese (zh)
Other versions
CN113330421A (zh
Inventor
F·康纳
D·伯纳德
N·汉拉恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Movidius Ltd Netherland
Original Assignee
Movidius Ltd Netherland
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 Movidius Ltd Netherland filed Critical Movidius Ltd Netherland
Publication of CN113330421A publication Critical patent/CN113330421A/zh
Application granted granted Critical
Publication of CN113330421B publication Critical patent/CN113330421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
CN201980088183.8A 2018-11-08 2019-11-04 点积计算器及其操作方法 Active CN113330421B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/184,985 2018-11-08
US16/184,985 US10768895B2 (en) 2018-11-08 2018-11-08 Dot product calculators and methods of operating the same
PCT/EP2019/080136 WO2020094586A1 (en) 2018-11-08 2019-11-04 Dot product calculators and methods of operating the same

Publications (2)

Publication Number Publication Date
CN113330421A CN113330421A (zh) 2021-08-31
CN113330421B true CN113330421B (zh) 2024-01-16

Family

ID=68461801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980088183.8A Active CN113330421B (zh) 2018-11-08 2019-11-04 点积计算器及其操作方法

Country Status (7)

Country Link
US (3) US10768895B2 (https=)
EP (1) EP3877839A1 (https=)
JP (1) JP2022506345A (https=)
KR (1) KR20210092751A (https=)
CN (1) CN113330421B (https=)
DE (1) DE112019005586T5 (https=)
WO (1) WO2020094586A1 (https=)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169809B2 (en) * 2017-03-31 2021-11-09 Intel Corporation Method and apparatus for converting scatter control elements to gather control elements used to sort vector data elements
US10409614B2 (en) 2017-04-24 2019-09-10 Intel Corporation Instructions having support for floating point and integer data types in the same register
US10474458B2 (en) 2017-04-28 2019-11-12 Intel Corporation Instructions and logic to perform floating-point and integer operations for machine learning
CN110770722B (zh) * 2017-06-29 2023-08-18 北京清影机器视觉技术有限公司 二维数据匹配方法、装置和逻辑电路
US10768895B2 (en) 2018-11-08 2020-09-08 Movidius Limited Dot product calculators and methods of operating the same
US12182035B2 (en) 2019-03-15 2024-12-31 Intel Corporation Systems and methods for cache optimization
US11934342B2 (en) 2019-03-15 2024-03-19 Intel Corporation Assistance for hardware prefetch in cache access
WO2020190807A1 (en) * 2019-03-15 2020-09-24 Intel Corporation Systolic disaggregation within a matrix accelerator architecture
PL3938914T3 (pl) 2019-03-15 2025-03-31 Intel Corporation Dynamiczna rekonfiguracja pamięci
US12131251B2 (en) * 2019-03-19 2024-10-29 Cirrus Logic Inc. Neurons for artificial neural networks
WO2020218157A1 (ja) * 2019-04-25 2020-10-29 国立大学法人静岡大学 予測システム、予測方法、および予測プログラム
US11741349B2 (en) * 2019-10-31 2023-08-29 Arm Limited Performing matrix-vector multiply operations for neural networks on electronic devices
US11861761B2 (en) 2019-11-15 2024-01-02 Intel Corporation Graphics processing unit processing and caching improvements
US11663746B2 (en) 2019-11-15 2023-05-30 Intel Corporation Systolic arithmetic on sparse data
US11500680B2 (en) * 2020-04-24 2022-11-15 Alibaba Group Holding Limited Systolic array-friendly data placement and control based on masked write
US20220405571A1 (en) * 2021-06-16 2022-12-22 Microsoft Technology Licensing, Llc Sparsifying narrow data formats for neural networks
US12321857B2 (en) 2021-06-24 2025-06-03 Intel Corporation Methods and apparatus to perform machine-learning model operations on sparse accelerators
US20230035474A1 (en) * 2021-07-20 2023-02-02 Gsi Technology Inc. Compiler for a parallel processor
US20230083270A1 (en) * 2021-09-14 2023-03-16 International Business Machines Corporation Mixed signal circuitry for bitwise multiplication with different accuracies
US11789646B2 (en) 2021-09-24 2023-10-17 Intel Corporation Methods, apparatus, and articles of manufacture to increase data reuse for multiply and accumulate (MAC) operations
US11669489B2 (en) * 2021-09-30 2023-06-06 International Business Machines Corporation Sparse systolic array design

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107741842A (zh) * 2006-09-20 2018-02-27 英特尔公司 用于执行点积运算的指令和逻辑
CN108268320A (zh) * 2016-12-31 2018-07-10 英特尔公司 用于网络规模k均值群集的硬件加速器架构和模板

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731669B2 (ja) * 1986-04-04 1995-04-10 株式会社日立製作所 ベクトル・プロセツサ
GB2457303A (en) * 2008-02-11 2009-08-12 Linear Algebra Technologies Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap
US20160358069A1 (en) * 2015-06-03 2016-12-08 Samsung Electronics Co., Ltd. Neural network suppression
US10223359B2 (en) * 2016-10-10 2019-03-05 The Directv Group, Inc. Determining recommended media programming from sparse consumption data
US10360163B2 (en) * 2016-10-27 2019-07-23 Google Llc Exploiting input data sparsity in neural network compute units
US10146738B2 (en) * 2016-12-31 2018-12-04 Intel Corporation Hardware accelerator architecture for processing very-sparse and hyper-sparse matrix data
US10096134B2 (en) * 2017-02-01 2018-10-09 Nvidia Corporation Data compaction and memory bandwidth reduction for sparse neural networks
US10171084B2 (en) * 2017-04-24 2019-01-01 The Regents Of The University Of Michigan Sparse coding with Memristor networks
US20180330235A1 (en) * 2017-05-15 2018-11-15 National Taiwan University Apparatus and Method of Using Dual Indexing in Input Neurons and Corresponding Weights of Sparse Neural Network
TWI684141B (zh) 2017-10-12 2020-02-01 英屬開曼群島商意騰科技股份有限公司 人工神經元中以非零封包加速乘法運算的裝置及方法
KR102697300B1 (ko) * 2018-03-07 2024-08-23 삼성전자주식회사 전자 장치 및 머신 러닝 수행 방법
US10768895B2 (en) 2018-11-08 2020-09-08 Movidius Limited Dot product calculators and methods of operating the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107741842A (zh) * 2006-09-20 2018-02-27 英特尔公司 用于执行点积运算的指令和逻辑
CN108268320A (zh) * 2016-12-31 2018-07-10 英特尔公司 用于网络规模k均值群集的硬件加速器架构和模板

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M-DSP中高性能浮点乘加器的设计与实现;车文博;刘衡竹;田甜;;计算机应用(第08期);全文 *

Also Published As

Publication number Publication date
JP2022506345A (ja) 2022-01-17
US20200387350A1 (en) 2020-12-10
US11023206B2 (en) 2021-06-01
US20210247961A1 (en) 2021-08-12
US11656845B2 (en) 2023-05-23
CN113330421A (zh) 2021-08-31
EP3877839A1 (en) 2021-09-15
US10768895B2 (en) 2020-09-08
WO2020094586A1 (en) 2020-05-14
US20200150926A1 (en) 2020-05-14
KR20210092751A (ko) 2021-07-26
DE112019005586T5 (de) 2021-12-16

Similar Documents

Publication Publication Date Title
CN113330421B (zh) 点积计算器及其操作方法
CN108229648B (zh) 匹配存储器中数据位宽的卷积计算方法和装置、设备、介质
US12333274B2 (en) Data-type-aware clock-gating
CN110058841B (zh) 面向具有对称性的非线性函数通用计算装置和方法
WO2019215907A1 (ja) 演算処理装置
JP2020042782A (ja) 人工知能チップに適用される算出方法および人工知能チップ
CN116700663B (zh) 一种浮点数处理方法及装置
CN116127261A (zh) 处理器中矩阵乘累加方法、装置及电子设备
US11256940B1 (en) Method, apparatus and system for gradient updating of image processing model
CN113805974A (zh) 基于应用程序的数据类型选择
CN116700664B (zh) 一种确定浮点数平方根的方法及装置
CN119396592A (zh) 数据运算方法、设备和介质
TW202333041A (zh) 執行浮點運算的系統及方法
CN116700665A (zh) 一种确定浮点数平方根倒数的方法及装置
CN116402090B (zh) 神经网络计算图的处理方法、装置和设备
EP3923132B1 (en) Device for performing multiply/accumulate operations
CN117058668B (zh) 一种三维模型减面评估方法及装置
CN109543834B (zh) 运算方法、装置及相关产品
CN109583580B (zh) 运算方法、装置及相关产品
CN120197660A (zh) 一种面向脑电信号处理的边缘推理神经网络协处理器电路
CN116702827A (zh) 一种神经网络的运算方法、相关装置、存储介质和设备
CN119473215A (zh) 浮点变量处理方法、装置、计算机设备和存储介质
WO2025101462A1 (en) Determining line edge roughness and line width roughness metrics
CN115809043A (zh) 一种乘法器及其相关产品和方法
CN116301715A (zh) 一种基于乘法器的运算方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant