JPH06236392A - パラレル型計算機向け超行列演算方式 - Google Patents
パラレル型計算機向け超行列演算方式Info
- Publication number
- JPH06236392A JPH06236392A JP2223493A JP2223493A JPH06236392A JP H06236392 A JPH06236392 A JP H06236392A JP 2223493 A JP2223493 A JP 2223493A JP 2223493 A JP2223493 A JP 2223493A JP H06236392 A JPH06236392 A JP H06236392A
- Authority
- JP
- Japan
- Prior art keywords
- sum
- rstu
- cpu
- subscript
- product
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 10
- 239000002131 composite material Substances 0.000 claims description 2
- 150000001875 compounds Chemical class 0.000 claims 1
- 230000001133 acceleration Effects 0.000 abstract description 8
- 230000003993 interaction Effects 0.000 description 18
- 238000004776 molecular orbital Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000004169 molecular integral Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004219 molecular orbital method Methods 0.000 description 3
- 210000001175 cerebrospinal fluid Anatomy 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 150000002605 large molecules Chemical class 0.000 description 2
- 229920002521 macromolecule Polymers 0.000 description 2
- 230000005624 perturbation theories Effects 0.000 description 2
- 230000005428 wave function Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241000053208 Porcellio laevis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000003084 configuration interaction method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005628 many-body perturbation theory Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】パラレル化方式によって、超行列の積和演算処
理についてCPU台数に応じたスケーラブルな加速を得
ることができるパラレル型計算機向け超行列演算方式の
提供。 【構成】2つ以上の多重添字を持つ超行列量に関する積
和、 ZI (R) =ΣJ Σrstu・・QIJ rstu・・Srstu・・CJ (R)
(1) の演算処理において、積和添字群rstu・・に関する部分を
2つ以上に分割し、 ZI (R) =Σrs・・(ΣJ Σtu・・QIJ rstu・・Srstu・・CJ
(R) ) (2) などとして、分割された添字群rs・・、及び積和に直接関
与せずベクトル列を指定する添字R を複合的に組み合わ
せてパラレル処理のために制御変数とし、式(2)の括
弧内の部分演算処理をパラレル型計算機を構成する個々
のCPUに実行させる。
理についてCPU台数に応じたスケーラブルな加速を得
ることができるパラレル型計算機向け超行列演算方式の
提供。 【構成】2つ以上の多重添字を持つ超行列量に関する積
和、 ZI (R) =ΣJ Σrstu・・QIJ rstu・・Srstu・・CJ (R)
(1) の演算処理において、積和添字群rstu・・に関する部分を
2つ以上に分割し、 ZI (R) =Σrs・・(ΣJ Σtu・・QIJ rstu・・Srstu・・CJ
(R) ) (2) などとして、分割された添字群rs・・、及び積和に直接関
与せずベクトル列を指定する添字R を複合的に組み合わ
せてパラレル処理のために制御変数とし、式(2)の括
弧内の部分演算処理をパラレル型計算機を構成する個々
のCPUに実行させる。
Description
【0001】
【産業上の利用分野】本発明は、例えば分子軌道法にお
ける配置間相互作用(CI:configurationinteraction
)計算の緩和反復による求解過程などに現れる2つ以
上の多重添字を持つ超行列量に関する積和演算を、複数
のCPUを有するパラレル型計算機上で実行することに
より、処理に要する演算時間を短縮できるパラレル型計
算機向け超行列演算方式に関する。
ける配置間相互作用(CI:configurationinteraction
)計算の緩和反復による求解過程などに現れる2つ以
上の多重添字を持つ超行列量に関する積和演算を、複数
のCPUを有するパラレル型計算機上で実行することに
より、処理に要する演算時間を短縮できるパラレル型計
算機向け超行列演算方式に関する。
【0002】
【従来の技術】例えば、図3に示す分子軌道法における
配置間相互作用計算の緩和反復による求解過程では、2
つ以上の多重添字を持つ超行列に関する積和の一般化表
現である下式(4’) ZI (R) =ΣJ Σrstu・・QIJ rstu・・Srstu・・CJ (R) (4’) の添字を4つとした、 ZI (R) =ΣJ ΣrstuQIJ rstuSrstuCJ (R) (4) なる積和が繰り返し計算され、この演算時間が求解に要
する全CPU時間を支配している。
配置間相互作用計算の緩和反復による求解過程では、2
つ以上の多重添字を持つ超行列に関する積和の一般化表
現である下式(4’) ZI (R) =ΣJ Σrstu・・QIJ rstu・・Srstu・・CJ (R) (4’) の添字を4つとした、 ZI (R) =ΣJ ΣrstuQIJ rstuSrstuCJ (R) (4) なる積和が繰り返し計算され、この演算時間が求解に要
する全CPU時間を支配している。
【0003】ここで、CJ (R) は緩和反復により更新中
のR 番目の解ベクトル、ZI (R) は積和演算(式
(4))により構成されるR 番目の作業ベクトルであ
り、CベクトルとZベクトル個々の要素は添字IJで指定
される。Srstuは分子軌道の添字rstuによって指定され
る2電子分子積分、またQIJ rstuはIJによって特定され
る電子配置とスピン結合によって決まる積和係数であ
る。
のR 番目の解ベクトル、ZI (R) は積和演算(式
(4))により構成されるR 番目の作業ベクトルであ
り、CベクトルとZベクトル個々の要素は添字IJで指定
される。Srstuは分子軌道の添字rstuによって指定され
る2電子分子積分、またQIJ rstuはIJによって特定され
る電子配置とスピン結合によって決まる積和係数であ
る。
【0004】上記の配置間相互作用計算に限らず、一般
式(4’)で表される超行列の積和演算は、構造解析、
熱伝導解析等に用いられる有限要素計算などでも現れ、
その処理は求解に要する全CPU時間を支配しているた
め、アルゴリズムの改良等による高速化の最重要ポイン
トである。
式(4’)で表される超行列の積和演算は、構造解析、
熱伝導解析等に用いられる有限要素計算などでも現れ、
その処理は求解に要する全CPU時間を支配しているた
め、アルゴリズムの改良等による高速化の最重要ポイン
トである。
【0005】従来技術では、式(4’)の積和演算は図
2の流れにそって実行され、その高速化アルゴリズムの
工夫は、最深部ループの実行長を出来る限り長く取る
等、単一のベクトル型CPUを持つ計算機での実行を前
提として主に行われてきた。最近では、ベクトル型CP
Uを数台〜十数台程度まとめた小規模のパラレル型計算
機も利用可能ではあるが、アルゴリズム的には新たな工
夫がなされていないため十分な加速は得られない。
2の流れにそって実行され、その高速化アルゴリズムの
工夫は、最深部ループの実行長を出来る限り長く取る
等、単一のベクトル型CPUを持つ計算機での実行を前
提として主に行われてきた。最近では、ベクトル型CP
Uを数台〜十数台程度まとめた小規模のパラレル型計算
機も利用可能ではあるが、アルゴリズム的には新たな工
夫がなされていないため十分な加速は得られない。
【0006】一方、科学技術計算のための高速機(いわ
ゆるスーパーコンピュータ)の進化の観点から考えれ
ば、単一〜十数台のベクトル型CPU構成の計算機では
もはや劇的な性能向上は望めないことは明かであり、テ
ラフロップス(TFLOPS)超級の処理速度を達成するため
にも、今後は数百台〜数千台規模の複数のベクトル型C
PU、ないしは高速スカラー型CPUを有するパラレル
型計算機が実行のプラットフォームとなることが予測さ
れる。
ゆるスーパーコンピュータ)の進化の観点から考えれ
ば、単一〜十数台のベクトル型CPU構成の計算機では
もはや劇的な性能向上は望めないことは明かであり、テ
ラフロップス(TFLOPS)超級の処理速度を達成するため
にも、今後は数百台〜数千台規模の複数のベクトル型C
PU、ないしは高速スカラー型CPUを有するパラレル
型計算機が実行のプラットフォームとなることが予測さ
れる。
【0007】パラレル型計算機では、単一ベクトル型計
算機と異なり、直接アーキテクチャー的に時間軸上の処
理が3次元空間に展開されるため、ベクトル機の場合の
最深ループ長の長大化の工夫に加えて、メモリー構成や
その内容の整合性、あるいは通信頻度などの問題を合わ
せて考慮しなければ有効な高速化アルゴリズムは考案出
来ない。しかし、これまでのところ、式(4’)の積和
処理を高速化するパラレル型計算機向けの方式は提案さ
れていない。
算機と異なり、直接アーキテクチャー的に時間軸上の処
理が3次元空間に展開されるため、ベクトル機の場合の
最深ループ長の長大化の工夫に加えて、メモリー構成や
その内容の整合性、あるいは通信頻度などの問題を合わ
せて考慮しなければ有効な高速化アルゴリズムは考案出
来ない。しかし、これまでのところ、式(4’)の積和
処理を高速化するパラレル型計算機向けの方式は提案さ
れていない。
【0008】
【発明が解決しようとする課題】従来技術においては、
式(4’)の積和処理を単一のベクトル型CPUを持つ
計算機で実行する場合、例えばtuに関する2重ループを
1重ループにまとめるなどして最深ループ長を、ベクト
ル処理に先立つ前処理のオーバーヘッドによって理論処
理速度よりも低下する領域を越えるように、出来る限り
長く取るなどの工夫が高速処理アルゴリズムの骨格を成
していた。
式(4’)の積和処理を単一のベクトル型CPUを持つ
計算機で実行する場合、例えばtuに関する2重ループを
1重ループにまとめるなどして最深ループ長を、ベクト
ル処理に先立つ前処理のオーバーヘッドによって理論処
理速度よりも低下する領域を越えるように、出来る限り
長く取るなどの工夫が高速処理アルゴリズムの骨格を成
していた。
【0009】しかし、tuの添字長が実行機の理論ベクト
ル性能を与える長さ(lT とする)以上に達している場
合、それ以上の速度向上は望めず、tuの過剰長、及びそ
の外側を取り巻くrsやJ などtu以外の添字に関する多重
処理ループは、そのまま全処理時間の増加因子となって
しまう。そのため、積和添字の変数長が理論ベクトル性
能長に比べて非常に長い大規模計算は、ベクトル化によ
る加速をもってしても高速化は依然困難な状況にあると
いう問題点がある。
ル性能を与える長さ(lT とする)以上に達している場
合、それ以上の速度向上は望めず、tuの過剰長、及びそ
の外側を取り巻くrsやJ などtu以外の添字に関する多重
処理ループは、そのまま全処理時間の増加因子となって
しまう。そのため、積和添字の変数長が理論ベクトル性
能長に比べて非常に長い大規模計算は、ベクトル化によ
る加速をもってしても高速化は依然困難な状況にあると
いう問題点がある。
【0010】また、現存の数台〜十数台までの小規模パ
ラレル型計算機での式(4’)の実行において、単純に
式中のベクトル列を指定する添字R をパラレル化の変数
とすることも出来るが、ベクトル列の数が数本と小さい
場合はCPU台数を活かした有効な加速が得られず、よ
りCPU台数の多いパラレル型計算機では、CPUの有
効利用率の悪さはより深刻となるはずで、処理方式は根
本的に見直さなければならないという問題点がある。
ラレル型計算機での式(4’)の実行において、単純に
式中のベクトル列を指定する添字R をパラレル化の変数
とすることも出来るが、ベクトル列の数が数本と小さい
場合はCPU台数を活かした有効な加速が得られず、よ
りCPU台数の多いパラレル型計算機では、CPUの有
効利用率の悪さはより深刻となるはずで、処理方式は根
本的に見直さなければならないという問題点がある。
【0011】
【課題を解決するための手段】本発明のパラレル型計算
機向け超行列演算方式は、2つ以上の多重添字を持つ超
行列量に関する積和、 AI (R) =ΣJ Σrstu・・XIJ rstu・・Yrstu・・BJ (R) (1) の演算処理において、積和添字群rstu・・に関する部分を
2つ以上に分割し、 AI (R) =Σrs・・(ΣJ Σtu・・XIJ rstu・・Yrstu・・BJ (R) ) (2) などとして、分割された添字群rs・・、及び積和に直接関
与せずベクトル列を指定する添字R を複合的に組み合わ
せてパラレル処理のために制御変数とし、式(2)の括
弧内の部分演算処理をパラレル型計算機を構成する個々
のCPUに実行させることを特徴としている。
機向け超行列演算方式は、2つ以上の多重添字を持つ超
行列量に関する積和、 AI (R) =ΣJ Σrstu・・XIJ rstu・・Yrstu・・BJ (R) (1) の演算処理において、積和添字群rstu・・に関する部分を
2つ以上に分割し、 AI (R) =Σrs・・(ΣJ Σtu・・XIJ rstu・・Yrstu・・BJ (R) ) (2) などとして、分割された添字群rs・・、及び積和に直接関
与せずベクトル列を指定する添字R を複合的に組み合わ
せてパラレル処理のために制御変数とし、式(2)の括
弧内の部分演算処理をパラレル型計算機を構成する個々
のCPUに実行させることを特徴としている。
【0012】
【作用】第1の発明によれば、式(2)において添字群
rs・・及びR を複合的に組み合わせてパラレル化すること
が出来るので、数台〜数千台のCPUを有するパラレル
型計算機に対して有効な加速を得ることが可能である。
rs・・及びR を複合的に組み合わせてパラレル化すること
が出来るので、数台〜数千台のCPUを有するパラレル
型計算機に対して有効な加速を得ることが可能である。
【0013】独立性のある添字R に関しては、パラレル
化に伴う積和値整合性保持、いわゆる排他制御の問題は
生じないが、分割された積和添字群rs・・に関するパラレ
ル化では排他制御の必要がある。排他制御にはCPU間
での通信が伴い、台数が増加した際のパラレル化加速効
率の低下要因となることが知られている(スケーラビリ
ティ(scalability )の低下)。そこで、第2の発明に
より、ある(rs・・,R )対について式(2)の括弧内の
積和処理の終えた個々のCPUは、式(3)に従って部
分生成された積和値をマスターコピーに移し、続けて新
しい(r's'・・,R')対について処理を進め、以下全ての
パラレル化変数対についての処理が終わるまで連続的に
この操作を続ける。
化に伴う積和値整合性保持、いわゆる排他制御の問題は
生じないが、分割された積和添字群rs・・に関するパラレ
ル化では排他制御の必要がある。排他制御にはCPU間
での通信が伴い、台数が増加した際のパラレル化加速効
率の低下要因となることが知られている(スケーラビリ
ティ(scalability )の低下)。そこで、第2の発明に
より、ある(rs・・,R )対について式(2)の括弧内の
積和処理の終えた個々のCPUは、式(3)に従って部
分生成された積和値をマスターコピーに移し、続けて新
しい(r's'・・,R')対について処理を進め、以下全ての
パラレル化変数対についての処理が終わるまで連続的に
この操作を続ける。
【0014】これによって単位時間あたりの各CPUの
負荷分散が図られるので、与えられたCPU資源を有効
に利用することが出来る。すなわち、第2の発明のパラ
レル化方法によって超行列の積和処理に関して排他制御
に関わる通信頻度を低減し、パラレル化効率の低下を抑
え、スケーラブルな加速を得ている。
負荷分散が図られるので、与えられたCPU資源を有効
に利用することが出来る。すなわち、第2の発明のパラ
レル化方法によって超行列の積和処理に関して排他制御
に関わる通信頻度を低減し、パラレル化効率の低下を抑
え、スケーラブルな加速を得ている。
【0015】rs・・及びR の複合パラレル化の実際の制御
については、第3の発明によりマスターとスレーブのよ
うにCPU群を階層化して行う方法、第4の発明により
広域メモリー上に置かれる制御テーブルを各CPUが参
照しながら行う方法、の2方式を挙げる。
については、第3の発明によりマスターとスレーブのよ
うにCPU群を階層化して行う方法、第4の発明により
広域メモリー上に置かれる制御テーブルを各CPUが参
照しながら行う方法、の2方式を挙げる。
【0016】パラレル化変数であるrs・・が指定されれ
ば、式(2)の括弧内の積和を実行すべき各CPUは、
積和処理の対象である超行列XIJ rstu・・、Yrstu・・の全
体ではなく、積和添字群tu・・に関する部分だけを参照す
れば良い。
ば、式(2)の括弧内の積和を実行すべき各CPUは、
積和処理の対象である超行列XIJ rstu・・、Yrstu・・の全
体ではなく、積和添字群tu・・に関する部分だけを参照す
れば良い。
【0017】すなわち、各CPUに随伴する局所メモリ
ー上には、tu・・に関する超行列の1部分が存在すれば積
和処理が出来る。
ー上には、tu・・に関する超行列の1部分が存在すれば積
和処理が出来る。
【0018】各CPUがこれらの部分超行列を局所メモ
リー上に準備するには、外部ファイルから競合的に読む
方法もあるが、第5の発明では直接計算して生成する。
リー上に準備するには、外部ファイルから競合的に読む
方法もあるが、第5の発明では直接計算して生成する。
【0019】この第5の発明の直接生成法では、競合読
み込みのI/Oによるパラレル化効率の低下が回避出来
るだけでなく、ファイル容量の制限からも解放されるの
で、添字長の長い大規模計算に本質的に有利となる。
み込みのI/Oによるパラレル化効率の低下が回避出来
るだけでなく、ファイル容量の制限からも解放されるの
で、添字長の長い大規模計算に本質的に有利となる。
【0020】
【実施例】本発明の一実施例として、図3の流れにそっ
て実行される前述の分子軌道法における配置間相互作用
計算を例に取り説明する。
て実行される前述の分子軌道法における配置間相互作用
計算を例に取り説明する。
【0021】配置間相互作用法では、分子系の多電子の
波動関数Φを配置関数(CSF:configuration state func
tion)ΨI の線形結合、 Φ=ΣI CI ΨI (5) で表す。添字Iは、実際には種々の電子配置とスピン結
合の様式の組み合わせによって指定される。
波動関数Φを配置関数(CSF:configuration state func
tion)ΨI の線形結合、 Φ=ΣI CI ΨI (5) で表す。添字Iは、実際には種々の電子配置とスピン結
合の様式の組み合わせによって指定される。
【0022】展開係数であるCベクトルは、変分原理に
よって固有値問題、 ΣJ HIJCJ −ECI =0,HIJ=∫ΨI FΨJ dτ (6) を解くことにより固有ベクトルとして得られ、固有値で
あるEがエネルギーとなる。
よって固有値問題、 ΣJ HIJCJ −ECI =0,HIJ=∫ΨI FΨJ dτ (6) を解くことにより固有ベクトルとして得られ、固有値で
あるEがエネルギーとなる。
【0023】式(6)で、Fは1体(運動エネルギーと
核引力)と2体(電子間反発)の演算子から成る、系の
電子エネルギーを記述するハミルトニアン演算子であ
る。
核引力)と2体(電子間反発)の演算子から成る、系の
電子エネルギーを記述するハミルトニアン演算子であ
る。
【0024】これに対応して、ハミルトニアン行列(エ
ネルギー行列)の要素HIJは、1電子、2電子の分子積
分から構成されるが、演算量とデータ量の観点からは分
子軌道の添字を4つ持つ2電子の分子積分Srstuの処理
が問題となる。そこで、以下では2電子積分の扱いのみ
を説明する。
ネルギー行列)の要素HIJは、1電子、2電子の分子積
分から構成されるが、演算量とデータ量の観点からは分
子軌道の添字を4つ持つ2電子の分子積分Srstuの処理
が問題となる。そこで、以下では2電子積分の扱いのみ
を説明する。
【0025】ハミルトニアン行列の対角化だが、その次
元数、すなわち配置関数の総数が容易に104 以上に達
すること、求解数が高々数個であることなどから、図3
に示すように逐次緩和に基づく反復解法が用いられる。
元数、すなわち配置関数の総数が容易に104 以上に達
すること、求解数が高々数個であることなどから、図3
に示すように逐次緩和に基づく反復解法が用いられる。
【0026】反復対角化では、 ZI (R) =ΣJ HIJCJ (R) (7) が解の収束まで繰り返し計算され、求解に要する計算時
間を支配する。
間を支配する。
【0027】ここで、添字R は求めるべき解ベクトル部
分と解ベクトルを改良するための補正ベクトル部分を含
めたベクトルセット全体を指定する。
分と解ベクトルを改良するための補正ベクトル部分を含
めたベクトルセット全体を指定する。
【0028】式(7)は、ハミルトニアン行列要素をあ
らわに構成しない直接(Direct-CI)法(B.O.Roos, Che
m.Phys.Lett.,15(1972)p153) 型の解法では、2電子積
分部分に関連して式(4)に還元される。つまり、式
(4)の計算がパラレル化によって高速化すべき対象と
なる。
らわに構成しない直接(Direct-CI)法(B.O.Roos, Che
m.Phys.Lett.,15(1972)p153) 型の解法では、2電子積
分部分に関連して式(4)に還元される。つまり、式
(4)の計算がパラレル化によって高速化すべき対象と
なる。
【0029】図1に従ってパラレル化を行うと、分子軌
道の4添字rstuは、rs分子軌道対(総数を#Pと書く) と
tu分子軌道対に分かれ、前者がパラレル化処理の変数と
なる。つまり、 ZI (R) =Σrs(ΣJ ΣtuQIJ rstuSrstuCJ (R) ) (8) となる。
道の4添字rstuは、rs分子軌道対(総数を#Pと書く) と
tu分子軌道対に分かれ、前者がパラレル化処理の変数と
なる。つまり、 ZI (R) =Σrs(ΣJ ΣtuQIJ rstuSrstuCJ (R) ) (8) となる。
【0030】例として、マスターとスレーブにCPUを
階層付けしてパラレル化を制御するとすれば、パラレル
化の階層木は図4のように書かれる。すなわち、広域メ
モリーを有するマスターCPUがrs対とベクトルの列の
添字R (総数を#Vと書く)を組み合わせて、局所メモリ
ーを有するスレーブCPUに個別にZベクトル要素の部
分生成のための積和処理を発行する形態になる。ここ
で、スレーブCPUはベクトル実行が可能であり、Zベ
クトルとCベクトルのマスターコピーは広域メモリー上
に置かれているとする。
階層付けしてパラレル化を制御するとすれば、パラレル
化の階層木は図4のように書かれる。すなわち、広域メ
モリーを有するマスターCPUがrs対とベクトルの列の
添字R (総数を#Vと書く)を組み合わせて、局所メモリ
ーを有するスレーブCPUに個別にZベクトル要素の部
分生成のための積和処理を発行する形態になる。ここ
で、スレーブCPUはベクトル実行が可能であり、Zベ
クトルとCベクトルのマスターコピーは広域メモリー上
に置かれているとする。
【0031】Zベクトル要素生成のパラレル処理につい
てさらに説明する前に、分子軌道のタイプ分け、及びそ
れから導かれる配置関数(CSF )と分子積分のタイプ分
けについて述べる。
てさらに説明する前に、分子軌道のタイプ分け、及びそ
れから導かれる配置関数(CSF )と分子積分のタイプ分
けについて述べる。
【0032】まず分子軌道のタイプ分けについてだが、
本実施例では内部軌道、活性軌道、外部軌道の3つに分
類する。汎用の配置間相互作用計算は適当な参照電子配
置CSF 群を基準にして行われ、内部、活性の両軌道が電
子の入った占有軌道となる。参照CSF では、内部軌道が
常に2電子占有され、活性軌道は種々の占有パターンを
持つ。
本実施例では内部軌道、活性軌道、外部軌道の3つに分
類する。汎用の配置間相互作用計算は適当な参照電子配
置CSF 群を基準にして行われ、内部、活性の両軌道が電
子の入った占有軌道となる。参照CSF では、内部軌道が
常に2電子占有され、活性軌道は種々の占有パターンを
持つ。
【0033】占有軌道の1個ないし2個の電子が外部軌
道に励起されることによって励起CSF 群が作られ、参照
CSF 群と合わせて系の波動関数が張られる。CSF は、添
字Iに応じる電子配置が3つに分類された分子軌道の添
字を幾つづつ含むかによってNT 種に分類される。従っ
て、CベクトルとZベクトルのセットの構造は模式的に
図5のように表される。
道に励起されることによって励起CSF 群が作られ、参照
CSF 群と合わせて系の波動関数が張られる。CSF は、添
字Iに応じる電子配置が3つに分類された分子軌道の添
字を幾つづつ含むかによってNT 種に分類される。従っ
て、CベクトルとZベクトルのセットの構造は模式的に
図5のように表される。
【0034】分子軌道のタイプ分けによって、積分も4
つの添字の帰属によってタイプ分けされる。CSF タイプ
間の非零の相互作用、すなわち非零のハミルトニアン行
列要素を与える組み合わせが決まれば、その非零要素に
寄与する積分タイプ群は自動的に決まる。逆に言えば、
ある積分タイプについて関連するCSF タイプ間に相互作
用群は特定される。
つの添字の帰属によってタイプ分けされる。CSF タイプ
間の非零の相互作用、すなわち非零のハミルトニアン行
列要素を与える組み合わせが決まれば、その非零要素に
寄与する積分タイプ群は自動的に決まる。逆に言えば、
ある積分タイプについて関連するCSF タイプ間に相互作
用群は特定される。
【0035】さて、本実施例によるZベクトル生成のパ
ラレル処理のネスト構造について述べる。図6にネスト
構造を与える。図6において、rs分子軌道対とベクトル
列R に関する外側2つのグランドループ部分は、マスタ
ーCPUによって駆動される。スレーブCPUは与えら
れた1つのrs対に対して全てのtu対を持つように分子積
分を準備して、1つ内側のCSF 間の相互作用に関するグ
ランドループをバッチ的に処理する。
ラレル処理のネスト構造について述べる。図6にネスト
構造を与える。図6において、rs分子軌道対とベクトル
列R に関する外側2つのグランドループ部分は、マスタ
ーCPUによって駆動される。スレーブCPUは与えら
れた1つのrs対に対して全てのtu対を持つように分子積
分を準備して、1つ内側のCSF 間の相互作用に関するグ
ランドループをバッチ的に処理する。
【0036】処理の前に広域メモリーから局所メモリー
に必要なCベクトルのブロックが転送され、対応するZ
ベクトルのバッファー領域が局所メモリー上に確保され
る。
に必要なCベクトルのブロックが転送され、対応するZ
ベクトルのバッファー領域が局所メモリー上に確保され
る。
【0037】このZベクトルのバッファリングにより、
積和演算処理中のメモリー参照は個々の局所メモリー内
で済ませられ、広域メモリーとの間の通信頻度を減ら
し、スケーラビリティの低下を回避することが出来る。
積和演算処理中のメモリー参照は個々の局所メモリー内
で済ませられ、広域メモリーとの間の通信頻度を減ら
し、スケーラビリティの低下を回避することが出来る。
【0038】マスターCPUは式(3)の一般式に従
い、処理の終了した局所メモリー上のZベクトルのバッ
ファーから広域メモリー上のマスターコピーに整合性を
保持しつつまとめて加算する。
い、処理の終了した局所メモリー上のZベクトルのバッ
ファーから広域メモリー上のマスターコピーに整合性を
保持しつつまとめて加算する。
【0039】マスターCPUは、処理の終了したスレー
ブCPUに対して次々に新しい(rs,R)を割当て連続的
に実行させる。これによって、各スレーブCPUに対す
る単位時間あたりの負荷を均等化し、与えられる台数を
有効に活かすことが出来る。
ブCPUに対して次々に新しい(rs,R)を割当て連続的
に実行させる。これによって、各スレーブCPUに対す
る単位時間あたりの負荷を均等化し、与えられる台数を
有効に活かすことが出来る。
【0040】図6において、CSF タイプ間の相互作用が
異なると、ベクトル実行すべき最深のtu分子軌道対に関
するループはもちろん、明記はしていないがその外側の
電子配置、及びスピン結合様式の組み合わせに関する多
重ループの構造も全て異なるので、個々のスレーブCP
Uが異なるプログラム命令を実行するMIMD(multi inst
ruction stream multi data )的処理形態となる。
異なると、ベクトル実行すべき最深のtu分子軌道対に関
するループはもちろん、明記はしていないがその外側の
電子配置、及びスピン結合様式の組み合わせに関する多
重ループの構造も全て異なるので、個々のスレーブCP
Uが異なるプログラム命令を実行するMIMD(multi inst
ruction stream multi data )的処理形態となる。
【0041】本実施例の配置間相互作用法のパラレル処
理では、式(8)中のJに関する積和ループ、及びベク
トル要素の添字Iに関するループは、こうした非零の相
互作用のバッチ処理の中に暗に組み込まれ、あらわな形
では表れることがない。なお、CSF 間の相互作用群をス
レーブCPUがバッチ的に束ねて処理することも、通信
頻度を減らしスケーラビリティを確立することに役立
つ。
理では、式(8)中のJに関する積和ループ、及びベク
トル要素の添字Iに関するループは、こうした非零の相
互作用のバッチ処理の中に暗に組み込まれ、あらわな形
では表れることがない。なお、CSF 間の相互作用群をス
レーブCPUがバッチ的に束ねて処理することも、通信
頻度を減らしスケーラビリティを確立することに役立
つ。
【0042】次に、外部ファイルから競合的に読み込む
のではなく、スレーブCPUが分子積分を直接生成する
場合を考える。処理はスレーブCPUに渡った段階でrs
分子軌道対は決まっているので、各CPUは全tu対につ
いて2電子分子積分S "rs" tuを準備すればよい。ここ
で、 ""は添字が固定されていることを示す。rs対を固
定された2電子分子積分は基底関数ベースの積分Smnop
から、 S "rs" tu=ΣmnopVmrVnsVotVpuSmnop ( 全てのtu対に対して) (9) の線形変換によって作られる。ここで、V行列は基底関
数による分子軌道の展開係数行列である。
のではなく、スレーブCPUが分子積分を直接生成する
場合を考える。処理はスレーブCPUに渡った段階でrs
分子軌道対は決まっているので、各CPUは全tu対につ
いて2電子分子積分S "rs" tuを準備すればよい。ここ
で、 ""は添字が固定されていることを示す。rs対を固
定された2電子分子積分は基底関数ベースの積分Smnop
から、 S "rs" tu=ΣmnopVmrVnsVotVpuSmnop ( 全てのtu対に対して) (9) の線形変換によって作られる。ここで、V行列は基底関
数による分子軌道の展開係数行列である。
【0043】基底関数積分の調達についてだが、マスタ
ーCPUが代表して作り分配することも考えられるが、
通信頻度を考えると不利である。
ーCPUが代表して作り分配することも考えられるが、
通信頻度を考えると不利である。
【0044】そこで、本実施例では、図7のようにスレ
ーブCPU群を適当にグループとしてまとめておき(グ
ループ数は Gn )さらに下位の基底関数積分生成専用の
CPUと局所メモリーを設定しておき、そこから分配す
る。
ーブCPU群を適当にグループとしてまとめておき(グ
ループ数は Gn )さらに下位の基底関数積分生成専用の
CPUと局所メモリーを設定しておき、そこから分配す
る。
【0045】この方式により、2電子積分に関連したフ
ァイル容量、通信頻度などのI/O問題から解放され、
軌道数の多い大型分子の配置間相互作用計算が可能とな
る。
ァイル容量、通信頻度などのI/O問題から解放され、
軌道数の多い大型分子の配置間相互作用計算が可能とな
る。
【0046】次に、本発明の他の実施例である2次の多
体摂動論によるエネルギー計算のパラレル化について述
べる。
体摂動論によるエネルギー計算のパラレル化について述
べる。
【0047】系の電子状態が単一の閉殻スレーター(Sl
ater)行列式で定性的に正しく記述されている場合、2
次の摂動論による相関エネルギー補正Ecorr. は、 Ecorr. =ΣabijIaibj[2Saibj−Sajbi]× [εi +εj −εa −εb ]-1 (10) で与えられる。ここで、添字ijは占有軌道、abは非占有
軌道を指定し、εi 、εj 、…等は分子軌道の軌道エネ
ルギーを表す。
ater)行列式で定性的に正しく記述されている場合、2
次の摂動論による相関エネルギー補正Ecorr. は、 Ecorr. =ΣabijIaibj[2Saibj−Sajbi]× [εi +εj −εa −εb ]-1 (10) で与えられる。ここで、添字ijは占有軌道、abは非占有
軌道を指定し、εi 、εj 、…等は分子軌道の軌道エネ
ルギーを表す。
【0048】式(10)は式(4’)の一般式の添字IJ
及びR を取り、スカラー化したものに相当する。本実施
例によるパラレル化に従えば、式(10)の4重の積和
はabとijに分割され、abをパラレル化変数、ijをベクト
ル化の変数(あるいはab、ijを入れ換えても可)として
計算される。
及びR を取り、スカラー化したものに相当する。本実施
例によるパラレル化に従えば、式(10)の4重の積和
はabとijに分割され、abをパラレル化変数、ijをベクト
ル化の変数(あるいはab、ijを入れ換えても可)として
計算される。
【0049】各CPUにおけるijの積和において、上で
述べた2電子分子積分の直接生成法を組み合わせれるこ
とにより、大型分子に対する摂動エネルギーの計算が可
能である。
述べた2電子分子積分の直接生成法を組み合わせれるこ
とにより、大型分子に対する摂動エネルギーの計算が可
能である。
【0050】なお、本実施例の摂動計算のパラレル化
は、3次、4次等の高次の摂動エネルギー、開殻系ある
いは多参照配置系の摂動エネルギー、及びグリーン(Gr
een )関数法における自己エネルギーについても同様に
適用出来る。
は、3次、4次等の高次の摂動エネルギー、開殻系ある
いは多参照配置系の摂動エネルギー、及びグリーン(Gr
een )関数法における自己エネルギーについても同様に
適用出来る。
【0051】
【発明の効果】以上、配置間相互作用計算の緩和和反復
による求解、及び2次の摂動論による相関エネルギー計
算を例に詳述したように、本発明によるパラレル化方式
によって、超行列の積和演算処理についてCPU台数に
応じたスケーラブルな加速を得ることができるという効
果を有する。
による求解、及び2次の摂動論による相関エネルギー計
算を例に詳述したように、本発明によるパラレル化方式
によって、超行列の積和演算処理についてCPU台数に
応じたスケーラブルな加速を得ることができるという効
果を有する。
【図1】パラレル化による超行列の積和演算の流れ図で
ある。
ある。
【図2】パラレル化によらない超行列の積和演算の流れ
図である。
図である。
【図3】配置間相互作用計算における反復解法の流れ図
である。
である。
【図4】配置間相互作用計算の緩和反復による求解を、
CPUをマスターとスレーブに階層化してパラレル化す
る場合の処理階層を表す木構造である。
CPUをマスターとスレーブに階層化してパラレル化す
る場合の処理階層を表す木構造である。
【図5】配置間相互作用計算の緩和反復による求解で現
れるベクトルセットの構造の模式図である。
れるベクトルセットの構造の模式図である。
【図6】配置間相互作用計算の緩和反復による求解のパ
ラレル処理のネスト構造の模式図である。
ラレル処理のネスト構造の模式図である。
【図7】分子積分を各CPUが直接生成する際に、元と
なる基底関数積分を供給する方法を示す概念図である。
なる基底関数積分を供給する方法を示す概念図である。
特になし
Claims (5)
- 【請求項1】 2つ以上の多重添字を持つ超行列量に関
する積和、 AI (R) =ΣJ Σrstu・・XIJ rstu・・Yrstu・・BJ (R) (1) の演算処理において、積和添字群rstu・・に関する部分を
2つ以上に分割し、 AI (R) =Σrs・・(ΣJ Σtu・・XIJ rstu・・Yrstu・・BJ (R) ) (2) などとして、分割された添字群rs・・、及び積和に直接関
与せずベクトル列を指定する添字R を複合的に組み合わ
せてパラレル処理のために制御変数とし、式(2)の括
弧内の部分演算処理をパラレル型計算機を構成する個々
のCPUに実行させることを特徴とするパラレル型計算
機向け超行列演算方式。 - 【請求項2】 式(2)の分割された添字群rs・・に関す
る積和のパラレル処理において、最終的に生成されるA
I (R) の値を保証するために、台数L の個々のCPUが
式(2)の括弧内の演算処理中に部分生成値を前記各C
PUに付随するバッファーメモリー上に保持し、処理終
了後に、 AI (R) =AI (R) (CPU1 ) + AI (R) (CPU2 )+…+ AI (R) (CPUL ) (3) としてマスターコピーにまとめて加算する積和値の整合
制御を含むことを特徴とする請求項1記載のパラレル型
計算機向け超行列演算方式。 - 【請求項3】 積和添字群rs・・、及び独立性のある添字
R に関する複合パラレル化の制御をマスターCPUが行
い、式(2)の括弧内の演算処理はマスターCPUより
も下位に階層付けられたスレーブCPU群が行う、多重
階層管理による請求項1または2記載のパラレル型計算
機向け超行列演算方式。 - 【請求項4】 積和添字群rs・・、及び独立性のある添字
R に関す複合パラレル化の制御情報テーブルを、個々の
CPUが共通に読める広域メモリー上に置き、式(2)
の括弧内の演算処理は各CPUがテーブルを参照して行
う、単一階層管理による請求項1または2記載のパラレ
ル型計算機向け超行列演算方式。 - 【請求項5】 添字rs・・部分を指定された式(2)の括
弧内の積和対象要素XIJ rstu・・、Yrstu・・を、積和処理
を実行する個々のCPUが、外部ファイルから読み込ん
で調達するのではなく、CPUが直接計算することによ
って生成する請求項1、2、3または4記載のパラレル
型計算機向け超行列演算方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2223493A JPH06236392A (ja) | 1993-02-10 | 1993-02-10 | パラレル型計算機向け超行列演算方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2223493A JPH06236392A (ja) | 1993-02-10 | 1993-02-10 | パラレル型計算機向け超行列演算方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06236392A true JPH06236392A (ja) | 1994-08-23 |
Family
ID=12077105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2223493A Pending JPH06236392A (ja) | 1993-02-10 | 1993-02-10 | パラレル型計算機向け超行列演算方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06236392A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6310263A (ja) * | 1986-07-02 | 1988-01-16 | Hitachi Ltd | ベクトル処理装置 |
JPS6363945A (ja) * | 1986-09-04 | 1988-03-22 | Canon Inc | 光物性測定の安定化方法 |
-
1993
- 1993-02-10 JP JP2223493A patent/JPH06236392A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6310263A (ja) * | 1986-07-02 | 1988-01-16 | Hitachi Ltd | ベクトル処理装置 |
JPS6363945A (ja) * | 1986-09-04 | 1988-03-22 | Canon Inc | 光物性測定の安定化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kaler et al. | Accelerating training and inference of graph neural networks with fast sampling and pipelining | |
Matthews | High-performance tensor contraction without transposition | |
Springer et al. | HPTT: A high-performance tensor transposition C++ library | |
Zhou et al. | An FPGA framework for edge-centric graph processing | |
Ashari et al. | On optimizing machine learning workloads via kernel fusion | |
Baker et al. | An architecture for efficient hardware data mining using reconfigurable computing systems | |
Kreutzer et al. | Performance engineering of the Kernel Polynomal Method on large-scale CPU-GPU systems | |
Shah et al. | Acceleration of probabilistic reasoning through custom processor architecture | |
Azad et al. | Computing maximum cardinality matchings in parallel on bipartite graphs via tree-grafting | |
Bernaschi et al. | A factored sparse approximate inverse preconditioned conjugate gradient solver on graphics processing units | |
Noor | Parallel processsing in finite flement structural analysis | |
Wang et al. | Extending GPU-accelerated Gaussian integrals in the TeraChem software package to f type orbitals: Implementation and applications | |
Singh et al. | Democratizing AI: Open-source scalable LLM training on GPU-based supercomputers | |
Merchant et al. | Andromeda: An fpga based risc-v mpsoc exploration framework | |
Dobbyn et al. | Parallel internally contracted multireference configuration interaction | |
Rajbhandari et al. | Framework for distributed contractions of tensors with symmetry | |
JPH06236392A (ja) | パラレル型計算機向け超行列演算方式 | |
Xu | Asynchronous parallel primal–dual block coordinate update methods for affinely constrained convex programs | |
Osama et al. | Parallel Equivalence Checking of Stabilizer Quantum Circuits on GPUs | |
Shang et al. | Many-core acceleration of the first-principles all-electron quantum perturbation calculations | |
Shealy et al. | Gpu acceleration of the hemelb code for lattice boltzmann simulations in sparse complex geometries | |
Márquez et al. | Parallel Computation of second derivatives of RHF energy on distributed memory computers | |
Luk et al. | A synergetic approach to throughput computing on x86-based multicore desktops | |
Bolding et al. | Multithreaded shared memory parallel implementation of the electronic structure code GAMESS | |
Abbas-Turki et al. | Resolving small random symmetric linear systems on graphics processing units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970603 |