JP3697992B2 - 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法 - Google Patents

行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法 Download PDF

Info

Publication number
JP3697992B2
JP3697992B2 JP2000015338A JP2000015338A JP3697992B2 JP 3697992 B2 JP3697992 B2 JP 3697992B2 JP 2000015338 A JP2000015338 A JP 2000015338A JP 2000015338 A JP2000015338 A JP 2000015338A JP 3697992 B2 JP3697992 B2 JP 3697992B2
Authority
JP
Japan
Prior art keywords
matrix
format
jad
converted
processors
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
Application number
JP2000015338A
Other languages
English (en)
Other versions
JP2001209631A (ja
Inventor
勉 襲田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000015338A priority Critical patent/JP3697992B2/ja
Publication of JP2001209631A publication Critical patent/JP2001209631A/ja
Application granted granted Critical
Publication of JP3697992B2 publication Critical patent/JP3697992B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法に関し、特に2台以上のプロセッサを持つ共有メモリベクトル並列計算機上でランダムスパースな行列とベクトルとの積の計算を高速に実行するためのシステムに関する。
【0002】
【従来の技術】
一般に、有限要素法による構造解析、流体解析のシミュレーションにおいては、まず、解を求める領域を三角形等の有限要素と呼ばれる小領域に分割する。その分割された小領域上に配置される点は格子点と呼ばれ、その格子上で支配方程式である偏微分方程式が離散化され、連立一次方程式が生成される。この連立一次方程式の解を求め、その解を微分方程式の近似解とする。
【0003】
有限要素法によって離散化されて生成された行列は、一般的にランダムスパース行列になる。近年、そのような係数行列をもつ連立一次方程式は反復法を適用することによって、求解されることが多く、実用問題では大型の共有メモリ並列ベクトル計算機が使われることが多い。また、その行列はCRS(Compressed Row Sparse format)形式と呼ばれるデータ構造で格納されることが多い。
【0004】
図18はこのCRS形式と呼ばれるデータ構造の記憶順序を示す図である。図18において、CRS形式と呼ばれるデータ構造ではデータが行毎に、矢印の向きの順序(図では左から右の順序)で配列に記憶されるようになっている。また、CRS形式と呼ばれるデータ構造では行の区切りを示す配列と非ゼロ小行列の行番号を記憶する配列と非ゼロ小行列の行列の成分を記憶する配列とを必要とする。
【0005】
実際の問題では1格子点上に複数の未知数が与えられていることが多い。例えば、構造解析では1格子点上に3方向の変位が未知数として与えられている。通常、それらをまとめて1つの小行列として処理し、全体の行列を小行列からなる行列として処理することで、高速で安定した連立一次の解法を構成することができる。
【0006】
また、反復法として共役勾配法系統の反復法がよく使われ、その反復法の主要な計算時間は行列ベクトル積の計算時間であることが知られている。それゆえ、行列ベクトル積の計算時間を短くすることで、連立一次方程式の求解に必要な計算時間を短くすることができる。
【0007】
1台のプロセッサだけで構成されるベクトル計算機で高速に行列ベクトル積を計算するための手法として、受取った行列のデータ構造をCRS形式からJAD(Jagged Diagonal format)形式に変換し、ベクトル長を長くした後に演算を行う方法が知られている。
【0008】
図19はこのJAD形式と呼ばれるデータ構造の記憶順序を示す図である。図19において、JAD形式と呼ばれるデータ構造ではデータが非ゼロ行列の個数の大きい順に並べ替えた後、列毎に、矢印の向きの順序(図では上から下の順序)で配列に記憶されるようになっている。また、JAD形式と呼ばれるデータ構造では列の区切りを示す配列と非ゼロ小行列の列番号を記憶する配列と非ゼロ小行列の行列の各成分を記憶する配列とを必要とする。
【0009】
複数台のプロセッサから構成される共有メモリベクトル計算機では、高速に行列ベクトル積を実行する方法として、図20に示すように、行列のデータ構造をJAD形式に変換してベクトル長を長くした後に、それを各プロセッサに均等の長さできり分けて処理を行う方法が取られている。
【0010】
すなわち、CRS形式の行列が入力されると(図20ステップS51)、CRS形式からJAD形式への変換が行われ(図20ステップS52)、JAD形式の行列が出力される(図20ステップS53)。
【0011】
このJAD形式の行列とベクトルとが入力されると(図20ステップS54)、JAD形式の行列を使った行列ベクトル積の演算が行われ(図20ステップS55)、行列ベクトル積を実行した結果のベクトルが出力される(図20ステップS56)。
【0012】
図21に従来の変換法の詳細なフローを示し、図22に行列ベクトル積の処理の詳細なフローを示す。図22に示すように、従来の方法は1回の行列ベクトル積の演算に対し、行あたりの最大非ゼロ行列個数回の同期を必要としており、演算の処理量に対して同期のオーバヘッドが表面化し、行列ベクトル積の演算速度が低下してしまう。
【0013】
従来の変換法では、CRS形式の行列が入力されると(図21ステップS61)、あるサイズの小行列のみの小行列が各行集められ(図21ステップS62)、各行の非ゼロ行列の個数が数えられ、各行、その個数が記憶される(図21ステップS63)。
【0014】
その後、記憶された個数の多い順で各行が入替えられ(図21ステップS64)、行毎に連続して記憶されているCRS形式が列毎に連続して記憶される(図21ステップS65)。上記の処理はすべてのサイズが処理されるまで繰返し行われ(図21ステップS62〜S66)、すべてのサイズが処理されると、JAD形式の行列が出力される(図21ステップS67)。
【0015】
一方、行列ベクトル積の処理では、JAD形式の行列及びベクトルが入力されると(図22ステップS71)、あるサイズの小行列のみJAD形式の行列で、ある1列に関して、その1列に含まれる非ゼロ小行列の個数をプロセッサ数で割った個数分だけ、各プロセッサが小行列とベクトルとの積を計算し、その結果を格納する(図22ステップS72)。その後に、各プロセッサが同期をとる(図22ステップS73)。
【0016】
上記の処理はすべての列に関して処理が完了するまで行われ(図22ステップS72〜S74)、すべての列に関して処理が完了すると、さらに全体の行列を構成するすべてのサイズを処理するまで繰返し行われる(図22ステップS72〜S75)。すべてのサイズが処理されると、行列ベクトル積を実行した結果のベクトルYが出力される(図22ステップS76)。
【0017】
【発明が解決しようとする課題】
共有メモリベクトル並列計算機上での行列ベクトル積の計算時間は、行列ベクトル積の演算時間と同期にかかる時間とからなる。共有メモリベクトル並列計算機上でランダムスパース行列とベクトルとの積を高速に実行する方法として、行列をJAD形式と呼ばれる構造に変換した後、行列ベクトル積を実行する方法が知られている。
【0018】
ところが、その方法では1列の計算毎にプロセッサ同士が同期をとる必要がある。つまり、行列ベクトル積だけで1行あたりの非ゼロ行列の最大個数回同期をとる必要がある。それゆえ、行列ベクトル積の全体の計算時間が長くなってしまい、行列ベクトル積の並列実行効率が低下してしまう。
【0019】
そこで、本発明の目的は上記の問題点を解消し、同期回数を減らし、共有メモリベクトル並列計算機上でランダムスパース行列とベクトルとの積を高速に実行することができる行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法を提供することにある。
【0020】
【課題を解決するための手段】
本発明による行列ベクトル積演算システムは、複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムであって、
全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換する変換手段と、前記変換手段で変換された前記JAD形式の行列を記憶する記憶手段と、前記記憶手段に記憶した前記JAD形式の行列とベクトルとの積を前記複数のプロセッサ各々に演算させるよう制御する制御手段とを備え、
前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記記憶手段に記憶するようにし
前記変換手段は、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換している。
【0021】
本発明による行列格納システムは、複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムにおいて前記行列を格納する行列格納システムであって、
全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換された後に格納する格納手段を有し、前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記格納手段に格納するようにし、
前記JAD形式の行列への変換は、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換している。
【0022】
本発明による行列ベクトル積演算方法は、複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算するための行列ベクトル積演算方法であって、
全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換するステップと、その変換された前記JAD形式の行列を記憶手段に記憶させるステップと、前記記憶手段に記憶された前記JAD形式の行列とベクトルとの積を前記複数のプロセッサ各々に演算させるよう制御するステップとを備え、
前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記記憶手段に記憶するようにし
前記JAD形式の行列に変換させるステップは、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換している。
【0023】
本発明による行列格納方法は、複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムにおいて前記行列を格納するための行列格納方法であって、
全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換された後に格納手段に格納するステップを有し、前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記格納手段に格納するようにし
前記JAD形式の行列への変換は、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換している。
【0024】
すなわち、本発明の行列ベクトル積演算システムは、演算処理を割当てるプロセッサ毎にJAD形式を構成し、同期の回数を低減することで、2台以上のプロセッサを持つ共有メモリベクトル並列計算機上で高速に行列ベクトル積を演算している。
【0025】
より具体的に、本発明の行列ベクトル積計算システムは、2台以上の処理装置と、それらの処理装置が共有する1台の記憶装置と、装置全体を制御するための制御部とから構成し、行列ベクトル積の実行前に係数行列のデータ構造を、計算を割当てる各プロセッサ毎にJAD形式に変換している。
【0026】
これによって、同期回数を減らすことが可能となり、係数行列の実行時間を従来のものよりも短くすることが可能となる。よって、共有メモリベクトル並列計算機上で動作する従来の行列ベクトル積計算システムよりも少ない同期回数で行列ベクトル積の演算を実行することが可能となる。
【0027】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例による行列ベクトル積演算システムの構成を示すブロック図である。図1において、本発明の一実施例による行列ベクトル積演算システムは記憶装置1と、システム全体の制御部2と、複数(2台以上)のベクトル処理装置3−1〜3−nからなるベクトル演算処理装置群3とから構成されている。
【0028】
記憶装置1は列の区切りの記憶部11と、非ゼロ小行列の列番号の記憶部12と、非ゼロ小行列の各成分の記憶部13とから構成されており、そこに整数や実数や複素数を記憶することができる。
【0029】
図2は図1の記憶装置1の詳細な構成例を示す図である。図2においては列の区切りの記憶部11、非ゼロ小行列の列番号の記憶部12、非ゼロ小行列の各成分の記憶部13の詳細な構成を示している。すなわち、列の区切りの記憶部11、非ゼロ小行列の列番号の記憶部12、非ゼロ小行列の各成分の記憶部13はそれぞれ1から順番に番号付けされており、それらはN次元の配列と1対1の対応付けがなされている。
【0030】
例えば、4次元の配列の場合、第1成分を順番に増やし、次に第2成分を増やし、次に第3成分を増やし、次に第4成分を増やすというように、1から順番に番号付けがなされている。
【0031】
本実施例においては、第1成分(X1)は小行列の番号(BLOCK)に対応付けされており、第2成分(X2)は小行列の列番号(BCOL)に対応付けされており、第3成分(X3)は小行列の行番号(BROW)に対応付けされており、第4成分(X4)はプロセッサ番号(PE:プロセッサエレメント)に対応付けされている。
【0032】
つまり、N次元の配列を(X1,X2,X3,X4)[1≦X1≦N1,1≦X2≦N2,1≦X3≦N3,1≦X4≦N4]とすると、記憶部の「1」に対応して(1,1,1,1)が、「2」に(2,1,1,1)が、・・・、「N1」に(N1,1,1,1)が、「N1+1」に(1,2,1,1)が、「N1+2」に(2,2,1,1)が、・・・、「2*N1」に(N1,2,1,1)が、・・・、「N1*N2」に(N1,N2,1,1)が、「N1*N2+1」に(1,1,2,1)が、・・・、「N1*N2*N3」に(N1,N2,N3,1)が、「N1*N2*N3+1」に(1,1,1,2)が、・・・、「N1*N2*N3*N4」に(N1,N2,N3,N4)がそれぞれ記憶されている。
【0033】
図3は図1の制御部2の制御方法を示すフローチャートである。この図3を参照して制御部2の制御方法の概要について説明する。尚、図3に示す処理動作は図示せぬ制御メモリのプログラムを制御部2が実行することで実現され、制御メモリとしてはROM(リードオンリメモリ)やIC(集積回路)メモリ等が使用可能である。
【0034】
制御部2の制御は2つの部分から構成されている。まず、入力をCRS形式で与えられた行列とし、本システムで提案する計算を割当てる各プロセッサ(ベクトル処理装置3−1〜3−n)毎にJAD形式を構成する形式に変換し、その変換を行った後の行列を出力とする。
【0035】
次に、入力として、その変換を行った後の行列とベクトルとを受取り、各プロセッサが行列ベクトル積を演算し、演算結果を出力とする。尚、CRS形式及びJAD形式は上述したように、図18及び図19に示すような順序で記憶する形式である。
【0036】
すなわち、制御部2はCRS形式の行列が入力されると(図3ステップS1)、各プロセッサ(ベクトル処理装置3−1〜3−n)毎にCRS形式から並列処理に向いた形式(JAD形式)への変換を行い(図3ステップS2)、その変換された並列処理に向いた形式の行列を記憶装置1に出力する(図3ステップS3)。記憶装置1はその行列を記憶する。
【0037】
次に、制御部2は各プロセッサ(ベクトル処理装置3−1〜3−n)を制御して以下の処理を行わせる。ベクトル処理装置3−1〜3−nは並列処理に向いた形式の行列及びベクトルが入力されると(図3ステップS4)、並列処理に向いた形式の行列を使った行列ベクトル積の演算を行い(図3ステップS5)、行列ベクトル積の演算を実行した結果のベクトルを出力する(図3ステップS6)。
【0038】
図4は本発明の一実施例によるデータ形式の変換の詳細な制御方法を示すフローチャートである。この図4を参照して本発明の一実施例によるデータ形式の変換の詳細な制御方法について説明する。尚、この図4に示す処理も制御部2が制御メモリのプログラムを実行することで実現される。
【0039】
まず、制御部2では受取ったCRS形式の行列の中からあるサイズの小行列のみを抽出する(図4ステップS11,S12)。その後に、制御部2は計算を割当てる各プロセッサ(ベクトル処理装置3−1〜3−n)毎に連続した領域を記憶装置1の中に確保する(図4ステップS13)。
【0040】
続いて、制御部2はあるサイズだけを抽出したCRS形式の行列の各行に各行の非ゼロ小行列の個数を数え、各行、その個数を記憶し(図4ステップS14)、記憶した個数の多い順でサイクリックに、プロセッサに割当てられた記憶領域に割当て、割当てられた順に行を入替えて記憶する(図4ステップS15)。
【0041】
次に、制御部2は各プロセッサの領域に割当てられた行毎に連続して記憶しているCRS形式を列毎に連続して記憶することで各プロセッサ毎のJAD形式を構成することができる(図4ステップS16)。制御部2は上記の処理をすべての種類の小行列サイズが終了するまで繰返し行い(図4ステップS12〜S17)、JAD形式を構成する行列を並列処理に向いた形式の行列として出力する(図4ステップS18)。
【0042】
図5は本発明の一実施例による行列ベクトル積の演算の詳細な制御方法を示すフローチャートである。この図5を参照して本発明の一実施例による行列ベクトル積の演算の詳細な制御方法について説明する。尚、この図5に示す処理も制御部2が制御メモリのプログラムを実行することで実現される。
【0043】
制御部2はベクトル処理演算装置群3のそれぞれのベクトル処理装置3−1〜3−nに対し、小行列のサイズがある特定のものだけを取出し、各プロセッサに割当てられたJAD形式の行列のすべての列に関して小行列とベクトルとの積を計算し、その計算結果を記憶装置1(結果ベクトル)に記憶する(図5ステップS21,S22)。
【0044】
その後に、制御部2はベクトル処理演算装置群3の同期を取る(図5ステップS23)。制御部2はそれらの操作をあらゆる大きさの小行列サイズのものの処理が完了するまで反復して実行し(図5ステップS24)、行列ベクトル積の演算を実行した結果のベクトルYを出力する(図5ステップS25)。
【0045】
ある特定のシミュレーションの場合、小行列の大きさが予め一定なものとして与えられることもある。その時の制御部2による詳細な制御方法を図6及び図7に示す。
【0046】
図6は本発明の一実施例によるデータ形式の変換の詳細な制御方法を示すフローチャートである。この図6を参照して小行列の大きさが予め一定なものとして与えられた場合の本発明の一実施例によるデータ形式の変換の詳細な制御方法について説明する。尚、この図6に示す処理も制御部2が制御メモリのプログラムを実行することで実現される。
【0047】
まず、制御部2では計算を割当てる各プロセッサ(ベクトル処理装置3−1〜3−n)毎に連続した領域を記憶装置1の中に確保する(図6ステップS31,S32)。制御部2はCRS形式の行列の各行に各行の非ゼロ小行列の個数を数え、各行その個数を記憶する(図6ステップS33)。
【0048】
制御部2は記憶した個数の多い順でサイクリックに、プロセッサに割当てられた記憶領域に割当て、割当てられた順に行を入替えて記憶する(図6ステップS34)。
【0049】
制御部2は各プロセッサの領域に割当てられた行毎に連続して記憶しているCRS形式を列毎に連続して記憶することで、各プロセッサ毎のJAD形式を構成することができる(図6ステップS35)。制御部2はJAD形式を構成する行列を並列処理に向いた形式の行列として出力する(図6ステップS36)。
【0050】
図7は本発明の一実施例による行列ベクトル積の演算の詳細な制御方法を示すフローチャートである。この図7を参照して本発明の一実施例による行列ベクトル積の演算の詳細な制御方法について説明する。尚、この図7に示す処理も制御部2が制御メモリのプログラムを実行することで実現される。
【0051】
制御部2はベクトル処理演算装置群3のそれぞれのベクトル処理装置3−1〜3−nに対し、各プロセッサに割当てられたJAD形式の行列のすべての列に関して小行列とベクトルとの積を計算し、その結果を記憶装置1(結果ベクトル)に記憶する(図7ステップS41,S42)。その後に、制御部2はベクトル処理演算装置群3の同期をとり(図7ステップS43)、行列ベクトル積の演算を実行した結果のベクトルYを出力する(図7ステップS44)。
【0052】
図8は本発明の一実施例による行列ベクトル積演算システムの他の構成を示すブロック図である。図8において、行列ベクトル積演算システムの他の構成では図1に示す本発明の一実施例による行列ベクトル積演算システムと同様な構成の高速行列ベクトル積演算システム4a,4bをネットワーク5によって結合している。この構成では各々の制御部2a,2bにおいて本発明の一実施例と同様の動作を行うので、その詳細な動作については省略する。
【0053】
図9は図1の記憶装置1における各記憶部の対応関係を示す図である。記憶装置1における各記憶部では、図2に示すように、第1成分が小行列の番号に対応付けされ、第2成分が小行列の列番号に対応付けされ、第3成分が小行列の行番号に対応付けされ、第4成分がプロセッサ番号に対応付けされているが、これらのような対応付けである必要はなく、図9に示すように、それらの対応を入替えたものであってもよい。
【0054】
具体的には第1成分、第2成分、第3成分、第4成分が以下のものであってもよい。つまり、
(小行列の列番号、小行列の番号、小行列の行番号、プロセッサ番号)
[(BCOL,BLOCK,BROW,PE)]
(小行列の行番号、小行列の番号、小行列の列番号、プロセッサ番号)
[(BROW,BLOCK,BCOL,PE)]
(小行列の番号、小行列の行番号、小行列の列番号、プロセッサ番号)
[(BLOCK,BROW,BCOL,PE)]
(小行列の行番号、小行列の列番号、小行列の番号、プロセッサ番号)
[(BROW,BCOL,BLOCK,PE)]
(小行列の列番号、小行列の行番号、小行列の番号、プロセッサ番号)
[(BCOL,BROW,BLOCK,PE)]
(小行列の列番号、小行列の番号、プロセッサ番号、小行列の行番号)
[(BCOL,BLOCK,PE,BROW)]
(小行列の番号、小行列の列番号、プロセッサ番号、小行列の行番号)
[(BLOCK,BCOL,PE,BROW)]
(小行列の番号、小行列の行番号、プロセッサ番号、小行列の列番号)
[(BLOCK,BROW,PE,BCOL)]
(小行列の行番号、小行列の番号、プロセッサ番号、小行列の列番号)
[(BROW,BLOCK,PE,BCOL)]
(小行列の行番号、小行列の列番号、プロセッサ番号、小行列の番号)
[(BROW,BCOL,PE,BLOCK)]
(小行列の列番号、小行列の行番号、プロセッサ番号、小行列の番号)
[(BCOL,BROW,PE,BLOCK)]
(小行列の行番号、プロセッサ番号、小行列の列番号、小行列の番号)
[(BROW,PE,BCOL,BLOCK)]
(小行列の行番号、プロセッサ番号、小行列の番号、小行列の列番号)
[(BROW,PE,BLOCK,BCOL)]
(小行列の列番号、プロセッサ番号、小行列の行番号、小行列の番号)
[(BCOL,PE,BROW,BLOCK)]
(小行列の列番号、プロセッサ番号、小行列の番号、小行列の行番号)
[(BCOL,PE,BLOCK,BROW)]
(小行列の番号、プロセッサ番号、小行列の行番号、小行列の列番号)
[(BLOCK,PE,BROW,BCOL)]
(小行列の番号、プロセッサ番号、小行列の列番号、小行列の行番号)
[(BLOCK,PE,BCOL,BROW)]
(プロセッサ番号、小行列の番号、小行列の列番号、小行列の行番号)
[(PE,BLOCK,BCOL,BROW)]
(プロセッサ番号、小行列の番号、小行列の行番号、小行列の列番号)
[(PE,BLOCK,BROW,BCOL)]
(プロセッサ番号、小行列の列番号、小行列の番号、小行列の行番号)
[(PE,BCOL,BLOCK,BROW)]
(プロセッサ番号、小行列の列番号、小行列の行番号、小行列の番号)
[(PE,BCOL,BROW,BLOCK)]
(プロセッサ番号、小行列の行番号、小行列の番号、小行列の列番号)
[(PE,BROW,BLOCK,BCOL)]
(プロセッサ番号、小行列の行番号、小行列の列番号、小行列の番号)
[(PE,BROW,BCOL,BLOCK)]
というような対応付けであってもよい。
【0055】
図10は図1の記憶装置1における各記憶部の他の対応関係を示す図である。図10においては各小行列のサイズが一定でかつ行数が1の場合の対応関係を示している。この場合、小行列の行番号に相当する成分(BROW)を省略することもできる。
【0056】
すなわち、
(小行列の番号、小行列の列番号、プロセッサ番号)
[(BLOCK,BCOL,PE)]
(小行列の列番号、プロセッサ番号、小行列の番号)
[(BCOL,PE,BLOCK)]
(小行列の列番号、小行列の番号、プロセッサ番号)
[(BCOL,BLOCK,PE)]
(プロセッサ番号、小行列の番号、小行列の列番号)
[(PE,BLOCK,BCOL)]
(プロセッサ番号、小行列の列番号、小行列の番号)
[(PE,BCOL,BLOCK)]
というような対応付けが考えられる。
【0057】
図11は図1の記憶装置1における各記憶部の別の対応関係を示す図である。図11においては各小行列のサイズが一定でかつ列数が1の場合の対応関係を示している。この場合、小行列の列番号に相当する成分(BCOL)を省略することもできる。
【0058】
すなわち、
(小行列の番号、小行列の行番号、プロセッサ番号)
[(BLOCK,BROW,PE)]
(小行列の行番号、プロセッサ番号、小行列の番号)
[(BROW,PE,BLOCK)]
(小行列の行番号、小行列の番号、プロセッサ番号)
[(BROW,BLOCK,PE)]
(プロセッサ番号、小行列の番号、小行列の行番号)
[(PE,BLOCK,BROW)]
(プロセッサ番号、小行列の行番号、小行列の番号)
[(PE,BROW,BLOCK)]
というような対応付けが考えられる。
【0059】
図12は本発明の他の実施例による行列ベクトル積演算システムの構成を示すブロック図である。図12において、本発明の他の実施例による行列ベクトル積演算システムは記憶装置1と、制御部2と、4台のベクトル処理装置3−1〜3−4からなるベクトル演算処理装置群3と、連立一次解法装置7とから構成されている。
【0060】
本発明の他の実施例による行列ベクトル積演算システムでは制御部2が連立一次解法装置7に付属しており、連立一次解法装置7の前処理実行部と行列ベクトル積実行部とにつながっている。連立一次解法装置7としてはマルチカラー(MC)オーダリング機能を搭載した装置を使用しており、前処理実行部及び行列ベクトル積実行部以外に、内積実行部とベクトル和実行部とを備えている。
【0061】
本発明の他の実施例においては、1格子点上に一様に3つの未知数が与えられている構造問題を離散化した結果から得られた連立一次方程式を解くようにした装置を示している。
【0062】
図13は本発明の他の実施例によるシステム評価結果を示す図であり、図14は本発明の他の実施例と同様の構成における従来のシステム評価結果を示す図である。これら図13及び図14においては、縦軸にプロセッサ台数(PE1〜PE4)をとり、横軸には連立一次方程式の次元数(3000,24000,81000,192000)をとっており、その交差するところには連立一次方程式を求解するまでの時間を示している。
【0063】
これら図13及び図14からわかるように、本発明の他の実施例による連立一次求解装置は従来の装置と比較し、次元数が「192000」の時に約1.58倍の速度向上を得ていることがわかる。その理由は従来の装置に比べて本発明の他の実施例による連立一次求解装置において同期の回数が低減しているために他ならない。
【0064】
図15は本発明の別の実施例による行列ベクトル積演算システムの構成を示すブロック図である。図15において、本発明の別の実施例による行列ベクトル積演算システムは記憶装置1と、制御部2と、4台のベクトル処理装置3−1〜3−4からなるベクトル演算処理装置群3と、連立一次解法装置8とから構成されている。
【0065】
本発明の他の実施例による行列ベクトル積演算システムでは制御部2が連立一次解法装置8に付属しており、連立一次解法装置8の前処理実行部と行列ベクトル積実行部とにつながっている。連立一次解法装置8としてはリバースカットヒルマッキー(RCM)オーダリング機能を搭載した装置を使用しており、前処理実行部及び行列ベクトル積実行部以外に、内積実行部とベクトル和実行部とを備えている。
【0066】
本発明の別の実施例においては、1格子点上に一様に3つの未知数が与えられている構造問題を離散化した結果から得られた連立一次方程式を解くようにした装置を示している。
【0067】
図16は本発明の別の実施例によるシステム評価結果を示す図であり、図17は本発明の別の実施例と同様の構成における従来のシステム評価結果を示す図である。これら図16及び図17においては、縦軸にプロセッサ台数(PE1〜PE4)をとり、横軸には連立一次方程式の次元数(3000,24000,81000,192000)をとっており、その交差するところには連立一次方程式を求解するまでの時間を示している。
【0068】
これら図16及び図17からわかるように、本発明の別の実施例による連立一次求解装置は従来の装置と比較し、次元数が「192000」の時に、約18.8倍の速度向上を得ていることがわかる。この理由は従来の装置に比べて本発明の別の実施例による連立一次求解装置において同期回数が低減しているために他ならない。
【0069】
上述したように、従来の装置を搭載した連立一次解法装置に比べ、本発明のシステムを塔載した連立一次解法装置は、同期回数を大幅に減らしている。その結果、192000の未知数を持つ連立一次方程式を、マルチカラーオーダリング機能を搭載したものでは約1.58倍、リバースカットヒルマッキー(RCM)オーダリング機能を搭載したものでは約18.8倍の速度向上を獲得することができる。
【0070】
尚、請求項の記載に関連して本発明はさらに次の態様をとりうる。
【0071】
(1)複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算するための行列ベクトル積演算制御プログラムを記録した記録媒体であって、前記行列ベクトル積演算制御プログラムは制御部に、全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換させ、その変換された前記JAD形式の行列を記憶手段に記憶させ、前記記憶手段に記憶された前記JAD形式の行列とベクトルとの積を前記複数のプロセッサ各々に演算させるよう制御させ、前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記記憶手段に記憶させるようにしたことを特徴とする行列ベクトル積演算制御プログラムを記録した記録媒体。
【0072】
(2)前記行列ベクトル積演算制御プログラムは前記制御部に、前記小行列各々のサイズが一定である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記記憶手段に記憶させるようにしたことを特徴とする(1)記載の行列ベクトル積演算制御プログラムを記録した記録媒体。
【0073】
(3)前記行列ベクトル積演算制御プログラムは前記制御部に、前記小行列各々のサイズが一定でかつ当該小行列の行数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記小行列の行数の情報なしに前記記憶手段に記憶させるようにしたことを特徴とする(1)記載の行列ベクトル積演算制御プログラムを記録した記録媒体。
【0074】
(4)前記行列ベクトル積演算制御プログラムは前記制御部に、前記小行列各々のサイズが一定でかつ当該小行列の列数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記小行列の列数の情報なしに前記記憶手段に記憶させるようにしたことを特徴とする(1)記載の行列ベクトル積演算制御プログラムを記録した記録媒体。
【0075】
(5)前記行列ベクトル積演算制御プログラムは前記制御部に、前記JAD形式の行列に変換させる際に、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記複数のプロセッサ各々に割当てる領域に列単位で記憶することで前記JAD形式のデータに変換するようにしたことを特徴とする(1)から(4)のいずれか記載の行列ベクトル積演算制御プログラムを記録した記録媒体。
【0076】
(6)複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムにおいて前記行列を格納するための行列格納制御プログラムを記録した記録媒体であって、前記行列格納制御プログラムは制御部に、全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換された後に格納手段に格納させ、前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記格納手段に格納させるようにしたことを特徴とする行列格納制御プログラムを記録した記録媒体。
【0077】
(7)前記行列格納制御プログラムは前記制御部に、前記小行列各々のサイズが一定である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換させた前記JAD形式の行列を前記格納手段に格納させるようにしたことを特徴とする(6)記載の行列格納制御プログラムを記録した記録媒体。
【0078】
(8)前記行列格納制御プログラムは前記制御部に、前記小行列各々のサイズが一定でかつ当該小行列の行数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換させた前記JAD形式の行列を前記小行列の行数の情報なしに前記格納手段に格納させるようにしたことを特徴とする(6)記載の行列格納制御プログラムを記録した記録媒体。
【0079】
(9)前記行列格納制御プログラムは前記制御部に、前記小行列各々のサイズが一定でかつ当該小行列の列数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換させた前記JAD形式の行列を前記小行列の列数の情報なしに前記格納手段に格納させるようにしたことを特徴とする(6)記載の行列格納制御プログラムを記録した記録媒体。
【0080】
(10)前記行列格納制御プログラムは前記制御部に、前記JAD形式の行列への変換を、行方向に連続記憶されて構成されるCRS(CompressedRow Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記複数のプロセッサ各々に割当てる領域に列単位で記憶させることで行うようにしたことを特徴とする(6)から(9)のいずれか記載の行列格納制御プログラムを記録した記録媒体。
【0081】
【発明の効果】
以上説明したように本発明によれば、複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムにおいて、全体の行列からあるサイズの小行列のみに着目して当該小行列に対して複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD形式の行列に変換し、その変換したJAD形式の行列を記憶手段に記憶し、記憶手段に記憶したJAD形式の行列とベクトルとの積を複数のプロセッサ各々に演算させるよう制御するとともに、全体の行列を構成するすべてのサイズの行列をJAD形式の行列に変換して記憶手段に記憶することによって、同期回数を減らし、共有メモリベクトル並列計算機上でランダムスパース行列とベクトルとの積を高速に実行することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例による行列ベクトル積演算システムの構成を示すブロック図である。
【図2】図1の記憶装置の詳細な構成例を示す図である。
【図3】図1の制御部の制御方法を示すフローチャートである。
【図4】本発明の一実施例によるデータ形式の変換の詳細な制御方法を示すフローチャートである。
【図5】本発明の一実施例による行列ベクトル積の演算の詳細な制御方法を示すフローチャートである。
【図6】本発明の一実施例によるデータ形式の変換の詳細な制御方法を示すフローチャートである。
【図7】本発明の一実施例による行列ベクトル積の演算の詳細な制御方法を示すフローチャートである。
【図8】本発明の一実施例による行列ベクトル積演算システムの他の構成を示すブロック図である。
【図9】図1の記憶装置における各記憶部の対応関係を示す図である。
【図10】図1の記憶装置における各記憶部の他の対応関係を示す図である。
【図11】図1の記憶装置における各記憶部の別の対応関係を示す図である。
【図12】本発明の他の実施例による行列ベクトル積演算システムの構成を示すブロック図である。
【図13】本発明の他の実施例によるシステム評価結果を示す図である。
【図14】本発明の他の実施例と同様の構成における従来のシステム評価結果を示す図である。
【図15】本発明の別の実施例による行列ベクトル積演算システムの構成を示すブロック図である。
【図16】本発明の別の実施例によるシステム評価結果を示す図である。
【図17】本発明の別の実施例と同様の構成における従来のシステム評価結果を示す図である。
【図18】CRS形式と呼ばれるデータ構造の記憶順序を示す図である。
【図19】JAD形式と呼ばれるデータ構造の記憶順序を示す図である。
【図20】従来例による行列ベクトル積演算システムの制御動作を示すフローチャートである。
【図21】従来例による行列ベクトル積演算システムのデータ構造変換の制御動作を示すフローチャートである。
【図22】従来例による行列ベクトル積演算システムの行列ベクトル積の制御動作を示すフローチャートである。
【符号の説明】
1,1a,1b 記憶装置
2,2a,2b 制御部
3−1〜3−n,
3a−1〜3a−n,
3b−1〜3b−n ベクトル処理装置
4a,4b 高速行列ベクトル積演算システム
5 ネットワーク
11 列の区切りの記憶部
12 非ゼロ小行列の列番号の記憶部
13 非ゼロ小行列の各成分の記憶部

Claims (16)

  1. 複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムであって、
    全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換する変換手段と、前記変換手段で変換された前記JAD形式の行列を記憶する記憶手段と、前記記憶手段に記憶した前記JAD形式の行列とベクトルとの積を前記複数のプロセッサ各々に演算させるよう制御する制御手段とを有し、
    前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記記憶手段に記憶するようにし
    前記変換手段は、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換することを特徴とする行列ベクトル積演算システム。
  2. 前記小行列各々のサイズが一定である時に当該小行列を前記変換手段で前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記記憶手段に記憶させるようにしたことを特徴とする請求項1記載の行列ベクトル積演算システム。
  3. 前記小行列各々のサイズが一定でかつ当該小行列の行数が1である時に当該小行列を前記変換手段で前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記小行列の行数の情報なしに前記記憶手段に記憶させるようにしたことを特徴とする請求項1記載の行列ベクトル積演算システム。
  4. 前記小行列各々のサイズが一定でかつ当該小行列の列数が1である時に当該小行列を前記変換手段で前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記小行列の列数の情報なしに前記記憶手段に記憶させるようにしたことを特徴とする請求項1記載の行列ベクトル積演算システム。
  5. 複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムにおいて前記行列を格納する行列格納システムであって、
    全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換された後に格納する格納手段を有し、前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記格納手段に格納するようにし
    前記JAD形式の行列への変換は、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換することを特徴とする行列格納システム。
  6. 前記小行列各々のサイズが一定である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換し、その変換した前記JAD形式の行列を前記格納手段に格納するようにしたことを特徴とする請求項5記載の行列格納システム。
  7. 前記小行列各々のサイズが一定でかつ当該小行列の行数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換し、その変換した前記JAD形式の行列を前記小行列の行数の情報なしに前記格納手段に格納するようにしたことを特徴とする請求項5記載の行列格納システム。
  8. 前記小行列各々のサイズが一定でかつ当該小行列の列数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換し、その変換した前記JAD形式の行列を前記小行列の列数の情報なしに前記格納手段に格納するようにしたことを特徴とする請求項5記載の行列格納システム。
  9. 複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算するための行列ベクトル積演算方法であって、
    全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換するステップと、その変換された前記JAD形式の行列を記憶手段に記憶させるステップと、前記記憶手段に記憶された前記JAD形式の行列とベクトルとの積を前記複数のプロセッサ各々に演算させるよう制御するステップとを有し、
    前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記記憶手段に記憶するようにし
    前記JAD形式の行列に変換させるステップは、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換することを特徴とする行列ベクトル積演算方法。
  10. 前記小行列各々のサイズが一定である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記記憶手段に記憶させるようにしたことを特徴とする請求項9記載の行列ベクトル積演算方法。
  11. 前記小行列各々のサイズが一定でかつ当該小行列の行数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記小行列の行数の情報なしに前記記憶手段に記憶させるようにしたことを特徴とする請求項9記載の行列ベクトル積演算方法。
  12. 前記小行列各々のサイズが一定でかつ当該小行列の列数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換させ、その変換された前記JAD形式の行列を前記小行列の列数の情報なしに前記記憶手段に記憶させるようにしたことを特徴とする請求項9記載の行列ベクトル積演算方法。
  13. 複数のプロセッサを持つ共有メモリベクトル並列計算機上で行列とベクトルとの積を演算する行列ベクトル積演算システムにおいて前記行列を格納するための行列格納方法であって、
    全体の行列からあるサイズの小行列のみに着目して当該小行列に対して前記複数のプロセッサ毎に列方向に連続記憶されて構成されるJAD(Jagged Diagonal format)形式の行列に変換された後に格納手段に格納するステップを有し、前記全体の行列を構成するすべてのサイズの行列を前記JAD形式の行列に変換して前記格納手段に格納するようにし
    前記JAD形式の行列への変換は、行方向に連続記憶されて構成されるCRS(Compressed Row Sparse format)形式のデータが入力された時に前記CRS形式のデータの各行の非ゼロ小行列の個数を数え、その個数の大きなものから順に前記行を並べ替え、並べ替えた前記行を一番目から順に前記複数のプロセッサ各々に割り振られた領域に循環式に割り当て、前記行を列単位で記憶することで前記JAD形式のデータに変換することを特徴とする行列格納方法。
  14. 前記小行列各々のサイズが一定である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換し、その変換した前記JAD形式の行列を前記格納手段に格納するようにしたことを特徴とする請求項13記載の行列格納方法。
  15. 前記小行列各々のサイズが一定でかつ当該小行列の行数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換し、その変換した前記JAD形式の行列を前記小行列の行数の情報なしに前記格納手段に格納するようにしたことを特徴とする請求項13記載の行列格納方法。
  16. 前記小行列各々のサイズが一定でかつ当該小行列の列数が1である時に当該小行列を前記複数のプロセッサ毎に前記JAD形式の行列に変換し、その変換した前記JAD形式の行列を前記小行列の列数の情報なしに前記格納手段に格納するようにしたことを特徴とする請求項13記載の行列格納方法。
JP2000015338A 2000-01-25 2000-01-25 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法 Expired - Fee Related JP3697992B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000015338A JP3697992B2 (ja) 2000-01-25 2000-01-25 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000015338A JP3697992B2 (ja) 2000-01-25 2000-01-25 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法

Publications (2)

Publication Number Publication Date
JP2001209631A JP2001209631A (ja) 2001-08-03
JP3697992B2 true JP3697992B2 (ja) 2005-09-21

Family

ID=18542658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000015338A Expired - Fee Related JP3697992B2 (ja) 2000-01-25 2000-01-25 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法

Country Status (1)

Country Link
JP (1) JP3697992B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227152A (ja) * 2005-02-16 2006-08-31 Nippon Telegr & Teleph Corp <Ntt> 計算装置およびその計算装置を利用した収音装置
JP2009087282A (ja) * 2007-10-03 2009-04-23 Fuji Xerox Co Ltd 並列計算システムおよび並列計算方法
JP5262177B2 (ja) * 2008-02-22 2013-08-14 富士通株式会社 ベクトル積の並列処理方法
JP6083300B2 (ja) 2013-03-29 2017-02-22 富士通株式会社 プログラム、並列演算方法および情報処理装置
US10846362B2 (en) 2016-03-09 2020-11-24 Nec Corporation Information processing apparatus, information processing method, data structure and program
JP6981223B2 (ja) * 2017-12-15 2021-12-15 富士通株式会社 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法

Also Published As

Publication number Publication date
JP2001209631A (ja) 2001-08-03

Similar Documents

Publication Publication Date Title
US11809514B2 (en) Expanded kernel generation
CN108874745B (zh) 原生张量处理器及张量缩并的分割
CN110494867B (zh) 用于操作机器学习的电子装置和用于操作机器学习的方法
US10768894B2 (en) Processor, information processing apparatus and operation method for processor
JP2019106186A (ja) 畳み込みニューラルネットワークにおいて畳み込み演算を実行する装置および方法
JP2021509747A (ja) ハードウェアベースのプーリングのシステムおよび方法
US20220036165A1 (en) Method and apparatus with deep learning operations
JPH0233191B2 (ja)
CN111340201A (zh) 卷积神经网络加速器及其执行卷积运算操作的方法
TW202022711A (zh) 使用記憶體內運算的卷積加速器
JP3697992B2 (ja) 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法
CN110580519A (zh) 一种卷积运算结构及其方法
WO2021232422A1 (zh) 神经网络的运算装置及其控制方法
CN109598335B (zh) 一种二维卷积脉动阵列结构及实现方法
WO2021168644A1 (zh) 数据处理装置、电子设备和数据处理方法
JP3593439B2 (ja) 画像処理装置
JP5429164B2 (ja) 有限オートマトン生成システム
CN115115023A (zh) 用于生成关于卷积层权重的损失函数的梯度的方法和系统
JP7251354B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
KR102548283B1 (ko) 콘볼루션 신경망 컴퓨팅 장치
TWI835562B (zh) 機器學習優化電路及其方法
CN111985628A (zh) 计算装置及包括所述计算装置的神经网络处理器
JP7310215B2 (ja) 工程編成装置、工程編成方法および工程編成プログラム
KR102428033B1 (ko) 트랜스포즈드 콘볼루션 하드웨어 가속장치
JP2959815B2 (ja) 並列データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

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: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120715

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120715

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130715

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees