片側通信を用いた並列フラグメント
分子軌道計算プログラムの実装
稲富雄一*,真木淳*,本田宏明*,
薄田竜太郎***,井上弘士**,青柳睦*
*; 九州大学情報基盤研究開発センター
**; 九州大学システム情報科学研究院
***; 福岡県産業・科学技術振興財団
SWoPP2007 旭川
目次
• 研究目的
• フラグメント分子軌道(FMO)法について
• スケルトンコードとPSI-SIMについて
• FMOスケルトンコードを用いた性能評価
• まとめ
SWoPP2007 旭川
研究目的
次世代スパコンで想定される大規模並列計算機で効率
よく動作する並列フラグメント分子軌道法プログラムを
作成する
現状は・・・
• プロトタイプ(スケルトンコード(後述))が完成した
• きちんと計算できるコード(実コード)作成中
SWoPP2007 旭川
目次
• 研究目的
• フラグメント分子軌道(FMO)法について
• スケルトンコードとPSI-SIMについて
• FMOスケルトンコードを用いた性能評価
• まとめ
SWoPP2007 旭川
フラグメント分子軌道(FMO)法とは?
• タンパク質、DNA、糖鎖などの大規模分子に対する電
子状態計算を行うために開発された計算手法
• 並列処理向きである
20,581原子
77,754電子
164,442関数
1,398フラグメント
参考:SC|05, T. Ikegami et al., technical paper
FMOでの計算時間=72.5時間(Opteron (model 246), 600プロセッサ使用時)
cf. 従来分子軌道法(Hartree-Fock法)で計算した場合の予想計算時間=およそ20万年
SWoPP2007 旭川
FMO法の計算手順
•対象分子をいくつかの小さなフラグメントに分割する
R1
O
R3
O
H
N
H
N
NH2
OH
N
H
O
ペタコン時代の入力は
1万~10万フラグメント
R5
N
H
R2
O
R4
O
•分子全体の電子状態を、フラグメント(モノマー)とフラグメントペア(ダイマー)
の電子状態を用いて求める
Nfrag
FMO
total
E
N
EIJ ( Nfrag 2) EI ,
I J
I
FMO
total
D
Nfrag
N
I J
I
DIJ ( Nfrag 2) DI
•フラグメント(モノマー、ダイマー)電子状態は、該当フラグメントと、その近傍の
モノマーの密度行列を基にして計算する
EIn 1 DnI 1 f DnI , DnK
K neighborhoot of monomer I
, residues
EIJ D IJ f D I , D J , D K Kneighborhoot of monomer I and J , residues
•すべてのモノマーの電子状態が収束するまで、モノマー電子状態計算を繰り返す
(Self-Consistent Charge, SCC)
SWoPP2007 旭川
20~40回の繰り返し
計算
密度行列操作のタイミング
D
0
I
initial density calculation
update monomer density matrices
electronic structure calculation for monomer
n1
I
E
D f D ,D
n 1
I
n
I
n
K Kneighborhood of monomer I
refer monomer matrices needed in
electronic structure calculation
not yet converged
convergence check of
SCC procedure
SCC procedure
already converged
update monomer density matrices
electronic structure calculation for SCF-dimer
EIJ DIJ f DI , DJ , DK Kneighborhood of monomer I and J
approximated electronic structure calculations for
ES-dimer
EIJ DIJ f EI , EJ , DI , DJ
refer monomer matrices needed in
electronic structure calculation
refer two monomer matrices needed
in dimer-ES calculation
For all monomers
evaluate approximated electronic structure of
entire system
Nfrag
Nfrag
I J
I
FMO
Etotal
EIJ Nfrag 2 EI ,
Nfrag
Nfrag
I J
I
DFMO
total DIJ N frag 2 DI
SWoPP2007 旭川
For all SCF-dimers
For all separated dimers
Update all monomer density matrices
Refer some monomer density matrices
MPI-2仕様(片側通信)の必要性
次世代スパコンでのFMO計算の入力として想定している
10万フラグメントの場合・・・
密度行列要素の保存に必要なメモリ容量≒43GB !
モノマー密度行列あたりの平均データサイズ≒450KB
• このデータをすべてのMPIプロセスが保持することは、非常に大変な
ので、密度行列の分散保存が必要
これまでの並列FMOプログラム(GAMESS[1]やABINIT-MP[2])では、すべてのMPI
プロセス各々が、すべての密度行列データを保存する手段をとっている
• 効率よくリモートメモリにアクセスするためには、片側通信機構が必須
[1] M.W.Schmidt et al., J. Comput. Chem., Vol.14, pp.1347-1363 (1993)
[2] T. Nakano et al., Chem. Phys. Lett., Vol.318, pp.614-618 (2000)
SWoPP2007 旭川
密度行列データの保存・参照方法
①各MPIランクが、すべてのデータを保存する(非分散保存、従来法)
利点:
• データ参照時のコストが軽い(メモリコピー程度)
欠点:
• 各MPIランクが使用するメモリがネックになって、計算対象分子に対
するスケーラビリティーがない
• データの更新処理に多くの通信コストがかかる
②すべてのMPIランクで分散して保存する(分散保存)
利点:
• メモリ不足が起きにくい
• FMO法の特性で、分散保存に伴う通信コスト増加は、それほど大き
くない、と予想される(かも?)
欠点:
• データ参照の効率を考えると、片側通信機構が必要である
• データ参照時のコストが増加する
SWoPP2007 旭川
目次
• 研究目的
• フラグメント分子軌道(FMO)法について
• スケルトンコードとPSI-SIMについて
• FMOスケルトンコードを用いた性能評価
• まとめ
SWoPP2007 旭川
PSI-SIMのワークフロー
評価アプリ
ケーション
(実機実行:可能)
評価アプリ
ケーション
(実機実行:不可能)
プログラムコード抽象化
(BSIM-Parser)
1. BSIM-Parser
プロセッサ情報
データベース
2. BSIM-Logger
スケルトン
コード
通信プロファイル生成
(BSIM-Logger)
評価アプリケーションのプログラ
ムコード抽象化(通信プロファイ
ルの高速生成を目的)
通信プロファイルの生成(中規
模システムによる大規模システ
ムの通信プロファイル生成を目
的)
評価イン
ターコネク
ト構成
通信プロファイル
(ゼロ通信遅延)
モデル化
インターコネクト
シミュレーション
(NSIM)
インターコネクト
コンフィグレーション
(NDLファイル)
3. NSIM
ネットワークシミュレーション(ゼ
ロ通信遅延プロファイルへの実
遅延時間付加が目的)
4. ANA
予測実行時間
ネットワーク性能
通信プロファイル
(通信遅延有)
アプリケーションの可視化/解
析(アプリケーションの評価や開
発支援が目的)
可視化/解析
(ANA)
通信トラフィックの可視化
プログラム最適化の指針提供
SWoPP2007 旭川
スケルトンコード
スケルトンコードとは・・・
プログラム中における主要な計算部分を削除して、その代わりに、
推定計算時間を埋め込んだコード
図: スケルトンコードの例
実コード
スケルトンコード
double foo(int n) {
int i;
double r=0.0;
for (i=0; i<n; i++) {
r += calculate_something(i);
}
return r;
}
SWoPP2007 旭川
double foo(int n) {
int i;
double r=0.0;
/*
for (i=0; i<n; i++) {
r += calculate_something(i);
}
*/
BSIM_Add_time ( etime(n) );
return r;
}
スケルトンコードとBSIM Logger
スケルトン
コード
PSIプロジェクトで開発中のBSIM Loggerと、スケル
トンコードを組み合わせて用いることで、ゼロ通信遅
延の通信プロファイル(clog2形式)が得られる
通信プロファイル作成
(BSIM Logger)
通信プロファイル
(ゼロ通信遅延)
表:通常のMPE環境で得られるプロファイルとの相違点
通常のMPE
BSIM Logger
通信イベントのタイム
スタンプ
実際の計算時間、通信時間
を基に決められる
BSIM_Add_timeで与えられた推
定実行時間を基に決められる
通信遅延
有限の値を持つ
ゼロ
SWoPP2007 旭川
目次
• 研究目的
• フラグメント分子軌道(FMO)法について
• スケルトンコードとPSI-SIMについて
• FMOスケルトンコードを用いた性能評価
• まとめ
SWoPP2007 旭川
FMOプログラムの基本構造
全MPIランク(MPI_COMM_WORLD)をいくつかの単位
に分割して、分割された各単位で分担して計算を行う
グループ=フラグメント(モノマー、ダイマー)電子状態計算を行う単位
マスター=各グループに対して、電子状態計算を行うフラグメントの割当て
を行うMPIプロセス(動的負荷分散を行う場合)
マスター
グループ 0
グループ 1
グループ Ngroup-1
rank 0
rank 0
rank 0
rank 1
rank 1
・
・
・
・
・
・
・
・
・
rank Pgroup-1
rank Pgroup-1
rank Pgroup-1
MPI_COMM_WORLD
SWoPP2007 旭川
・・・
rank 1
並列FMO計算のスケルトンコード
• フラグメント(モノマー、ダイマー)の電子状態計算部分を
BSIM_Add_time関数で置き換えた。
• 上記のBSIM_Add_timeに与える値(フラグメント電子状態計算の推定実
行時間は、 NAREGIプロジェクト*で、九州大学の高見氏らが実測値を基
に得た経験式)を基にした。
• モノマー密度行列の通信部分はスケルトンコードに埋め込んだ
このようにして、非分散保存バージョン(OpenFMO-1)と、分散保存
バージョン(OpenFMO-2)のスケルトンコードを作成した。
*;文部科学省プロジェクト「超高速コンピュータ網形成プロジェクト(National Research Grid Initiative
(NAREGI)」
SWoPP2007 旭川
2つのFMOスケルトンコードを用いた性能評価
OpenFMO-1とOpenFMO-2のスケルトンコードをBSIM
Loggerを用いてそのまま実行すると、性能に差が出な
い
通信遅延以外に両者に差がないのに、BSIM Loggerで得られたプロ
ファイルには通信遅延0として記録されているから
実測値に即した通信遅延時間をBSIM_Add_time関数でログに加算することで、
通信遅延時間の「粗い推定」を行った。
•MPI_SendとMPI_Recvの通信遅延時間をデータサイズを変えて求め、1対1通
信の通信遅延時間の経験式を求めた
•集団通信はbinomial treeライクの1対1通信の繰り返しで行うことを仮定した
•MPI_Put, MPI_Getは、それぞれ、MPI_Send, MPI_Recvと同じ通信遅延とした
SWoPP2007 旭川
性能評価環境
使用計算機:
理研スーパーコンバインドクラスタ(RSCC)のLinuxクラスタ部分の一部
プロセッサ: dual Xeon(3.06GHz)/node, 64 nodes
ネットワーク: Gigabit ether
コンパイラ: GCC version 3.2
MPIライブラリ: BSIM loggerパッチをあてたMPICH2(version 1.0.4p1)
使用プログラム:
OpenFMO-1とOpenFMO-2のスケルトンコード(フラグメント電子状態
計算部分をスケルトン化してある)
入力データ:
アクアポリン分子(PDB ID=2F2B, モノマー数=492)
SWoPP2007 旭川
密度行列へのアクセスに関わる通信時間の比
OpenFMO-1
Ttotal
OpenFMO-2
Ttotal
Ngroup NSCC log 2 Ngroup log 2 Pgroup
N
N
NSCC 1 log 2 Pgroup NSCC 1 Nifc4c, monomer SCF dimer ifc4c, dimer Nfrag 1
2
Ngroup グループ数,
NSCC SCC繰り返し回数
Pgroup グループあたりランク数,
Nifc4c, monomer モノマーあたりの近接モノマー数
NSCF dimer モノマーあたりSCFダイマー計算をする相手モノマーの数
Nifc4c, dimer ダイマーあたりの近接モノマー数
•フラグメント数Nfragが大きくなると、従来の非分散保存が有利
•グループ数Ngroup(計算機規模)が大きくなると、分散保存が有
利
SWoPP2007 旭川
OpenFMO-1とOpenFMO-2の通信コストの比
target molecule = Aquaporin (14,432 atoms, 492 fragments)
16 ranks/group
10
TOpenFMO-1/TOpenFMO-2
OpenFMO-2 is better
1
measured ratios
estimated ratios
OpenFMO-1 is better
0.1
8
16
32
number of group
SWoPP2007 旭川
64
まとめ
大量のモノマー密度行列データを分散保存しても、通信コストの増加の
程度は小さく、使用する計算機資源が大きくなると、むしろ、従来の保存
方法より効率が良いことが分かった
密度行列を分散保存することで、スケーラビリ
ティーのある並列FMO計算プログラムが作成でき
る
SWoPP2007 旭川
MPIライブラリに対する希望
1. MPI-2規格、特に、片側通信機構(MPI_Put, MPI_Get関数など)
を実装して欲しい
2. MPI_THREAD_SERIALIZED以上のスレッドサポートを実装し
て欲しい
2は、フラグメントの電子状態計算において、動的負荷分散を用いた細粒
度並列化を効率よく行うために必要
SWoPP2007 旭川
謝辞
•本研究は,文部科学省「次世代IT基盤構築のための研究開発」,研究開発
領域「将来のスーパーコンピューティングのための要素技術の研究開発」
(平成17年度~19年度)における研究開発課題「ペタスケール・システムイン
ターコネクト技術の開発」による.
•文部科学省プロジェクト「超高速コンピュータ網形成プロジェクト(National
Research Grid Initiative:(NAREGI)」 で得られたデータを一部使用している.
•計算機を用いた実験は,すべて,理研スーパーコンバインドクラスタ
(RSCC)のLinuxクラスタを用いて行った.
SWoPP2007 旭川
© Copyright 2026 ExpyDoc