JP2018206128A - 演算処理装置、情報処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置、情報処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP2018206128A JP2018206128A JP2017111695A JP2017111695A JP2018206128A JP 2018206128 A JP2018206128 A JP 2018206128A JP 2017111695 A JP2017111695 A JP 2017111695A JP 2017111695 A JP2017111695 A JP 2017111695A JP 2018206128 A JP2018206128 A JP 2018206128A
- Authority
- JP
- Japan
- Prior art keywords
- data
- matrix
- units
- matrix data
- unit
- 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
- 238000000034 method Methods 0.000 title claims description 25
- 230000010365 information processing Effects 0.000 title description 7
- 239000011159 matrix material Substances 0.000 claims description 332
- 238000010586 diagram Methods 0.000 description 32
- 230000007423 decrease Effects 0.000 description 3
- 101100451506 Arabidopsis thaliana HSP90-2 gene Proteins 0.000 description 2
- 101100144630 Scheffersomyces stipitis (strain ATCC 58785 / CBS 6054 / NBRC 10063 / NRRL Y-11545) LRA2 gene Proteins 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】演算処理装置は、各々がデータを記憶する複数の第1のデータ保持部(LR1〜LR8)と、データを記憶する共有データ保持部(SR)と、各々が、前記複数の第1のデータ保持部に記憶されているデータと前記共有データ保持部に記憶されているデータをそれぞれ用いて演算を行う複数の演算部(EX1〜EX8)とを有する。
【選択図】図9
Description
図1は、第1の実施形態による情報処理装置100の構成例を示す図である。情報処理装置100は、例えばサーバ又はスーパーコンピュータ等のコンピュータであり、演算処理装置101と、入出力装置102と、主記憶装置103とを有する。入出力装置102は、キーボード、表示装置、及びハードディスクドライブ装置等を有する。主記憶装置103は、メインメモリであり、データを記憶する。演算処理装置101は、入出力装置102及び主記憶装置103に接続される。
c11=a11b11+a12b21+a13b31+a14b41+・・・+a1nbn1 ・・・(3)
c12=a11b12+a12b22+a13b32+a14b42+・・・+a1nbn2 ・・・(4)
c1p=a11b1p+a12b2p+a13b3p+a14b4p+・・・+a1nbnp ・・・(5)
cm1=am1b11+am2b21+am3b31+am4b41+・・・+amnbn1 ・・・(6)
cm2=am1b12+am2b22+am3b32+am4b42+・・・+amnbn2 ・・・(7)
cmp=am1b1p+am2b2p+am3b3p+am4b4p+・・・+amnbnp ・・・(8)
(8000回×10回/20要素)×40000要素/8[演算器数]=20×106
・・・(9)
(4.8kバイト×10回/20要素)×40000要素=96Mバイト
・・・(10)
96Mバイト/(20×106サイクル)=4.8バイト/サイクル ・・・(11)
200×200行列×200回/8[演算器数]=1×106サイクル
・・・(12)
200×200行列×3[行列数]×4バイト=480kバイト ・・・(13)
480kバイト/(1×106サイクル)=0.48バイト/サイクル
・・・(14)
200×200行列×200回/8[演算器数]=1×106サイクル
・・・(15)
200×200行列×3[行列数]×4バイト=480kバイト ・・・(16)
480kバイト/(1×106サイクル)=0.48バイト/サイクル
・・・(17)
図12は、第2の実施形態による実行部106の構成例を示す図である。図12の実行部106は、図8の実行部106に対して、ローカルベクトルレジスタLR1〜LR8の代わりに、ローカルベクトルレジスタLRA1〜LRA8及びLRC1〜LRC8を設けたものである。以下、本実施形態が第1の実施形態と異なる点を説明する。
図15は、第3の実施形態による実行部106の構成例を示す図である。図15の実行部106は、図7の実行部106に対して、構成が同じであり、制御方法が異なる。実行部106は、8個のローカルベクトルレジスタLR1〜LR8と、8個の演算器EX1〜EX8と、セレクタ300とを有する。演算器EX1〜EX8の各々は、8個のFMA演算部200を有する。ローカルベクトルレジスタLR1は、8×200の部分行列データA1と、200×200の行列データBと、8×200の部分行列データC1を記憶する。同様に、ローカルベクトルレジスタLR2〜LR8は、それぞれ、8×200の部分行列データA2〜A8と、200×200の行列データBと、8×200の部分行列データC2〜C8を記憶する。ローカルベクトルレジスタLR1〜LR8の合計容量は、図7のものと同じであり、173kバイト×8=1.4Mバイトである。以下、図15の演算処理装置101が図7の演算処理装置101と異なる点を説明する。
101 演算処理装置
102 入出力装置
103 主記憶装置
104 ロードストア部
105 制御部
106 実行部
107 キャッシュメモリ
200 FMA演算部
300 セレクタ
SR 共有ベクトルレジスタ
LR1〜LR8 ローカルベクトルレジスタ
EX1〜EX8 演算器
Claims (15)
- 各々がデータを記憶する複数の第1のデータ保持部と、
データを記憶する共有データ保持部と、
各々が、前記複数の第1のデータ保持部に記憶されているデータと前記共有データ保持部に記憶されているデータをそれぞれ用いて演算を行う複数の演算部と
を有することを特徴とする演算処理装置。 - 前記複数の第1のデータ保持部は、第1の行列データを記憶し、
前記共有データ保持部は、第2の行列データを記憶し、
前記複数の演算部は、前記第1の行列データと前記第2の行列データの演算を行うこと特徴とする請求項1に記載の演算処理装置。 - 前記複数の第1のデータ保持部は、それぞれ、前記第1の行列データのうちの異なる行データを記憶し、
前記複数の演算部の各々は、積和演算処理部を有し、
前記積和演算処理部は、前記第1の行列データのうちの1つの行データと、前記第2の行列データのうちの1つの列データとの積和演算を行い、
前記複数の演算部は、前記第1の行列データと前記第2の行列データの積を演算し、第3の行列データを出力することを特徴とする請求項2に記載の演算処理装置。 - 前記複数の第1のデータ保持部は、それぞれ、前記第1の行列データのうちの異なる1つの行データを記憶し、
前記複数の演算部の各々は、1個の積和演算処理部を有することを特徴とする請求項3に記載の演算処理装置。 - 前記複数の第1のデータ保持部は、それぞれ、前記第1の行列データのうちの異なる複数の行データを記憶し、
前記複数の演算部の各々は、複数の積和演算処理部を有することを特徴とする請求項3に記載の演算処理装置。 - 前記複数の演算部は、前記第3の行列データをそれぞれ前記複数の第1のデータ保持部に書き込むことを特徴とする請求項3〜5のいずれか1項に記載の演算処理装置。
- さらに、前記第1の行列データと前記第2の行列データを記憶するメモリ部と、
前記メモリ部に記憶されている前記第1の行列データを前記複数の第1のデータ保持部に転送し、前記メモリ部に記憶されている前記第2の行列データを前記共有データ保持部に転送し、前記複数の第1のデータ保持部に記憶されている前記第3の行列データを前記メモリ部に転送する制御部とを有することを特徴とする請求項6に記載の演算処理装置。 - さらに、複数の第2のデータ保持部を有し、
前記複数の演算部は、前記第3の行列データをそれぞれ前記複数の第2のデータ保持部に書き込むことを特徴とする請求項3〜5のいずれか1項に記載の演算処理装置。 - さらに、前記第1の行列データと前記第2の行列データを記憶するメモリ部と、
前記メモリ部に記憶されている前記第1の行列データを前記複数の第1のデータ保持部に転送し、前記メモリ部に記憶されている前記第2の行列データを前記共有データ保持部に転送し、前記複数の第2のデータ保持部に記憶されている前記第3の行列データを前記メモリ部に転送する制御部とを有することを特徴とする請求項8に記載の演算処理装置。 - データを記憶するメモリ部と、
複数のデータ保持部と、
前記メモリ部に記憶されている異なる第1のデータを前記複数のデータ保持部に書き込み、前記メモリ部に記憶されている同じ第2のデータを前記複数のデータ保持部に同時に書き込む制御部と、
各々が、前記複数のデータ保持部に記憶されている前記第1のデータと前記第2のデータをそれぞれ用いて演算を行い、第3のデータを出力する複数の演算部とを有し、
前記複数の演算部は、前記第3のデータを前記複数のデータ保持部に書き込み、
前記制御部は、前記複数のデータ保持部に記憶されている前記第3のデータを前記メモリ部に転送することを特徴とする演算処理装置。 - 前記第1のデータは、第1の行列データであり、
前記第2のデータは、第2の行列データであり、
前記第3のデータは、第3の行列データであり、
前記複数の演算部は、前記第1の行列データと前記第2の行列データの演算を行い、前記第3の行列データを出力すること特徴とする請求項10に記載の演算処理装置。 - 前記複数のデータ保持部は、それぞれ、前記第1の行列データのうちの異なる行データを記憶し、
前記複数の演算部の各々は、積和演算処理部を有し、
前記積和演算処理部は、前記第1の行列データのうちの1つの行データと、前記第2の行列データのうちの1つの列データとの積和演算を行い、
前記複数の演算部は、前記第1の行列データと前記第2の行列データの積を演算し、前記第3の行列データを出力することを特徴とする請求項11に記載の演算処理装置。 - 前記複数のデータ保持部は、それぞれ、前記第1の行列データのうちの異なる複数の行データを記憶し、
前記複数の演算部の各々は、複数の積和演算処理部を有することを特徴とする請求項12に記載の演算処理装置。 - データを記憶する主記憶装置と、
前記主記憶装置に接続される演算処理装置とを有し、
前記演算処理装置は、
各々がデータを記憶する複数の第1のデータ保持部と、
データを記憶する共有データ保持部と、
各々が、前記複数の第1のデータ保持部に記憶されているデータと前記共有データ保持部に記憶されているデータをそれぞれ用いて演算を行う複数の演算部と
を有することを特徴とする情報処理装置。 - 演算処理装置の制御方法であって、
前記演算処理装置が有する複数の第1のデータ保持部の各々が、データを記憶し、
前記演算処理装置が有する共有データ保持部が、データを記憶し、
前記演算処理装置が有する複数の演算部の各々が、前記複数の第1のデータ保持部に記憶されているデータと前記共有データ保持部に記憶されているデータをそれぞれ用いて演算を行うことを特徴とする演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017111695A JP6898554B2 (ja) | 2017-06-06 | 2017-06-06 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
US15/990,854 US20180349061A1 (en) | 2017-06-06 | 2018-05-29 | Operation processing apparatus, information processing apparatus, and method of controlling operation processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017111695A JP6898554B2 (ja) | 2017-06-06 | 2017-06-06 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018206128A true JP2018206128A (ja) | 2018-12-27 |
JP6898554B2 JP6898554B2 (ja) | 2021-07-07 |
Family
ID=64459639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017111695A Active JP6898554B2 (ja) | 2017-06-06 | 2017-06-06 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180349061A1 (ja) |
JP (1) | JP6898554B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10762035B1 (en) | 2019-02-08 | 2020-09-01 | Hewlett Packard Enterprise Development Lp | Matrix tiling to accelerate computing in redundant matrices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61150067A (ja) * | 1984-12-25 | 1986-07-08 | Matsushita Electric Ind Co Ltd | 演算装置 |
JP2007317179A (ja) * | 2006-05-08 | 2007-12-06 | Nvidia Corp | 帯域幅要件が軽減された行列乗算 |
JP2009181293A (ja) * | 2008-01-30 | 2009-08-13 | Yamaha Corp | 行列演算コプロセッサ |
-
2017
- 2017-06-06 JP JP2017111695A patent/JP6898554B2/ja active Active
-
2018
- 2018-05-29 US US15/990,854 patent/US20180349061A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61150067A (ja) * | 1984-12-25 | 1986-07-08 | Matsushita Electric Ind Co Ltd | 演算装置 |
JP2007317179A (ja) * | 2006-05-08 | 2007-12-06 | Nvidia Corp | 帯域幅要件が軽減された行列乗算 |
JP2009181293A (ja) * | 2008-01-30 | 2009-08-13 | Yamaha Corp | 行列演算コプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US20180349061A1 (en) | 2018-12-06 |
JP6898554B2 (ja) | 2021-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775313B2 (en) | Hardware accelerator for convolutional neural networks and method of operation thereof | |
TWI679590B (zh) | 具有常駐在晶片上之參數的神經網路加速器 | |
CN110678840B (zh) | 张量寄存器文件 | |
CN107315574B (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
CN110678841B (zh) | 张量处理器指令集架构 | |
TWI441021B (zh) | 使用多個較低連接埠數記憶體模擬單一記憶體之方法與裝置 | |
JP2007317179A (ja) | 帯域幅要件が軽減された行列乗算 | |
JP2021507383A (ja) | ニューラルネットワークプロセッサに対する統合メモリ構造 | |
KR20200058562A (ko) | 벡터 계산 장치 | |
TWI844714B (zh) | 資料處理 | |
TWI791694B (zh) | 向量帶進位加法指令 | |
US20200356375A1 (en) | Adaptive matrix multiplication accelerator for machine learning and deep learning applications | |
CN103455518A (zh) | 一种数据处理方法及装置 | |
JP6898554B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP2023145676A (ja) | 伝搬レイテンシの短縮 | |
US20220019491A1 (en) | Method of determining split scheme, determining device, and computing system | |
JP7061742B2 (ja) | プロセッサ装置 | |
JP2012205298A (ja) | デジタル信号処理装置およびプログラム | |
TWI850513B (zh) | 用於記憶體內計算的方法及用於計算的系統 | |
CN111291884A (zh) | 神经网络剪枝方法、装置、电子设备及计算机可读介质 | |
JP5708634B2 (ja) | Simdプロセッサ | |
US20210357321A1 (en) | Two-way interleaving in a three-rank environment | |
Tumeo et al. | A flexible CUDA LU-based solver for small, batched linear systems | |
TW202203000A (zh) | 用於記憶體內計算的方法及用於計算的系統 | |
JPH0435792B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210406 |
|
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: 20210511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210524 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6898554 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |