JP5736336B2 - 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム - Google Patents
行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム Download PDFInfo
- Publication number
- JP5736336B2 JP5736336B2 JP2012072524A JP2012072524A JP5736336B2 JP 5736336 B2 JP5736336 B2 JP 5736336B2 JP 2012072524 A JP2012072524 A JP 2012072524A JP 2012072524 A JP2012072524 A JP 2012072524A JP 5736336 B2 JP5736336 B2 JP 5736336B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- matrix
- vector product
- storage areas
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
行分割単位L(Lは1以上かつMより小さい整数)で分割した前記二値行列Xに対応するZDD(ゼロサプレス型二分決定グラフ)を、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、
行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、
前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行手段と、
前記演算実行手段により算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力手段とを備えることを特徴とする行列ベクトル積演算装置として構成される。
図1に、本実施の形態に係る行列ベクトル積演算装置の機能構成図を示す。図1に示すように、本実施の形態の行列ベクトル積演算装置は、ベクトル入力部(M2)、行列演算実行部(M3)、計算結果出力部(M4) 、データ入力部(M5)、ZDD構築部(M6)、データ記憶部(M7)を有する。
本実施の形態に係る処理を説明する前に、まず、ZDDについて簡単に説明しておく。なお、ZDD自体は既存技術である。
以下、本実施の形態に係る行列ベクトル積演算装置の処理を図3のフローチャートに示す手順に沿って説明する。
ステップS55でiの先頭ノードフィールドが空でないかを調べ、空でなければステップS56に遷移する。空ならばステップS59に遷移する。ステップS56、S57では、各先頭ノードフィールドについて、score[j] = score[j] + data[address(i)]を計算することによりscore[j]を更新する処理を行う。
既存手法では、計算のある時点からアクセスされなくなる記憶領域があるが、本実施の形態では、このことに着目し、計算途中にアクセスする必要がある記憶領域を削減し、CPUキャッシュヒット率を高めている。
M2 ベクトル入力部
M3 行列演算実行部
M4 計算結果出力部
M5 データ入力部
M6 ZDD構築部
M7 データ記憶部
Claims (7)
- N行M列(N、Mはともに1以上の整数)の二値行列XとM次元の実数ベクトルqとの積Xqを計算する行列ベクトル積演算装置であって、
行分割単位L(Lは1以上かつMより小さい整数)で分割した前記二値行列Xに対応するZDD(ゼロサプレス型二分決定グラフ)を、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、
行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、
前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行手段と、
前記演算実行手段により算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力手段と
を備えることを特徴とする行列ベクトル積演算装置。 - 前記配列データは、ノードID(i)毎に、ノードのラベル(v(i))、HIリンク先のノードID(HI(i))、LOリンク先のノードID(LO(i))、先頭ノードフィールド、レベル番号フィールドを有し、前記先頭ノードフィールドの内容は、対応ノードが分割された行列の各行で最左の1に対応するノードであった場合の行番号の集合であり、レベル番号フィールドの値は、同じラベルを持つノードのうち何番目のノードであるかを示す整数であり、
前記N個の記憶領域の要素をscore[i] (1≦i≦N)、前記N×L+1個の記憶領域の要素をdata[i] (1≦i≦N×L+1)とし、
num(i)をノードiのレベル番号としたときの配列data中での位置を示す関数address(i)を、
v(i) =ejとした場合において、
前記演算実行手段は、
data[address(i)]の値を、実数ベクトルの要素qjとdata[address(HI(i))]の値の和に更新し、iの先頭ノードフィールドが空でないかを調べ、空でなければ先頭ノードフィールドの各値について、score[j] = score[j] + data[address(i)]を計算することによりscore[j]を更新し、iの先頭ノードフィールドが空である場合、又は空でない場合のscore[j]の更新が終了した後に、次のiについて処理に進む処理ステップを、iを3から配列データサイズ−Nまで変化させて繰り返す
ことを特徴とする請求項1に記載の行列ベクトル積演算装置。 - 前記二値行列の各行に対応するシンボルをrk(k=1〜N)とした場合において、
j = HI(i)を取得し、jが1でないなら配列データのj番目の要素の先頭ノードフィールドに、対応するrkの添字kを追加し、j = LO(j)と更新する処理をjが1になるまで繰り返すステップを、v(i)=r1, r2, ..., rNとなるN個のノードについて順に実行することにより、前記先頭ノードフィールドの値を設定する手段
を有することを特徴とする請求項2に記載の行列ベクトル積演算装置。 - N行M列(N、Mはともに1以上の整数)の二値行列XとM次元の実数ベクトルqとの積Xqを計算する行列ベクトル積演算装置が実行する行列ベクトル積演算方法であって、
前記行列ベクトル積演算装置は、
行分割単位L(Lは1以上かつMより小さい整数)で分割した前記二値行列Xに対応するZDD(ゼロサプレス型二分決定グラフ)を、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、
行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、を備え、
前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行ステップと、
前記演算実行ステップにより算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力ステップと
を備えることを特徴とする行列ベクトル積演算方法。 - 前記配列データは、ノードID(i)毎に、ノードのラベル(v(i))、HIリンク先のノードID(HI(i))、LOリンク先のノードID(LO(i))、先頭ノードフィールド、レベル番号フィールドを有し、前記先頭ノードフィールドの内容は、対応ノードが分割された行列の各行で最左の1に対応するノードであった場合の行番号の集合であり、レベル番号フィールドの値は、同じラベルを持つノードのうち何番目のノードであるかを示す整数であり、
前記N個の記憶領域の要素をscore[i] (1≦i≦N)、前記N×L+1個の記憶領域の要素をdata[i] (1≦i≦N×L+1)とし、
num(i)をノードiのレベル番号としたときの配列data中での位置を示す関数address(i)を、
v(i) =ejとした場合において、
前記演算実行ステップにおいて、前記行列ベクトル積演算装置は、
data[address(i)]の値を、実数ベクトルの要素qjとdata[address(HI(i))]の値の和に更新し、iの先頭ノードフィールドが空でないかを調べ、空でなければ先頭ノードフィールドの各値について、score[j] = score[j] + data[address(i)]を計算することによりscore[j]を更新し、iの先頭ノードフィールドが空である場合、又は空でない場合のscore[j]の更新が終了した後に、次のiについて処理に進む処理ステップを、iを3から配列データサイズ−Nまで変化させて繰り返す
ことを特徴とする請求項4に記載の行列ベクトル積演算方法。 - 前記二値行列の各行に対応するシンボルをrk(k=1〜N)とした場合において、
j = HI(i)を取得し、jが1でないなら配列データのj番目の要素の先頭ノードフィールドに、対応するrkの添字kを追加し、j = LO(j)と更新する処理をjが1になるまで繰り返すステップを、v(i)=r1, r2, ..., rNとなるN個のノードについて順に実行することにより、前記先頭ノードフィールドの値を設定するステップを、
前記演算実行ステップの前段階のステップとして有することを特徴とする請求項5に記載の行列ベクトル積演算方法。 - 前記データ記憶手段と前記演算データ記憶手段を備えるコンピュータを、請求項1又は2に記載の前記演算実行手段、前記出力手段として機能させるための行列ベクトル積演算プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012072524A JP5736336B2 (ja) | 2012-03-27 | 2012-03-27 | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012072524A JP5736336B2 (ja) | 2012-03-27 | 2012-03-27 | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013205998A JP2013205998A (ja) | 2013-10-07 |
JP5736336B2 true JP5736336B2 (ja) | 2015-06-17 |
Family
ID=49525037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012072524A Expired - Fee Related JP5736336B2 (ja) | 2012-03-27 | 2012-03-27 | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5736336B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5856926B2 (ja) * | 2012-08-27 | 2016-02-10 | 日本電信電話株式会社 | ベクトルと行列との積の計算装置及び方法及びプログラム |
CN110276047B (zh) * | 2019-05-18 | 2023-01-17 | 南京惟心光电系统有限公司 | 一种利用光电计算阵列进行矩阵向量乘运算的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5634941B2 (ja) * | 2011-05-18 | 2014-12-03 | 日本電信電話株式会社 | 演算装置、演算方法および演算プログラム |
-
2012
- 2012-03-27 JP JP2012072524A patent/JP5736336B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013205998A (ja) | 2013-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114219076B (zh) | 量子神经网络训练方法及装置、电子设备和介质 | |
CN111582491A (zh) | 一种量子线路的构建方法及装置 | |
CN111914378B (zh) | 一种单振幅量子计算模拟方法及装置 | |
CN103309893B (zh) | 一种字符串的比较方法及装置 | |
CN115577790B (zh) | 哈密顿量模拟方法、装置、设备及存储介质 | |
JP2020057306A (ja) | 最適化装置及び最適化装置の制御方法 | |
CN115169568B (zh) | 量子计算处理方法、装置及电子设备 | |
JP5169837B2 (ja) | 文字列照合用有限オートマトン生成システム、その生成方法、及び生成プログラム | |
CN104699660A (zh) | 概述非线性回归问题中的结构化矩阵 | |
CN114693934A (zh) | 语义分割模型的训练方法、视频语义分割方法及装置 | |
CN114764620B (zh) | 一种量子卷积操作器 | |
JP5736336B2 (ja) | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム | |
CN116167446B (zh) | 量子计算处理方法、装置及电子设备 | |
JP5709179B2 (ja) | 隠れマルコフモデルの推定方法,推定装置および推定プログラム | |
JP6870738B2 (ja) | 乱数生成システム、乱数生成方法および乱数生成プログラム | |
Bhatia et al. | Quantifying matrix product state | |
Eden et al. | Embeddings and labeling schemes for A | |
US20170148357A1 (en) | Matrix generation apparatus, matrix generation method, and non-transitory computer-readable recording medium storing matrix generation program | |
CN115114569A (zh) | 一种基于量子线路的非线性偏微分方程求解方法及装置 | |
JP5901558B2 (ja) | Ppr演算装置、方法、及びプログラム | |
CN116151383B (zh) | 量子计算处理方法、装置及电子设备 | |
CN114116850B (en) | Network security situation prediction method and device, electronic equipment and readable storage medium | |
US11741187B2 (en) | Calculation device, calculation method, and computer program product | |
Dixit et al. | Analysis on Applicability and Feasibility of Dynamic Programming on the Basis of Time Complexity and Space Through Case Studies | |
JP7377493B2 (ja) | Zsdd構築装置、zsdd構築方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20131001 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150223 |
|
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: 20150414 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5736336 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |