JPWO2017154946A1 - 情報処理装置、情報処理方法、データ構造およびプログラム - Google Patents
情報処理装置、情報処理方法、データ構造およびプログラム Download PDFInfo
- Publication number
- JPWO2017154946A1 JPWO2017154946A1 JP2018504539A JP2018504539A JPWO2017154946A1 JP WO2017154946 A1 JPWO2017154946 A1 JP WO2017154946A1 JP 2018504539 A JP2018504539 A JP 2018504539A JP 2018504539 A JP2018504539 A JP 2018504539A JP WO2017154946 A1 JPWO2017154946 A1 JP WO2017154946A1
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- format
- vector
- columns
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims description 7
- 239000011159 matrix material Substances 0.000 claims abstract description 230
- 238000006243 chemical reaction Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 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
- 238000000926 separation method Methods 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)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
Abstract
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 (10)
- 行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を第1の形式で保持する第1の変換部と、
前記行列のそれ以外の列に対する部分行列を第2の形式で保持する第2の変換部と、を備える、
ことを特徴とする情報処理装置。 - 前記第1の形式は、列優先で前記行列の要素を格納する形式である、
請求項1に記載の情報処理装置。 - 前記第1の形式は、JDS(Jagged Diagonal Storage)形式である、
請求項2に記載の情報処理装置。 - 前記第2の形式は、行優先で前記行列の要素を格納する形式である、
請求項1ないし3のいずれか1項に記載の情報処理装置。 - 前記第2の形式は、CRS(Compressed Row Storage)形式である、
請求項4に記載の情報処理装置。 - 前記第1の変換部は、前記行列の非ゼロ要素を左詰めにし、左詰めにした行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を前記第1の形式で保持し、
前記第2の変換部は、前記左詰めにした行列のそれ以外の列に対する部分行列を前記第2の形式で保持する、
請求項1ないし5のいずれか1項に記載の情報処理装置。 - 前記第1の形式で保持した部分行列とベクトルの積を計算するとともに、前記第2の形式で保持した部分行列と前記ベクトルの積を計算し、前記計算した積を足し合わせることにより、前記行列と前記ベクトルの積を求める行列ベクトル積演算部を備える、
請求項1ないし6のいずれか1項に記載の情報処理装置。 - 行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を第1の形式で保持するステップと、
前記行列のそれ以外の列に対する部分行列を第2の形式で保持するステップと、を含む、
ことを特徴とする情報処理方法。 - 行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を第1の形式で保持するとともに、
前記行列のそれ以外の列に対する部分行列を第2の形式で保持する、
ことを特徴とするデータ構造。 - 行列の列のうちの非ゼロ要素の数が所定の数以上の列に対する部分行列を第1の形式で保持する処理と、
前記行列のそれ以外の列に対する部分行列を第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 true JPWO2017154946A1 (ja) | 2019-01-10 |
JP6950675B2 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 | 富士通株式会社 | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 |
WO2019156060A1 (ja) * | 2018-02-08 | 2019-08-15 | 日本電気株式会社 | 並列ユニオン制御装置、並列ユニオン制御方法、および記憶媒体 |
JP7020236B2 (ja) * | 2018-03-28 | 2022-02-16 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US20220253507A1 (en) * | 2019-08-02 | 2022-08-11 | Nec Corporation | Information processing apparatus |
KR20210024865A (ko) | 2019-08-26 | 2021-03-08 | 삼성전자주식회사 | 데이터를 처리하는 방법 및 장치 |
JP7096218B2 (ja) * | 2019-09-04 | 2022-07-05 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
KR20220161255A (ko) * | 2021-05-13 | 2022-12-06 | 엔비디아 코포레이션 | 행렬 값 표시 수행 |
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 WO PCT/JP2017/009140 patent/WO2017154946A1/ja active Application Filing
- 2017-03-08 US US16/080,159 patent/US10846362B2/en active Active
- 2017-03-08 JP JP2018504539A patent/JP6950675B2/ja active Active
Non-Patent Citations (1)
Title |
---|
MATAM, KIRAN KUMAR ET AL.: "Accelerating Sparse Matrix Vector Multiplication in Iterative Methods Using GPU", PROCEEDINGS OF THE 2011 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, JPN6020049998, 13 September 2011 (2011-09-13), US, pages 612 - 621, XP032461061, ISSN: 0004416041, DOI: 10.1109/ICPP.2011.82 * |
Also Published As
Publication number | Publication date |
---|---|
US10846362B2 (en) | 2020-11-24 |
JP6950675B2 (ja) | 2021-10-13 |
US20190050371A1 (en) | 2019-02-14 |
WO2017154946A1 (ja) | 2017-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017154946A1 (ja) | 情報処理装置、情報処理方法、データ構造およびプログラム | |
US10338925B2 (en) | Tensor register files | |
US9600763B1 (en) | Information processing method, information processing device, and non-transitory recording medium for storing program | |
Dehghan Nezhad et al. | A physical example of algebraic hyperstructures: Leptons | |
Del Corro et al. | Skipdecode: Autoregressive skip decoding with batching and caching for efficient llm inference | |
JP2016015538A5 (ja) | ||
CN105335375B (zh) | 主题挖掘方法和装置 | |
JP7310892B2 (ja) | 情報処理装置 | |
JP5405641B2 (ja) | 挙動解析システム、挙動解析方法及び挙動解析プログラム | |
CN103455518A (zh) | 一种数据处理方法及装置 | |
JP6930607B2 (ja) | 信号処理装置、方法、プログラムと記録媒体 | |
Einkemmer et al. | Exponential integrators on graphic processing units | |
US20200192631A1 (en) | Fused convolution and batch normalization for neural networks | |
JP5888782B2 (ja) | 連立一次方程式の演算処理システム | |
JP5493104B2 (ja) | 損失コスト計算方法及び損失コスト計算プログラム、並びに損失コスト計算装置 | |
Totur et al. | Tauberian conditions for the (C, α)(C, α) integrability of functions | |
JP5325072B2 (ja) | 行列分解装置、行列分解方法及びプログラム | |
JP2011076264A5 (ja) | ||
CN110852112A (zh) | 词向量嵌入方法及装置 | |
Sanaullah et al. | Self‐Adaptive Predictor‐Corrector Approach for General Variational Inequalities Using a Fixed‐Point Formulation | |
JP7020236B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
O’Donnell | A first law of humanities computing | |
US20230281268A1 (en) | Calculation device, calculation program, recording medium, and calculation method | |
JP6316163B2 (ja) | 解析装置および解析方法 | |
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 | Request for written amendment filed |
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 | Request for written amendment filed |
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 |