JP2019109626A - 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 - Google Patents
疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 Download PDFInfo
- Publication number
- JP2019109626A JP2019109626A JP2017241098A JP2017241098A JP2019109626A JP 2019109626 A JP2019109626 A JP 2019109626A JP 2017241098 A JP2017241098 A JP 2017241098A JP 2017241098 A JP2017241098 A JP 2017241098A JP 2019109626 A JP2019109626 A JP 2019109626A
- Authority
- JP
- Japan
- Prior art keywords
- sparse matrix
- unit
- vector
- vector product
- preprocessing
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
Description
次に、本実施例における疎行列ベクトル積演算装置10bを有するシミュレーション装置10の一例について、図4を用いて説明する。図4は、実施例1におけるシミュレーション装置の一例を示す図である。図4に示すように、本実施例におけるシミュレーション装置10は、共役勾配法制御装置10aと、疎行列ベクトル積演算装置10bとを有する。共役勾配法制御装置10aは、例えばCPUによって実現される。一方、疎行列ベクトル積演算装置10bは、例えばFPGA(Field Programmable Gate Array)によって実現される。
次に、本実施例における処理について、図11を用いて説明する。図11は、実施例1におけるCG法による処理の一例を示すフローチャートである。まず、共役勾配法制御装置10aの変換部11は、係数行列を圧縮し列指向形式に変換する(ステップS10)。また、変換部11は、変換した係数行列を疎行列ベクトル積演算装置10bの演算データ記憶部13に格納する。
以上説明したように、本実施例における疎行列ベクトル積演算装置の演算データ記憶部は、共役勾配法の制御を行う共役勾配法制御装置から入力された演算データを記憶する。演算データは、疎行列との積を計算可能なベクトルと、列指向形式で圧縮された疎行列とを含む。疎行列ベクトル積演算装置は、演算データ記憶部からベクトル及び疎行列を読み込む。疎行列ベクトル積演算装置は、読み込まれたベクトル及び疎行列を用いて疎行列ベクトル積の演算を実行する。疎行列ベクトル積演算装置は、演算の結果を演算データ記憶部に書き込む。このように、疎行列ベクトル積演算装置は、共役勾配法制御装置から演算データ記憶部に係数行列が入力された後は、当該疎行列の装置間の転送を行うことなくSpMVを反復して行うことができる。このため、疎行列ベクトル積演算装置は、CG法を高速化することができる。
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
図14は、ハードウェア構成例を示す図である。図14に示すように、シミュレーション装置10は、通信インタフェース50a、HDD(Hard Disk Drive)50b、メモリ50c、CPU10d及びFPGA50eを有する。
10a 共役勾配法制御装置
10b 疎行列ベクトル積演算装置
11 変換部
12 更新部
13 演算データ記憶部
14 前処理制御部
15 前処理部
16 加速部
161 ロード部
161a 読込部
161b 書込部
162 割当部
163 演算部
163a マルチポートメモリ
163b 乗算器
163c 加算器
163d パイプラインレジスタ
Claims (9)
- 共役勾配法の制御を行う共役勾配法制御装置から入力された演算データであって、疎行列との積を計算可能なベクトルと、列指向形式で圧縮された前記疎行列とを含む演算データを記憶する演算データ記憶部と、
前記演算データ記憶部から前記ベクトル及び前記疎行列を読み込む読込部と、
前記読込部によって読み込まれた前記ベクトル及び前記疎行列を用いて疎行列ベクトル積の演算を実行する演算部と、
前記演算部による演算の結果を前記演算データ記憶部に書き込む書込部と、
を有することを特徴とする疎行列ベクトル積演算装置。 - 前記ベクトルの要素である第1の要素と、前記第1の要素に対応する前記疎行列の非零の要素である第2の要素とを、複数の前記演算部のうちの前記第2の要素の行と予め対応付けられた演算部に割り当てる割当部をさらに有し、
前記演算部は、前記第1の要素及び前記第2の要素が割り当てられた場合、前記第1の要素と前記第2の要素との積及び前記積の和を求める演算を実行することを特徴とする請求項1に記載の疎行列ベクトル積演算装置。 - 前記演算データ記憶部は、前記演算データとして、前記第2の要素を格納した第1のデータと、前記第2の要素の列を特定する第2のデータと、前記第2の要素の行を特定する第3のデータとを少なくとも記憶し、
前記割当部は、前記第1のデータに格納された前記第2の要素と、前記第2のデータによって特定される当該第2の要素の列に対応した前記ベクトルの要素とを、前記第3のデータとともに前記演算部に割り当てることを特徴とする請求項2に記載の疎行列ベクトル積演算装置。 - 前記演算部は、
複数の書き込みポートと、前記複数の書き込みポートのそれぞれに対応した読み取りポートとを備え、部分和を前記疎行列の行と対応付けて記憶するマルチポートメモリと、
前記第1の要素と前記第2の要素とを乗じた値を出力する複数の乗算器と、
前記複数の書き込みポートのうちのいずれかの書き込みポート及び当該書き込みポートに対応した読み取りポートと接続され、前記乗算器によって出力された値と、前記読み取りポートから読み取った前記第2の要素の行に対応する部分和とを足した値を前記書き込みポートから前記マルチポートメモリに書き込む複数の加算器と、
を有することを特徴とする請求項2又は3に記載の疎行列ベクトル積演算装置。 - 前記演算データ記憶部は、少なくとも前記演算部の数と同数のポートを備えたことを特徴とする請求項1から4のいずれか1項に記載の疎行列ベクトル積演算装置。
- 前記演算データ記憶部は、ELL形式又はJAD形式で圧縮された前記疎行列を記憶することを特徴とする請求項1から5のいずれか1項に記載の疎行列ベクトル積演算装置。
- 予め設定された前記演算データに対する複数の前処理のそれぞれに対応した処理部を備え、指定された前処理に対応する処理部を用いて前処理を実行する前処理部と、
前記共役勾配法制御装置によって指定された前処理を、前記前処理部に対して指定する前処理制御部と、
をさらに有することを特徴とする請求項1から6のいずれか1項に記載の疎行列ベクトル積演算装置。 - 前記前処理部は、前記演算部による疎行列ベクトル積の演算が完了するたびに前処理を実行し、
前記演算部は、前記前処理部による前処理が完了するたびに疎行列ベクトル積の演算を実行することを特徴とする請求項7に記載の疎行列ベクトル積演算装置。 - 共役勾配法の制御を行う共役勾配法制御装置から入力された演算データであって、疎行列との積を計算可能なベクトルと、列指向形式で圧縮された前記疎行列とを含む演算データを記憶する演算データ記憶部を有する疎行列ベクトル積演算装置が、
前記演算データ記憶部から前記ベクトル及び前記疎行列を読み込み、
前記読み込む処理によって読み込まれた前記ベクトル及び前記疎行列を用いて疎行列ベクトル積の演算を実行し、
演算を実行する処理による演算の結果を前記演算データ記憶部に書き込む
処理を実行することを特徴とする疎行列ベクトル積演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017241098A JP6981223B2 (ja) | 2017-12-15 | 2017-12-15 | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017241098A JP6981223B2 (ja) | 2017-12-15 | 2017-12-15 | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019109626A true JP2019109626A (ja) | 2019-07-04 |
JP6981223B2 JP6981223B2 (ja) | 2021-12-15 |
Family
ID=67179785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017241098A Active JP6981223B2 (ja) | 2017-12-15 | 2017-12-15 | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6981223B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079082A (zh) * | 2019-12-20 | 2020-04-28 | 支付宝(杭州)信息技术有限公司 | 一种提高涉及稀疏矩阵计算速率的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03185745A (ja) * | 1989-12-14 | 1991-08-13 | Gurafuika:Kk | 三次元デバイスのシミュレーション装置 |
JP2001209631A (ja) * | 2000-01-25 | 2001-08-03 | Nec Corp | 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法 |
JP2005115497A (ja) * | 2003-10-03 | 2005-04-28 | Nec Corp | 連立一次方程式反復求解計算機、及び、連立一次方程式反復求解計算方法 |
JP2010122850A (ja) * | 2008-11-19 | 2010-06-03 | Muroran Institute Of Technology | 行列方程式計算装置および行列方程式計算方法 |
WO2017029766A1 (ja) * | 2015-08-20 | 2017-02-23 | 株式会社日立製作所 | 情報処理回路 |
WO2017154946A1 (ja) * | 2016-03-09 | 2017-09-14 | 日本電気株式会社 | 情報処理装置、情報処理方法、データ構造およびプログラム |
-
2017
- 2017-12-15 JP JP2017241098A patent/JP6981223B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03185745A (ja) * | 1989-12-14 | 1991-08-13 | Gurafuika:Kk | 三次元デバイスのシミュレーション装置 |
JP2001209631A (ja) * | 2000-01-25 | 2001-08-03 | Nec Corp | 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法 |
JP2005115497A (ja) * | 2003-10-03 | 2005-04-28 | Nec Corp | 連立一次方程式反復求解計算機、及び、連立一次方程式反復求解計算方法 |
JP2010122850A (ja) * | 2008-11-19 | 2010-06-03 | Muroran Institute Of Technology | 行列方程式計算装置および行列方程式計算方法 |
WO2017029766A1 (ja) * | 2015-08-20 | 2017-02-23 | 株式会社日立製作所 | 情報処理回路 |
WO2017154946A1 (ja) * | 2016-03-09 | 2017-09-14 | 日本電気株式会社 | 情報処理装置、情報処理方法、データ構造およびプログラム |
Non-Patent Citations (1)
Title |
---|
櫻井隆雄、片桐孝洋、大島聡史、黒田久泰、猪貝光祥、直野 健: "CFDツールOpenFOAMへの疎行列ライブラリXabclibの適用", 情報処理学会シンポジウム論文集[ONLINE], vol. HPCS2015, JPN6021031701, 12 May 2015 (2015-05-12), JP, pages 84, ISSN: 0004571003 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079082A (zh) * | 2019-12-20 | 2020-04-28 | 支付宝(杭州)信息技术有限公司 | 一种提高涉及稀疏矩阵计算速率的方法和系统 |
CN111079082B (zh) * | 2019-12-20 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 一种提高涉及稀疏矩阵计算速率的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6981223B2 (ja) | 2021-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111465924B (zh) | 用于将矩阵输入转换为矩阵处理器的向量化输入的系统和方法 | |
JP7374236B2 (ja) | 加速数学エンジン | |
CN107729996B (zh) | 零系数跳过卷积神经网络引擎 | |
CN107533459B (zh) | 使用电阻存储器阵列的数据处理方法和单元 | |
CN111183452A (zh) | 用于广义图像处理的图像预处理 | |
Kulkarni et al. | Systolic processing and an implementation for signal and image processing | |
TWI678617B (zh) | 用於在使用加法器之多維張量中存取資料之系統、電腦實施方法及設備 | |
CN111758107A (zh) | 用于基于硬件的池化的系统和方法 | |
TW201911039A (zh) | 存取初構及終解資料 | |
CN111340201A (zh) | 卷积神经网络加速器及其执行卷积运算操作的方法 | |
EP3093757B1 (en) | Multi-dimensional sliding window operation for a vector processor | |
CN108897716B (zh) | 通过存储器读写操作来缩减计算量的数据处理装置及方法 | |
US10810281B2 (en) | Outer product multipler system and method | |
KR20200081044A (ko) | 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치 | |
JP6955598B2 (ja) | 複数の畳み込みウィンドウ内の画像データの並行抽出方法、装置、機器及びコンピュータ可読記憶媒体 | |
EP4095719A1 (en) | Sparse matrix multiplication in hardware | |
US9244886B1 (en) | Minimum resource fast fourier transform | |
CN109902821B (zh) | 一种数据处理方法、装置及相关组件 | |
JP6981223B2 (ja) | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 | |
JP2023070746A (ja) | 情報処理プログラム、情報処理装置、及び情報処理方法 | |
US11409840B2 (en) | Dynamically adaptable arrays for vector and matrix operations | |
US20190012831A1 (en) | Systems, methods and, media for simulating deformations of nonlinear elastic bodies | |
JP7251354B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
JP7020555B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6906622B2 (ja) | 演算回路および演算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200901 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210817 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20210824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211006 |
|
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: 20211019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6981223 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |