JP2015056124A - 行列演算装置 - Google Patents
行列演算装置 Download PDFInfo
- Publication number
- JP2015056124A JP2015056124A JP2013190583A JP2013190583A JP2015056124A JP 2015056124 A JP2015056124 A JP 2015056124A JP 2013190583 A JP2013190583 A JP 2013190583A JP 2013190583 A JP2013190583 A JP 2013190583A JP 2015056124 A JP2015056124 A JP 2015056124A
- Authority
- JP
- Japan
- Prior art keywords
- input
- block
- matrix
- output
- group
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
Description
(行列演算システムの構成)
図1は、本実施形態に係わる行列演算システムの構成図である。行列演算システム1は、アレイ部2と、データ管理部3と、制御部4と、インターコネクト5と、I/O部6とで構成される。
メモリ13は、行列演算のための入力データと、演算結果である出力データが記憶される、SRAM等の記憶装置である。
リード部14は、メモリ13に記憶されている入力データを読み出して、アレイ部2のデータ入力回路11へ供給する回路である。
ライト部15は、アレイ12からの出力を、メモリ13へ書き込む回路である。
I/O部6は、外部から入力データを受信して、インターコネクト5を介してデータ管理部3へ出力すると共に、演算結果である出力データを外部へ出力する回路である。
図2は、ノードの構成を示す回路図である。ノード21は、レジスタ22、23と、演算器としての乗算器24と、加算器25と、レジスタ26と、マルチプレクサ27と、レジスタ28とで構成される。そして、ノード21は、3つの入力端21ia、21ib、21isと、3つの出力端21oa、21ob、21osとを有する。
入力端21iaは、レジスタ22の入力に接続され、入力端21ibは、レジスタ23の入力に接続され、入力端21isは、マルチプレクサ27の2つの入力の一方に接続されている。
マルチプレクサ27の出力は、レジスタ28の入力に接続されている。レジスタ28の出力は、出力端21osに接続されている。
すなわち、各ノード21は、行列演算の演算対象の2つの行列の一方の列データを入力する入力端21iaと、2つの行列の他方の行データを入力する入力端21ibと、入力された列データを出力する出力端21oaと、入力された行データを出力する出力端21obと、を有する。
マルチプレクサ27の出力は、出力端21obに接続されている。よって、レジスタ23の出力とレジスタ26の出力のいずれかが、マルチプレクサ27において選択されて、出力端21obに出力される。
上述したノード21が複数個用いられて、ブロック31が形成される。ブロック31は、マトリックス状に配列され、接続された複数(ここでは、4×4の16個)のノード21で構成されている。
上述したブロック31が複数個用いられて、行列演算システム1のアレイ12が形成される。アレイ12は、行方向(横方向)と列方向(縦方向)に接続された複数(ここでは4×4の16個)のブロック31を含んで構成される。
アレイ12には、入力群A1、A2、A3、A4と入力群B1、B2、B3、B4への入力データが、制御部4の制御の下、データ管理部3からデータ入力回路11を介して供給される。
左から2列目のブロックB12,B22,B32,B42の入力Sには、前段のブロックである左端ブロックB11,B21,B31,B41のそれぞれの出力Sが入力される。
左から3列目のブロックB13,B23,B33,B43の各入力Bには、複数の入力の中から選択された1つが入力される。そのため、ブロックB13の入力Bは、入力B3、ブロックB12の出力B,Sのいずれかを選択して出力するマルチプレクサm12の出力に接続されている。ブロックB23の入力Bは、入力B3、ブロックB22の出力B,Sのいずれかを選択して出力するマルチプレクサm22の出力に接続されている。ブロックB33の入力Bは、入力B3、ブロックB32の出力B,S、ブロックB12の出力Sのいずれかを選択して出力するマルチプレクサm32の出力に接続されている。そのため、ブロックB12の出力Sは、マルチプレクサm32と接続線L2により接続されている。
右端ブロックB14,B24,B34,B44の各入力Bには、複数の中から選択された1つが入力される。そのため、ブロックB14の入力Bは、入力B4、ブロックB13の出力B,Sのいずれかを選択して出力するマルチプレクサm13の出力に接続されている。
そして、行方向(すなわち横方向)には、各ブロック31の出力Sが、右横方向に隣接したブロック31の入力Sに接続される。
そして、アレイ12は、第1〜第4の出力群を複数出力することができるように構成されている。
次に、行列演算システム1の動作を説明する。
(ノードの動作)
まず、ノード21の動作を説明する。制御部4は、各ノード21内のレジスタ26を初期化するように各ノード21を制御する。
行列Aは、次の式(1)で示す値の要素成分(以下、要素という)を有する行列である。
ブロック31の動作を説明する。制御部4は、各ノード21のデータの入出力のタイミングを制御する。
図7は、行列Bと行列Aの行列積B×Aの演算とその演算結果の行列Sの出力を説明するための図である。
次に、アレイ12の動作を説明する。
(16×16行列積の演算の場合)
まず、アレイ12を用いて16×16行列積を演算する場合を説明する。
図10は、16×16行列積の演算を行う場合を説明するための図である。より具体的には、図10は、アレイ12を用いて16行n列(nは正の整数)の行列Bとn行16列の行列Aとの行列積B×Aを演算し、演算結果の行列Sを取得する場合を説明するための図である。図10において、太線で示した入力あるいは出力が選択されるように、制御部4は、各マルチプレクサm1〜m3,m11〜m43において出力する入力データの選択設定を行う。
また、ブロックB12〜B14、ブロックB22〜B24、ブロックB32〜B34、ブロックB42〜B44の入力群Bとして、左隣接ブロック31の出力群Bが選択される。ブロックB12〜B14、ブロックB22〜B24、ブロックB32〜B34、ブロックB42〜B44の入力群Sとして、左隣接ブロック31の出力群Sが入力される。よって、例えば、ブロックB12の入力群Bと入力群Sには、ブロックB11の出力群Bと出力群Sが入力される。
なお、行列Sの各要素は、各ブロック31の出力群Sから出力されるので、行列Sの各要素を、出力群S1〜S3 より取得するようにしてもよい。
次に、アレイ12を用いて、8×8行列積を4つ並列に演算する場合を説明する。
図11は、8×8行列積の4並列演算を行う場合を説明するための図である。より具体的には、図11は、アレイ12を用いて、8行n列(nは正の整数)の行列B1〜B4とn行8列の行列A1〜A4の行列積B×Aを4種同時に演算し、演算結果の4つの行列S1〜S4を取得する場合を説明するための図である。図11において、太線で示した入力あるいは出力が選択されるように、制御部4は、各マルチプレクサm1〜m3,m11〜m43において出力する入力データの選択設定を行う。
また、ブロックB31〜B34では、入力群Aとして、アレイ12の入力群A3が選択される。
すなわち、図11において、2点鎖線で示す4つのブロック群41のそれぞれが、8×8の行列演算を行い、アレイ12は、8×8行列積の4並列演算を実行することができる。
次に、アレイ12を用いて、8×8×8行列積を2つ並列に演算する場合を説明する。 図12は、8×8×8行列の2並列演算を行う場合を説明するための図である。より具体的には、図12は、アレイ12を用いて、8行n列(nは正の整数)の行列B1〜B2とn行8列の行列A1〜A2の行列積B×Aを演算し、その演算結果に8行8列の行列C1〜C2の行列積を2種同時に演算し、演算結果の行列S1〜S2を取得する場合を説明するための図である。図12において、太線で示した入力あるいは出力が選択されるように、制御部4は、各マルチプレクサm1〜m3,m11〜m43において出力する入力データの選択設定を行う。
また、ブロックB31〜B34では、入力群Aとして、アレイ12の入力群A3が選択される。
すなわち、図12において、2点鎖線で示す2つのブロック群42のそれぞれが、8×8×8の行列演算を行い、アレイ12は、8×8×8行列積の2並列演算を実行することができる。
次に、アレイ12を用いて、8×8×8行列積の2分岐演算をする場合を説明する。
図13は、8×8×8行列積の2分岐演算を行う場合を説明するための図である。より具体的には、図13は、アレイ12を用いて、8行n列(nは正の整数)の行列Bとn行8列の行列Aの行列積B×Aを演算し、その演算結果に8行8列の行列C1〜C2の行列積を2種同時に演算し、演算結果の行列S1〜S2を取得する場合を説明するための図である。図13において、太線で示した入力あるいは出力が選択されるように、制御部4は、各マルチプレクサm1〜m3,m11〜m43において出力する入力データの選択設定を行う。
また、ブロックB 12、B 14、ブロックB 22、B 24、ブロックB 34、ブロックB 44では、入力群Bおよび入力群Sとして、左隣接ブロックの出力群Bおよび出力群Sが、それぞれ選択される。例えば、ブロックB 12の入力群Bと入力群Sには、ブロックB 11の出力群Bと出力群Sが、それぞれ入力される。
また、ブロックB 13、ブロックB 23では、入力群Bとして、左隣接ブロックの出力群Sが入力される。例えば、ブロックB 13の入力群Bには、ブロックB 12の出力群Sが入力される。
すなわち、図13において、2点鎖線で示す3つのブロック群43のそれぞれが、8×8の行列演算を行い、アレイ12は、8×8×8行列積の2分岐演算を実行することができる。
次に、アレイ12を用いて、4×4行列の16並列演算をする場合を説明する。
図14は、4×4行列の16並列演算を行う場合を説明するための図である。より具体的には、図14は、アレイ12を用いて、4行n列(nは正の整数)の行列B1〜B16とn行4列の行列A1〜A16の行列積B×Aを16種同時に演算し、演算結果の行列S1〜S16を取得する場合を説明するための図である。図14において、太線で示した入力あるいは出力が選択されるように、制御部4は、各マルチプレクサm1〜m3,m11〜m43において出力する入力データの選択設定を行う。
ブロックB12、ブロックB22、ブロックB32、ブロックB42では、入力群Bとして、アレイ12の入力群B2が、ブロックB13、ブロックB23、ブロックB33、ブロックB43では、入力群Bとして、アレイ12の入力群B3が、ブロックB14、ブロックB24、ブロックB34、ブロックB44では、入力群Bとして、アレイ12の入力群B4が、それぞれ選択される。
すなわち、図14において、各ブロック群31が、4×4の行列演算を行い、アレイ12は、4×4行列積の16個の演算を並列実行することができる。
次に、アレイ12を用いて、4×4×4×4×4行列積の4並列演算をする場合を説明する。
図15は、4×4×4×4×4行列積の4並列演算を行う場合を説明するための図である。より具体的には、図15は、アレイ12を用いて、4行n列(nは正の整数)の行列B1〜B4とn行4列の行列A1〜A4の行列積B×Aを演算し、その演算結果に4行4列の行列C1〜C4の行列積を演算し、更に、その演算結果に4行4列の行列D1〜D4の行列積を演算し、更に、その演算結果に4行4列の行列E1〜E4の行列積を、4種同時に演算し、演算結果の行列S1〜S4を取得する場合を説明するための図である。図15において、太線で示した入力あるいは出力が選択されるように、制御部4は、各マルチプレクサm1〜m3,m11〜m43において出力する入力データの選択設定を行う。
また、ブロックB12〜B14、ブロックB22〜B24、ブロックB32〜B34、ブロックB42〜B44では、入力群Bとして、左隣接ブロックの出力群Sがそれぞれ選択される。例えば、ブロックB12の入力群Bには、ブロックB11の出力群Sが入力さる。
すなわち、図15において2点鎖線で示す3つのブロック群44のそれぞれが、4×4×4×4×4の行列演算を行い、アレイ12は、4×4×4×4×4行列積の4並列演算を実行することができる。
次に、アレイ12を用いて、4×4×12行列積の4並列演算をする場合を説明する。
図16は、4×4×12行列積の4並列演算を行う場合を説明するための図である。より具体的には、図16は、アレイ12を用いて、4行n列(nは正の整数)の行列Bとn行4列の行列Aの行列積B×Aを演算し、その演算結果に4行12列の行列C1〜C4の行列積を4種同時に演算し、演算結果の行列S1〜S4を取得する場合を説明するための図である。図16では、ブロックB22〜B24の入力群Aには、アレイ12の入力群A2を、ブロックB32〜B34の入力群Aには、アレイ12の入力群A3を、ブロックB42〜B44の入力群Aには、アレイ12の入力群A3を、それぞれ選択する。
また、ブロックB12、ブロックB22、ブロックB32、ブロックB42では、入力群Bとして、ブロックB11の出力群Sが選択される。
すなわち、図16において2点鎖線で示す4つのブロック群45のそれぞれが、4×12の行列演算を行い、アレイ12は、4×4×12行列積の4並列演算を実行することができる。
しかし、シストリック・アレイの場合、入力に対する演算が所定のサイクルで実行され、かつ各サイクルの演算結果が次のサイクルでそのまま利用されるように構成されているため、所望の行列演算結果を得るまでのデータ転送量が多いという問題がある。
これに対して、本実施形態の行列演算装置では、各ノードが演算器に加えてアキュムレータを有しているため、行列演算装置全体におけるデータ転送量が少ない。
これに対して、上述した実施形態の行列演算装置では、このようなスイッチ回路はないので、装置全体の回路規模は小さい。
特に、各ノード21がアキュムレータ29を有するので、データ転送量は少なく、かつ制御部4によって、各ブロック31への入力の選択を各マルチプレクサの選択制御により行うので、回路規模も大きくならずに済むというメリットもある。
Claims (6)
- 行列演算を実行する行列演算装置であって、
前記行列演算のための列データである第1の入力と行データである第2の入力に対して第1の演算を行って前記行列演算の演算結果の要素成分を出力する第1の演算器と、前記第1の演算器の演算結果を累積加算するアキュムレータとを有する複数のノードを、
を有し、
各ノードは、前記行列演算の演算対象の2つの行列の一方の前記列データを入力する第1の入力端と、前記2つの行列の他方の前記行データを入力する第2の入力端と、入力された前記列データを出力する第1の出力端と、入力された前記行データを出力する第2の出力端と、を有し、
前記複数のノードを含むブロックは、複数あり、
前記複数のブロックは、前段ブロックと、後段ブロックとを含み、
前記後段ブロックでは、前記前段ブロックに含まれる各ノードの前記アキュムレータの累積加算結果と、前記前段ブロック以外から入力とのいずれかを選択して出力する第2の選択回路を介して、前記複数のノードの前記第2の入力端に前記行データが入力される行列演算装置。 - 行列演算を実行する行列演算装置であって、
前記行列演算のための列データである第1の入力と行データである第2の入力に対して第1の演算を行って前記行列演算の演算結果の要素成分を出力する第1の演算器と、前記第1の演算器の演算結果を累積加算するアキュムレータとを有する複数のノードを、を有する行列演算装置。 - 各ノードは、前記行列演算の演算対象の2つの行列の一方の前記列データを入力する第1の入力端と、前記2つの行列の他方の前記行データを入力する第2の入力端と、入力された前記列データを出力する第1の出力端と、入力された前記行データを出力する第2の出力端と、を有する請求項2に記載の行列演算装置。
- 前記複数のノードは、前記アキュムレータの累積加算結果を出力する第3の出力端を有し、
前記複数のノードのうち、後段のノードは、前段ノードの演算結果を入力するための第3の入力端を有し、
前記後段のノードは、前記第3の入力端の入力と、前記アキュムレータの累積加算結果とのいずれかを選択して出力する第1の選択回路とを有し、
前記第3の出力端は、前記第1の選択回路を介して前記アキュムレータの前記累積加算結果を出力する請求項3に記載の行列演算装置。 - 前記複数のノードのうち、後段のノードは、前記第2の入力端の入力と、前記アキュムレータの累積加算結果とのいずれかを選択して出力する第1の選択回路とを有し、
前記第2の出力端は、前記第1の選択回路を介して前記アキュムレータの前記累積加算結果を出力する請求項3に記載の行列演算装置。 - 前記複数のノードを含むブロックが複数あって、
前記複数のブロックは、前段ブロックと、後段ブロックとを含み、
前記後段ブロックでは、前記前段ブロックに含まれる各ノードの前記アキュムレータの累積加算結果と、前記前段ブロック以外から入力とのいずれかを選択して出力する第2の選択回路を介して、前記複数のノードの前記第2の入力端に前記行データが入力される請求項3に記載の行列演算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013190583A JP5951570B2 (ja) | 2013-09-13 | 2013-09-13 | 行列演算装置 |
US14/194,471 US9483442B2 (en) | 2013-09-13 | 2014-02-28 | Matrix operation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013190583A JP5951570B2 (ja) | 2013-09-13 | 2013-09-13 | 行列演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015056124A true JP2015056124A (ja) | 2015-03-23 |
JP5951570B2 JP5951570B2 (ja) | 2016-07-13 |
Family
ID=52668995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013190583A Active JP5951570B2 (ja) | 2013-09-13 | 2013-09-13 | 行列演算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9483442B2 (ja) |
JP (1) | JP5951570B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600234B2 (en) | 2014-09-09 | 2017-03-21 | Kabushiki Kaisha Toshiba | Floating-point arithmetic device, semiconductor device and information processing system |
JP2019168783A (ja) * | 2018-03-22 | 2019-10-03 | 東芝メモリ株式会社 | 半導体装置 |
JP2020528621A (ja) * | 2017-07-24 | 2020-09-24 | テスラ,インコーポレイテッド | 加速数学エンジン |
JP2020529070A (ja) * | 2017-07-24 | 2020-10-01 | テスラ,インコーポレイテッド | ベクトル計算ユニット |
US11157287B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system with variable latency memory access |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10228937B2 (en) * | 2016-12-30 | 2019-03-12 | Intel Corporation | Programmable matrix processing engine |
US10241972B2 (en) * | 2017-03-16 | 2019-03-26 | International Business Machines Corporation | Matrix multiplication on a systolic array |
US11003620B2 (en) * | 2017-12-22 | 2021-05-11 | Intel Corporation | Systolic array of pipelined processing engines for implementing dynamic programming algorithms |
CN112991142B (zh) * | 2021-03-31 | 2023-06-16 | 腾讯科技(深圳)有限公司 | 图像数据的矩阵运算方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03196256A (ja) * | 1989-12-25 | 1991-08-27 | Fujitsu Ltd | 行列演算回路 |
JP2009026308A (ja) * | 2007-07-19 | 2009-02-05 | Itt Manufacturing Enterprises Inc | 高速かつ効率的な行列乗算ハードウェアモジュール |
JP2009530730A (ja) * | 2006-03-23 | 2009-08-27 | ケンブリッジ ディスプレイ テクノロジー リミテッド | データ処理ハードウェア |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4575812A (en) | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
JPH0555894A (ja) | 1991-08-28 | 1993-03-05 | Seiko Epson Corp | 半導体装置 |
DE69832985T2 (de) | 1998-10-06 | 2006-08-17 | Texas Instruments Inc., Dallas | Multiplizier-Akkumulatorschaltungen |
US8250337B2 (en) | 2006-04-28 | 2012-08-21 | Qualcomm Incorporated | Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output |
JP5589628B2 (ja) | 2010-07-12 | 2014-09-17 | 株式会社リコー | 内積演算装置および内積演算方法 |
US9384168B2 (en) * | 2013-06-11 | 2016-07-05 | Analog Devices Global | Vector matrix product accelerator for microprocessor integration |
-
2013
- 2013-09-13 JP JP2013190583A patent/JP5951570B2/ja active Active
-
2014
- 2014-02-28 US US14/194,471 patent/US9483442B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03196256A (ja) * | 1989-12-25 | 1991-08-27 | Fujitsu Ltd | 行列演算回路 |
JP2009530730A (ja) * | 2006-03-23 | 2009-08-27 | ケンブリッジ ディスプレイ テクノロジー リミテッド | データ処理ハードウェア |
JP2009026308A (ja) * | 2007-07-19 | 2009-02-05 | Itt Manufacturing Enterprises Inc | 高速かつ効率的な行列乗算ハードウェアモジュール |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600234B2 (en) | 2014-09-09 | 2017-03-21 | Kabushiki Kaisha Toshiba | Floating-point arithmetic device, semiconductor device and information processing system |
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
JP2020529070A (ja) * | 2017-07-24 | 2020-10-01 | テスラ,インコーポレイテッド | ベクトル計算ユニット |
US11157287B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system with variable latency memory access |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
JP7009609B2 (ja) | 2017-07-24 | 2022-01-25 | テスラ,インコーポレイテッド | 加速数学エンジン |
JP2020528621A (ja) * | 2017-07-24 | 2020-09-24 | テスラ,インコーポレイテッド | 加速数学エンジン |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
JP2022064892A (ja) * | 2017-07-24 | 2022-04-26 | テスラ,インコーポレイテッド | 加速数学エンジン |
JP7374236B2 (ja) | 2017-07-24 | 2023-11-06 | テスラ,インコーポレイテッド | 加速数学エンジン |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11698773B2 (en) | 2017-07-24 | 2023-07-11 | Tesla, Inc. | Accelerated mathematical engine |
US11797304B2 (en) | 2018-02-01 | 2023-10-24 | Tesla, Inc. | Instruction set architecture for a vector computational unit |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
JP2019168783A (ja) * | 2018-03-22 | 2019-10-03 | 東芝メモリ株式会社 | 半導体装置 |
Also Published As
Publication number | Publication date |
---|---|
US9483442B2 (en) | 2016-11-01 |
JP5951570B2 (ja) | 2016-07-13 |
US20150081752A1 (en) | 2015-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5951570B2 (ja) | 行列演算装置 | |
JP5408913B2 (ja) | 高速かつ効率的な行列乗算ハードウェアモジュール | |
JP2021508125A (ja) | 行列乗算器 | |
KR20190107091A (ko) | 계산 장치 및 방법 | |
US11640303B2 (en) | Calculating device | |
JP6003744B2 (ja) | 演算処理装置及び演算処理方法 | |
US11907681B2 (en) | Semiconductor device and method of controlling the semiconductor device | |
CN112446007A (zh) | 一种矩阵运算方法、运算装置以及处理器 | |
TW202020654A (zh) | 具有壓縮進位之數位電路 | |
CN109634556B (zh) | 一种乘累加器及累加输出方法 | |
JP2009181293A (ja) | 行列演算コプロセッサ | |
CN111985628B (zh) | 计算装置及包括所述计算装置的神经网络处理器 | |
CN114003198A (zh) | 内积处理部件、任意精度计算设备、方法及可读存储介质 | |
CN111368987B (zh) | 一种神经网络计算装置和方法 | |
RU2477513C1 (ru) | Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю | |
JP2009245296A (ja) | 積和演算回路 | |
TWI564735B (zh) | 資料分配裝置、訊號處理裝置及其資料分配方法 | |
CN116796816B (zh) | 处理器、计算芯片和计算设备 | |
CN112632464B (zh) | 用于处理数据的处理装置 | |
Murakami | FPGA implementation of a SIMD-based array processor with torus interconnect | |
US9529539B1 (en) | Data allocating apparatus, signal processing apparatus, and data allocating method | |
JP2022093455A (ja) | 計算装置 | |
CN114186679A (zh) | 一种基于fpga的卷积神经网络加速器及其优化方法 | |
CN118172228A (zh) | 数据处理装置、芯片、方法、电子设备和存储介质 | |
CN114268091A (zh) | 基于综合阻抗矩阵的故障处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160218 |
|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160608 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5951570 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |