JP6950675B2 - 情報処理装置、情報処理方法、データ構造およびプログラム - Google Patents
情報処理装置、情報処理方法、データ構造およびプログラム Download PDFInfo
- Publication number
- JP6950675B2 JP6950675B2 JP2018504539A JP2018504539A JP6950675B2 JP 6950675 B2 JP6950675 B2 JP 6950675B2 JP 2018504539 A JP2018504539 A JP 2018504539A JP 2018504539 A JP2018504539 A JP 2018504539A JP 6950675 B2 JP6950675 B2 JP 6950675B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- format
- vector
- column
- information processing
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 24
- 238000003672 processing method Methods 0.000 title description 6
- 239000011159 matrix material Substances 0.000 claims description 199
- 239000013598 vector Substances 0.000 claims description 125
- 238000000034 method Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 25
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Description
本発明は、日本国特許出願:特願2016−046028号(2016年3月9日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は情報処理装置、情報処理方法、データ構造およびプログラムに関し、特に、ベクトル計算機、ベクトル計算機用の行列格納方法および行列ベクトル積演算方法、ベクトル計算機用のデータ構造、ならびに、ベクトル計算機用のプログラムに関する。
[構成]
次に、第1の実施形態に係る計算機について図面を参照して詳細に説明する。
次に、図4のフロー図および図5の例を参照して、行列形式変換部4の動作について詳細に説明する。
本実施形態の計算機2によると、図2に示すように、列長が十分長い部分をJDS形式で保存し、それ以外の部分をCRS形式で保存することで、いずれの領域でもベクトル長を長くすることができる。したがって、本実施形態の計算機2によると、ベクトル長を長くし、疎行列ベクトル積を高速に演算することが可能となる。
上記実施形態では、一例として、行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列をJDS形式で保持し、一方それ以外の列に対する部分行列をCRS形式で保持するものとした。しかし、行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を保持する形式はJDS形式に限定されず、列優先で行列の要素を格納する他の形式を用いてもよい。例えば、CCS(Compressed Column Storage)形式や、ELLPACK(ELL)形式も利用可能である。同様に、それ以外の列に対する部分行列を保持する形式はCRS形式に限定されず、行優先で行列の要素を格納する他の形式を用いてもよい。例えば、JDS形式やELL形式を行方向に転置した形式を用いてもよい。
[形態1]
上記第1の態様に係る情報処理装置のとおりである。
[形態2]
上記した形態において、
前記第1の形式は、列優先で前記行列の要素を格納する形式であることが好ましい。
[形態3]
上記した形態において、
前記第1の形式は、JDS(Jagged Diagonal Storage)形式であることが好ましい。
[形態4]
上記した形態において、
前記第2の形式は、行優先で前記行列の要素を格納する形式であることが好ましい。
[形態5]
上記した形態において、
前記第2の形式は、CRS(Compressed Row Storage)形式であることが好ましい。
[形態6]
上記した形態において、
前記第1の変換部は、前記行列の非ゼロ要素を左詰めにし、左詰めにした行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持し、
前記第2の変換部は、前記左詰めにした行列のそれ以外の列に対する部分行列を前記第2の形式で保持する、
構成を採ることができる。
[形態7]
上記した形態において、
前記第1の変換部は、前記左詰めにした行列の行を各行に含まれる非ゼロ要素の数の降順に並び替え、前記降順に並び替えた行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持し、
前記第2の変換部は、前記降順に並び替えた行列のそれ以外の列に対する部分行列を前記第2の形式で保持する、
構成を採ることができる。
[形態8]
上記した形態において、
前記第1の形式で保持した部分行列とベクトルの積を計算するとともに、前記第2の形式で保持した部分行列と前記ベクトルの積を計算し、前記計算した積を足し合わせることにより、前記行列と前記ベクトルの積を求める行列ベクトル積演算部を備える、
構成を採ることができる。
[形態9]
上記した形態において、
前記所定の数は、前記行列とベクトルの積を計算するベクトル計算機のベクトルレジスタ長であることが好ましい。
[形態10]
上記した形態において、
行方向と列方向とを入れ替えることができる。
[形態11]
上記した形態において、
前記行列は、疎行列であることが好ましい。
[形態12]
上記した形態において、
前記行列の列ごとの非ゼロ要素の数は、Zipf分布に従うことが好ましい。
[形態13]
上記した形態において、
情報処理装置が、ベクトル計算機であることが好ましい。
[形態14]
上記第2の態様に係る情報処理方法のとおりである。
[形態15]
上記した形態において、
前記第1の形式は、列優先で前記行列の要素を格納する形式であることが好ましい。
[形態16]
上記した形態において、
前記第1の形式は、JDS(Jagged Diagonal Storage)形式であることが好ましい。
[形態17]
上記した形態において、
前記第2の形式は、行優先で前記行列の要素を格納する形式であることが好ましい。
[形態18]
上記した形態において、
前記第2の形式は、CRS(Compressed Row Storage)形式であることが好ましい。
[形態19]
上記した形態において、
前記行列の非ゼロ要素を左詰めにし、左詰めにした行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持するステップと、
前記左詰めにした行列のそれ以外の列に対する部分行列を前記第2の形式で保持するステップと、を含む、ことができる。
[形態20]
上記した形態において、
前記左詰めにした行列の行を各行に含まれる非ゼロ要素の数の降順に並び替え、前記降順に並び替えた行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持するステップと、
前記降順に並び替えた行列のそれ以外の列に対する部分行列を前記第2の形式で保持するステップと、を含むことができる。
[形態21]
上記した形態において、
前記第1の形式で保持した部分行列とベクトルの積を計算するステップと、
前記第2の形式で保持した部分行列と前記ベクトルの積を計算するステップと、
前記計算した積を足し合わせることにより、前記行列と前記ベクトルの積を求めるステップと、を含むことができる。
[形態22]
上記した形態において、
前記所定の数は、前記行列とベクトルの積を計算するベクトル計算機のベクトルレジスタ長であることが好ましい。
[形態23]
上記した形態において、
行方向と列方向とを入れ替えることができる。
[形態24]
上記した形態において、
前記行列は、疎行列であることが好ましい。
[形態25]
上記した形態において、
前記行列の列ごとの非ゼロ要素の数は、Zipf分布に従うことが好ましい。
[形態26]
上記第3の態様に係るデータ構造のとおりである。
[形態27]
上記した形態において、
前記第1の形式は、列優先で前記行列の要素を格納する形式であることが好ましい。
[形態28]
上記した形態において、
前記第1の形式は、JDS(Jagged Diagonal Storage)形式であることが好ましい。
[形態29]
上記した形態において、
前記第2の形式は、行優先で前記行列の要素を格納する形式であることが好ましい。
[形態30]
上記した形態において、
前記第2の形式は、CRS(Compressed Row Storage)形式であることが好ましい。
[形態31]
上記した形態において、
前記行列の非ゼロ要素を左詰めにし、左詰めにした行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持するとともに、
前記第2の変換部は、前記左詰めにした行列のそれ以外の列に対する部分行列を前記第2の形式で保持する、
構成を採ることができる。
[形態32]
上記した形態において、
前記左詰めにした行列の行を各行に含まれる非ゼロ要素の数の降順に並び替え、前記降順に並び替えた行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持するとともに、
前記降順に並び替えた行列のそれ以外の列に対する部分行列を前記第2の形式で保持する、
構成を採ることができる。
[形態33]
上記した形態において、
前記所定の数は、前記行列とベクトルの積を計算するベクトル計算機のベクトルレジスタ長であることが好ましい。
[形態34]
上記した形態において、
行方向と列方向とを入れ替えることができる。
[形態35]
上記した形態において、
前記行列は、疎行列であることが好ましい。
[形態36]
上記した形態において、
前記行列の列ごとの非ゼロ要素の数は、Zipf分布に従うことが好ましい。
[形態37]
上記第4の態様に係るプログラムのとおりである。
[形態38]
上記した形態において、
前記第1の形式は、列優先で前記行列の要素を格納する形式であることが好ましい。
[形態39]
上記した形態において、
前記第1の形式は、JDS(Jagged Diagonal Storage)形式であることが好ましい。
[形態40]
上記した形態において、
前記第2の形式は、行優先で前記行列の要素を格納する形式であることが好ましい。
[形態41]
上記した形態において、
前記第2の形式は、CRS(Compressed Row Storage)形式であることが好ましい。
[形態42]
上記した形態において、
前記行列の非ゼロ要素を左詰めにし、左詰めにした行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持する処理と、
前記左詰めにした行列のそれ以外の列に対する部分行列を前記第2の形式で保持する処理と、を前記コンピュータに実行させることができる。
[形態43]
上記した形態において、
前記左詰めにした行列の行を各行に含まれる非ゼロ要素の数の降順に並び替え、前記降順に並び替えた行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持する処理と、
前記降順に並び替えた行列のそれ以外の列に対する部分行列を前記第2の形式で保持する処理と、を前記コンピュータに実行させることができる。
[形態44]
上記した形態において、
前記第1の形式で保持した部分行列とベクトルの積を計算する処理と、
前記第2の形式で保持した部分行列と前記ベクトルの積を計算する処理と、
前記計算した積を足し合わせることにより、前記行列と前記ベクトルの積を求める処理と、を前記コンピュータに実行させることができる。
[形態45]
上記した形態において、
前記所定の数は、前記行列とベクトルの積を計算するベクトル計算機のベクトルレジスタ長であることが好ましい。
[形態46]
上記した形態において、
行方向と列方向とを入れ替えることができる。
[形態47]
上記した形態において、
前記行列は、疎行列であることが好ましい。
[形態48]
上記した形態において、
前記行列の列ごとの非ゼロ要素の数は、Zipf分布に従うことが好ましい。
4 行列形式変換部
6 行列ベクトル積演算部
8 情報処理装置
10 第1の変換部
12 第2の変換部
Claims (6)
- 行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を列優先で前記行列の要素を格納するJDS(Jagged Diagonal Storage)形式で保持する第1の変換部と、
前記行列のそれ以外の列に対する部分行列を第2の形式で保持する第2の変換部と、を備える、
ことを特徴とする情報処理装置。 - 前記第2の形式は、行優先で前記行列の要素を格納する形式である、
請求項1に記載の情報処理装置。 - 前記第2の形式は、CRS(Compressed Row Storage)形式である、
請求項2に記載の情報処理装置。 - 前記第1の変換部は、前記行列の非ゼロ要素を左詰めにし、左詰めにした行列の列のうちの非ゼロ要素の数が所定の数以上の列を非ゼロ要素としてもつ行列を前記JDS形式で保持し、
前記第2の変換部は、前記左詰めにした行列のそれ以外を非ゼロ要素としてもつ行列を前記第2の形式で保持する、
請求項1ないし3のいずれか1項に記載の情報処理装置。 - 前記JDS形式で保持した部分行列とベクトルの積を計算するとともに、前記第2の形式で保持した部分行列と前記ベクトルの積を計算し、前記計算した積を足し合わせることにより、前記行列と前記ベクトルの積を求める行列ベクトル積演算部を備える、
請求項1ないし4のいずれか1項に記載の情報処理装置。 - 行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を列優先で前記行列の要素を格納するJDS(Jagged Diagonal Storage)形式で保持する処理と、
前記行列のそれ以外の列に対する部分行列を第2の形式で保持する処理と、をコンピュータに実行させる、
ことを特徴とするプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016046028 | 2016-03-09 | ||
JP2016046028 | 2016-03-09 | ||
PCT/JP2017/009140 WO2017154946A1 (ja) | 2016-03-09 | 2017-03-08 | 情報処理装置、情報処理方法、データ構造およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017154946A1 JPWO2017154946A1 (ja) | 2019-01-10 |
JP6950675B2 true JP6950675B2 (ja) | 2021-10-13 |
Family
ID=59790316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018504539A Active JP6950675B2 (ja) | 2016-03-09 | 2017-03-08 | 情報処理装置、情報処理方法、データ構造およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10846362B2 (ja) |
JP (1) | JP6950675B2 (ja) |
WO (1) | WO2017154946A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977704B (zh) | 2017-11-10 | 2020-07-31 | 中国科学院计算技术研究所 | 权重数据存储方法和基于该方法的神经网络处理器 |
JP6981223B2 (ja) * | 2017-12-15 | 2021-12-15 | 富士通株式会社 | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 |
US11200056B2 (en) * | 2018-02-08 | 2021-12-14 | Nec Corporation | Parallel union control device, parallel union control method, and storage medium |
JP7020236B2 (ja) * | 2018-03-28 | 2022-02-16 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びプログラム |
WO2021024300A1 (ja) * | 2019-08-02 | 2021-02-11 | 日本電気株式会社 | 情報処理装置 |
KR20210024865A (ko) | 2019-08-26 | 2021-03-08 | 삼성전자주식회사 | 데이터를 처리하는 방법 및 장치 |
JP7096218B2 (ja) * | 2019-09-04 | 2022-07-05 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US20220365783A1 (en) * | 2021-05-13 | 2022-11-17 | Nvidia Corporation | Matrix multiplication and accumulation operations on compressed matrices |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0666069B2 (ja) | 1990-03-12 | 1994-08-24 | 日本電気技術情報システム開発株式会社 | ベクトル計算機の記憶装置への大規模不規則疎行列格納法 |
JP3697992B2 (ja) | 2000-01-25 | 2005-09-21 | 日本電気株式会社 | 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法 |
US10275479B2 (en) * | 2014-02-27 | 2019-04-30 | Sas Institute Inc. | Sparse matrix storage in a database |
US9928034B2 (en) * | 2014-12-17 | 2018-03-27 | Nvidia Corporation | Work-efficient, load-balanced, merge-based parallelized consumption of sequences of sequences |
-
2017
- 2017-03-08 US US16/080,159 patent/US10846362B2/en active Active
- 2017-03-08 WO PCT/JP2017/009140 patent/WO2017154946A1/ja active Application Filing
- 2017-03-08 JP JP2018504539A patent/JP6950675B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20190050371A1 (en) | 2019-02-14 |
US10846362B2 (en) | 2020-11-24 |
JPWO2017154946A1 (ja) | 2019-01-10 |
WO2017154946A1 (ja) | 2017-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6950675B2 (ja) | 情報処理装置、情報処理方法、データ構造およびプログラム | |
US9600763B1 (en) | Information processing method, information processing device, and non-transitory recording medium for storing program | |
CN103455518A (zh) | 一种数据处理方法及装置 | |
JP5405641B2 (ja) | 挙動解析システム、挙動解析方法及び挙動解析プログラム | |
Ahmad et al. | On higher-order sequential fractional differential inclusions with nonlocal three-point boundary conditions | |
Einkemmer et al. | Exponential integrators on graphic processing units | |
Cheng et al. | An improved design of an on-road bicycle frame under fatigue testing simulations | |
JP5888782B2 (ja) | 連立一次方程式の演算処理システム | |
JP2018049583A (ja) | シミュレーション方法、コンピュータプログラム、及びシミュレーション装置 | |
WO2011016281A2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
CN108205523A (zh) | 利用语料库训练稠密词向量的方法及装置 | |
JP6663875B2 (ja) | 問題解決装置、方法、及びプログラム | |
Souza et al. | Discretisation of sparse linear systems: An optimisation approach | |
JP5493104B2 (ja) | 損失コスト計算方法及び損失コスト計算プログラム、並びに損失コスト計算装置 | |
JP2011076264A5 (ja) | ||
JP2017041207A (ja) | 構造解析装置、方法、及びプログラム | |
JP7020236B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2013205998A (ja) | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム | |
US20230367843A1 (en) | Vectorized Operations for Sparse Kernels | |
JP6316163B2 (ja) | 解析装置および解析方法 | |
JP5730748B2 (ja) | 領域集合演算装置及び方法及びプログラム | |
Ji et al. | Research on parallel algorithms for solving tridiagonal sparse linear equations | |
JP2006048637A (ja) | 連立一次方程式の計算プログラム、連立一次方程式の計算装置、及び連立一次方程式の求解方法 | |
Sharma et al. | Viewer’s Sentiments on Game of Thrones: An Automated Lexicon-Based Sentiment Analysis on Real-Time YouTube Comments | |
Jia et al. | A Method of Multi-Failure Models Based on Response Surfaces Method-High Dimensional Model Representation on Structural Reliability Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210305 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210518 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210709 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210709 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20210727 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20210803 |
|
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: 20210824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210906 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6950675 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |