JP2018139097A - プログラマブルな行列処理エンジン - Google Patents
プログラマブルな行列処理エンジン Download PDFInfo
- Publication number
- JP2018139097A JP2018139097A JP2017198749A JP2017198749A JP2018139097A JP 2018139097 A JP2018139097 A JP 2018139097A JP 2017198749 A JP2017198749 A JP 2017198749A JP 2017198749 A JP2017198749 A JP 2017198749A JP 2018139097 A JP2018139097 A JP 2018139097A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- routine
- memory
- processing
- operands
- 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.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 816
- 238000012545 processing Methods 0.000 title claims description 381
- 230000015654 memory Effects 0.000 claims abstract description 188
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000003860 storage Methods 0.000 claims description 33
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 40
- 230000006854 communication Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 20
- 230000036961 partial effect Effects 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical group [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000011773 genetically engineered mouse model Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000009131 signaling function Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 239000002351 wastewater Substances 0.000 description 1
- 238000004065 wastewater treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Molecular Biology (AREA)
- Mathematical Optimization (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Programmable Controllers (AREA)
Abstract
Description
[例示的な行列処理アーキテクチャ]
[例示的なコンピュータプロセッサアーキテクチャ]
[プログラマブルな行列処理エンジン]
[例示的な実施態様]
Claims (25)
- 多次元メモリと、
1つ又は複数の行列オペランドに対して行列演算を実行する、1つ又は複数の行列プロセッサを含んだ複数の処理要素と
を備え、
前記複数の処理要素は、
前記1つ又は複数の行列オペランドと関連付けられている行列データを、前記多次元メモリから受信し、
前記1つ又は複数の行列オペランドを前記行列データから取り出し、
前記行列演算と関連付けられた行列ルーチンを識別し、
前記1つ又は複数の行列オペランドを用いて前記行列ルーチンを実行し、
実行された前記行列ルーチンに基づいて前記行列演算の結果を取得する、
装置。 - 行列ルーチンメモリをさらに備え、前記行列ルーチンメモリは、1つ又は複数の行列演算と関連付けられた1つ又は複数の行列ルーチンを含む、請求項1に記載の装置。
- 前記複数の処理要素はさらに、前記行列ルーチンを前記行列ルーチンメモリから受信する、請求項2に記載の装置。
- 前記複数の処理要素はさらに、
前記行列ルーチンをホストコンピューティングシステムから受信し、
前記行列ルーチンを前記行列ルーチンメモリに格納する、
請求項2に記載の装置。 - 前記行列ルーチンは、前記行列演算と関連付けられた1つ又は複数の命令を含む、請求項1から4のいずれか一項に記載の装置。
- 前記行列ルーチンの前記1つ又は複数の命令は、前記1つ又は複数の行列オペランドと関連付けられた1つ又は複数のメモリ位置を示すものを含む、請求項5に記載の装置。
- 前記1つ又は複数の行列オペランドを前記行列データから取り出す前記複数の処理要素はさらに、前記1つ又は複数の行列オペランドを取り出すために、前記行列データをスライスする、請求項1から6のいずれか一項に記載の装置。
- 前記複数の処理要素はさらに、前記1つ又は複数の行列オペランドを前記行列データから取り出す1つ又は複数の命令を実行する、請求項1から7のいずれか一項に記載の装置。
- 前記複数の処理要素はさらに、前記多次元メモリの1つ又は複数のメモリ位置から前記行列データを取得する1つ又は複数の命令を実行する、請求項1から8のいずれか一項に記載の装置。
- 前記行列演算は、1つ又は複数の行列乗算演算を含む、請求項1から9のいずれか一項に記載の装置。
- 前記行列演算は、1つ又は複数の畳み込み演算を含む、請求項1から10のいずれか一項に記載の装置。
- 前記行列演算は、ニューラルネットワークにおける演算と関連付けられている、請求項1から11のいずれか一項に記載の装置。
- 1つ又は複数の行列オペランドに対して行列演算を実行する段階を備えた方法であって、
前記行列演算を実行する段階は、
前記1つ又は複数の行列オペランドと関連付けられている行列データを多次元メモリから受信する段階と、
前記1つ又は複数の行列オペランドを前記行列データから取り出す段階と、
前記行列演算と関連付けられた行列ルーチンを識別する段階と、
前記1つ又は複数の行列オペランドを用いて、行列プロセッサで前記行列ルーチンを実行する段階と、
前記行列プロセッサにより実行された前記行列ルーチンに基づいて、前記行列演算の結果を取得する段階と
を含む、方法。 - 前記行列ルーチンを行列ルーチンメモリから受信する段階をさらに備え、前記行列ルーチンメモリは、1つ又は複数の行列演算と関連付けられた1つ又は複数の行列ルーチンを含む、請求項13に記載の方法。
- 前記行列ルーチンは、前記行列演算と関連付けられた1つ又は複数の命令を含む、請求項13又は14に記載の方法。
- 前記行列ルーチンの前記1つ又は複数の命令は、前記1つ又は複数の行列オペランドと関連付けられた1つ又は複数のメモリ位置を示すものを含む、請求項15に記載の方法。
- 多次元メモリを含む複数のメモリ要素と、
1つ又は複数の行列オペランドに対して行列演算を実行する複数の処理要素と
を備え、
前記複数の処理要素は、
ホストプロセッサと、
1つ又は複数の行列処理チップと
を含み、
前記複数の処理要素は、
前記1つ又は複数の行列オペランドと関連付けられている行列データを前記多次元メモリから受信し、
前記1つ又は複数の行列オペランドを前記行列データから取り出し、
前記行列演算と関連付けられた行列ルーチンを識別し、
前記1つ又は複数の行列オペランドを用いて前記行列ルーチンを実行し、
実行された前記行列ルーチンに基づいて、前記行列演算の結果を取得する、システム。 - それぞれの行列処理チップは、複数の行列処理クラスタを含む、請求項17に記載のシステム。
- それぞれの行列処理クラスタは、複数の行列処理ユニットを含む、請求項18に記載のシステム。
- それぞれの行列処理クラスタは、複数のメモリリソースブロックを含む、請求項18又は19に記載のシステム。
- 格納された命令を有する少なくとも1つの機械アクセス可能記憶媒体であって、前記命令は機械で実行されると、1つ又は複数の行列オペランドに対して行列演算を前記機械に実行させ、
前記行列演算を前記機械に実行させる前記命令はさらに、前記機械に、
前記1つ又は複数の行列オペランドと関連付けられている行列データを多次元メモリから受信させ、
前記1つ又は複数の行列オペランドを前記行列データから取り出させ、
前記行列演算と関連付けられた行列ルーチンを識別させ、
前記1つ又は複数の行列オペランドを用いて行列プロセッサで前記行列ルーチンを実行させ、
前記行列プロセッサにより実行された前記行列ルーチンに基づいて、前記行列演算の結果を取得させる、記憶媒体。 - 前記命令はさらに、行列ルーチンメモリから前記行列ルーチンを前記機械に受信させ、前記行列ルーチンメモリは、1つ又は複数の行列演算と関連付けられた1つ又は複数の行列ルーチンを含む、請求項21に記載の記憶媒体。
- 前記行列ルーチンは、前記行列演算と関連付けられた1つ又は複数の命令を含む、請求項21又は22に記載の記憶媒体。
- 前記行列ルーチンは、前記1つ又は複数の行列オペランドと関連付けられた1つ又は複数のメモリ位置を示すものを含む、請求項23に記載の記憶媒体。
- 前記多次元メモリから前記行列データを前記機械に受信させる前記命令はさらに、前記多次元メモリの1つ又は複数のメモリ位置から前記行列データを前記機械に取得させる、請求項21から24のいずれか一項に記載の記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022063915A JP7401171B2 (ja) | 2016-12-30 | 2022-04-07 | 行列処理回路、システム、非一時的機械アクセス可能記憶媒体および方法 |
JP2023205119A JP2024026273A (ja) | 2016-12-30 | 2023-12-05 | 行列処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/395,654 | 2016-12-30 | ||
US15/395,654 US10228937B2 (en) | 2016-12-30 | 2016-12-30 | Programmable matrix processing engine |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063915A Division JP7401171B2 (ja) | 2016-12-30 | 2022-04-07 | 行列処理回路、システム、非一時的機械アクセス可能記憶媒体および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018139097A true JP2018139097A (ja) | 2018-09-06 |
JP7057093B2 JP7057093B2 (ja) | 2022-04-19 |
Family
ID=60673822
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017198749A Active JP7057093B2 (ja) | 2016-12-30 | 2017-10-12 | プログラマブルな行列処理エンジン |
JP2022063915A Active JP7401171B2 (ja) | 2016-12-30 | 2022-04-07 | 行列処理回路、システム、非一時的機械アクセス可能記憶媒体および方法 |
JP2022142663A Active JP7379779B2 (ja) | 2016-12-30 | 2022-09-08 | 行列処理装置 |
JP2023205119A Pending JP2024026273A (ja) | 2016-12-30 | 2023-12-05 | 行列処理装置 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063915A Active JP7401171B2 (ja) | 2016-12-30 | 2022-04-07 | 行列処理回路、システム、非一時的機械アクセス可能記憶媒体および方法 |
JP2022142663A Active JP7379779B2 (ja) | 2016-12-30 | 2022-09-08 | 行列処理装置 |
JP2023205119A Pending JP2024026273A (ja) | 2016-12-30 | 2023-12-05 | 行列処理装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10228937B2 (ja) |
EP (3) | EP3343356A1 (ja) |
JP (4) | JP7057093B2 (ja) |
CN (2) | CN115659113A (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10949496B2 (en) | 2016-12-30 | 2021-03-16 | Intel Corporation | Dimension shuffling using matrix processors |
US11748625B2 (en) | 2016-12-30 | 2023-09-05 | Intel Corporation | Distributed convolution for neural networks |
US10169296B2 (en) | 2016-12-30 | 2019-01-01 | Intel Corporation | Distributed matrix multiplication for neural networks |
US10482155B2 (en) | 2016-12-30 | 2019-11-19 | Intel Corporation | Winograd algorithm on a matrix processing architecture |
WO2018126073A1 (en) * | 2016-12-30 | 2018-07-05 | Lau Horace H | Deep learning hardware |
US11055695B2 (en) * | 2017-06-12 | 2021-07-06 | Discover Financial Services | Automated system and method for testing bank identification numbers in a networked system |
US11036827B1 (en) * | 2017-10-17 | 2021-06-15 | Xilinx, Inc. | Software-defined buffer/transposer for general matrix multiplication in a programmable IC |
CN109086244A (zh) * | 2018-07-11 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于向量处理器的矩阵卷积向量化实现方法 |
CN112213993A (zh) * | 2019-07-11 | 2021-01-12 | 航天长征化学工程股份有限公司 | 一种基于云端的控制系统和方法 |
US11520562B2 (en) | 2019-08-30 | 2022-12-06 | Intel Corporation | System to perform unary functions using range-specific coefficient sets |
US11372644B2 (en) * | 2019-12-09 | 2022-06-28 | Meta Platforms, Inc. | Matrix processing instruction with optional up/down sampling of matrix |
CN111008513B (zh) * | 2019-12-16 | 2022-07-15 | 北京华大九天科技股份有限公司 | 一种平板显示版图物理验证中的单元矩阵合并方法 |
CN113536221B (zh) * | 2020-04-21 | 2023-12-15 | 中科寒武纪科技股份有限公司 | 运算方法、处理器以及相关产品 |
CN112162851B (zh) * | 2020-09-14 | 2022-12-13 | Oppo(重庆)智能科技有限公司 | dex预编译方法、装置、计算机设备及存储介质 |
US11748251B2 (en) | 2021-01-08 | 2023-09-05 | Microsoft Technology Licensing, Llc | Storing tensors in memory based on depth |
CN113377546B (zh) * | 2021-07-12 | 2022-02-01 | 中科弘云科技(北京)有限公司 | 通信避免方法、装置、电子设备和存储介质 |
KR20240092304A (ko) * | 2022-12-14 | 2024-06-24 | 리벨리온 주식회사 | 뉴럴 프로세서 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05346914A (ja) * | 1992-06-16 | 1993-12-27 | Matsushita Electron Corp | ニューロプロセッサ |
JPH10222487A (ja) * | 1997-02-04 | 1998-08-21 | Hitachi Ltd | 並列計算機上でのプログラム実行方法 |
US20040111587A1 (en) * | 2002-12-09 | 2004-06-10 | Nair Gopalan N | Apparatus and method for matrix data processing |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5014235A (en) * | 1987-12-15 | 1991-05-07 | Steven G. Morton | Convolution memory |
JP2620487B2 (ja) * | 1992-05-22 | 1997-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・パッケージ |
US5530661A (en) * | 1994-10-05 | 1996-06-25 | Winnov | Data bit-slicing apparatus and method for computing convolutions |
US5864689A (en) * | 1995-12-05 | 1999-01-26 | Advanced Micro Devices, Inc. | Microprocessor configured to selectively invoke a microcode DSP function or a program subroutine in response to a target address value of branch instruction |
US5721945A (en) * | 1996-05-06 | 1998-02-24 | Advanced Micro Devices | Microprocessor configured to detect a DSP call instruction and to direct a DSP to execute a routine corresponding to the DSP call instruction |
US6195674B1 (en) * | 1997-04-30 | 2001-02-27 | Canon Kabushiki Kaisha | Fast DCT apparatus |
US6701028B1 (en) * | 2000-01-11 | 2004-03-02 | Applied Materials, Inc. | Method and apparatus for fast signal convolution using spline kernel |
EP1668531A2 (en) * | 2003-09-19 | 2006-06-14 | Koninklijke Philips Electronics N.V. | Integrated circuit with a plurality of communicating digital signal processors |
US7571435B2 (en) * | 2003-09-29 | 2009-08-04 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using preloading of floating point registers |
US7475101B2 (en) * | 2003-09-29 | 2009-01-06 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using streaming |
US8495122B2 (en) * | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7548892B2 (en) * | 2004-04-30 | 2009-06-16 | Microsoft Corporation | Processing machine learning techniques using a graphics processing unit |
US20060161612A1 (en) * | 2005-01-14 | 2006-07-20 | International Business Machines Corporation | Method and structure for a generalized cache-register file interface with data restructuring methods for multiple cache levels and hardware pre-fetching |
US8055878B2 (en) * | 2005-02-08 | 2011-11-08 | International Business Machines Corporation | Method and structure for skewed block-cyclic distribution of lower-dimensional data arrays in higher-dimensional processor grids |
US20060265445A1 (en) * | 2005-05-20 | 2006-11-23 | International Business Machines Corporation | Method and structure for improving processing efficiency in parallel processing machines for rectangular and triangular matrix routines |
US8392487B1 (en) * | 2007-03-29 | 2013-03-05 | Compass Electro-Optical Systems Ltd | Programmable matrix processor |
WO2011156247A2 (en) * | 2010-06-11 | 2011-12-15 | Massachusetts Institute Of Technology | Processor for large graph algorithm computations and matrix operations |
US9600281B2 (en) * | 2010-07-12 | 2017-03-21 | International Business Machines Corporation | Matrix multiplication operations using pair-wise load and splat operations |
JP5346914B2 (ja) | 2010-12-27 | 2013-11-20 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US9960917B2 (en) * | 2011-12-22 | 2018-05-01 | Intel Corporation | Matrix multiply accumulate instruction |
US9317482B2 (en) * | 2012-10-14 | 2016-04-19 | Microsoft Technology Licensing, Llc | Universal FPGA/ASIC matrix-vector multiplication architecture |
JP5951570B2 (ja) * | 2013-09-13 | 2016-07-13 | 株式会社東芝 | 行列演算装置 |
US10061747B2 (en) * | 2014-05-07 | 2018-08-28 | Seagate Technology Llc | Storage of a matrix on a storage compute device |
US10255547B2 (en) * | 2014-12-04 | 2019-04-09 | Nvidia Corporation | Indirectly accessing sample data to perform multi-convolution operations in a parallel processing system |
US9996350B2 (en) * | 2014-12-27 | 2018-06-12 | Intel Corporation | Hardware apparatuses and methods to prefetch a multidimensional block of elements from a multidimensional array |
US9606934B2 (en) * | 2015-02-02 | 2017-03-28 | International Business Machines Corporation | Matrix ordering for cache efficiency in performing large sparse matrix operations |
US20160239706A1 (en) * | 2015-02-13 | 2016-08-18 | Qualcomm Incorporated | Convolution matrix multiply with callback for deep tiling for deep convolutional neural networks |
US9953394B2 (en) * | 2015-02-26 | 2018-04-24 | Tata Consultancy Services Limited | Methods and systems for designing correlation filter |
US9965318B2 (en) * | 2015-03-16 | 2018-05-08 | Tata Consultancy Services Limited | Concurrent principal component analysis computation |
US10949496B2 (en) | 2016-12-30 | 2021-03-16 | Intel Corporation | Dimension shuffling using matrix processors |
US10198401B2 (en) | 2016-12-30 | 2019-02-05 | Intel Corporation | Max pooling in a matrix processing architecture |
US20180188972A1 (en) | 2016-12-30 | 2018-07-05 | Intel Corporation | Matrix storage using data shifting memory |
US10169296B2 (en) | 2016-12-30 | 2019-01-01 | Intel Corporation | Distributed matrix multiplication for neural networks |
US10482155B2 (en) | 2016-12-30 | 2019-11-19 | Intel Corporation | Winograd algorithm on a matrix processing architecture |
US11748625B2 (en) | 2016-12-30 | 2023-09-05 | Intel Corporation | Distributed convolution for neural networks |
-
2016
- 2016-12-30 US US15/395,654 patent/US10228937B2/en active Active
-
2017
- 2017-10-12 JP JP2017198749A patent/JP7057093B2/ja active Active
- 2017-12-18 EP EP17208110.1A patent/EP3343356A1/en active Pending
- 2017-12-18 EP EP22195212.0A patent/EP4120071A1/en active Pending
- 2017-12-18 EP EP23219551.1A patent/EP4321993A3/en active Pending
-
2018
- 2018-01-02 CN CN202211088794.2A patent/CN115659113A/zh active Pending
- 2018-01-02 CN CN201810002887.6A patent/CN108268425B/zh active Active
-
2019
- 2019-01-31 US US16/264,483 patent/US10896039B2/en active Active
-
2022
- 2022-04-07 JP JP2022063915A patent/JP7401171B2/ja active Active
- 2022-09-08 JP JP2022142663A patent/JP7379779B2/ja active Active
-
2023
- 2023-12-05 JP JP2023205119A patent/JP2024026273A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05346914A (ja) * | 1992-06-16 | 1993-12-27 | Matsushita Electron Corp | ニューロプロセッサ |
JPH10222487A (ja) * | 1997-02-04 | 1998-08-21 | Hitachi Ltd | 並列計算機上でのプログラム実行方法 |
US20040111587A1 (en) * | 2002-12-09 | 2004-06-10 | Nair Gopalan N | Apparatus and method for matrix data processing |
Also Published As
Publication number | Publication date |
---|---|
US10896039B2 (en) | 2021-01-19 |
JP7379779B2 (ja) | 2023-11-15 |
CN108268425B (zh) | 2023-10-13 |
JP7401171B2 (ja) | 2023-12-19 |
CN115659113A (zh) | 2023-01-31 |
EP4321993A3 (en) | 2024-05-22 |
EP4321993A2 (en) | 2024-02-14 |
JP2024026273A (ja) | 2024-02-28 |
JP2022177096A (ja) | 2022-11-30 |
EP3343356A1 (en) | 2018-07-04 |
US10228937B2 (en) | 2019-03-12 |
US20190171450A1 (en) | 2019-06-06 |
CN108268425A (zh) | 2018-07-10 |
JP2022095843A (ja) | 2022-06-28 |
EP4120071A1 (en) | 2023-01-18 |
JP7057093B2 (ja) | 2022-04-19 |
US20180189057A1 (en) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7401171B2 (ja) | 行列処理回路、システム、非一時的機械アクセス可能記憶媒体および方法 | |
CN108268933B (zh) | 矩阵处理架构中的最大池化 | |
EP3346392B1 (en) | Distributed matrix multiplication for neural networks | |
US10482155B2 (en) | Winograd algorithm on a matrix processing architecture | |
US11748625B2 (en) | Distributed convolution for neural networks | |
EP3343563A1 (en) | Matrix storage using data shifting memory | |
US11562213B2 (en) | Methods and arrangements to manage memory in cascaded neural networks | |
CN115136742A (zh) | 数据中心冷却系统的智能服务器级测试 | |
WO2020177229A1 (en) | Inter-warp sharing of general purpose register data in gpu | |
CN115705213A (zh) | 封装条件分支操作 | |
US10579335B2 (en) | Multiplier circuit for accelerated square operations | |
CN117581200A (zh) | 在分派期间从存储器加载数据 | |
CN117222991A (zh) | 片上网络处理系统 | |
CN111966399B (zh) | 指令处理方法、装置及相关产品 | |
CN111949318A (zh) | 指令处理方法、装置及相关产品 | |
RU2681365C1 (ru) | Вычислительный модуль для многостадийной многопоточной обработки цифровых данных и способ обработки с использованием данного модуля | |
CN112394990A (zh) | 浮点转半精度浮点指令处理装置、方法及相关产品 | |
CN112394991A (zh) | 浮点转半精度浮点指令处理装置、方法及相关产品 | |
CN112394986A (zh) | 半精度浮点转浮点指令处理装置、方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180427 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220105 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220407 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7057093 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |