5. 新規アルゴリズム開発例
K. Ishimura, S. Nagase, Theoret Chem Acc, (2008) 120, 185-189.
Pople-Hehre法
座標軸を回転させることにより演算量を減らす
xAB=0
yAB=0
yCD=0
xPQ=一定
yPQ=一定
B
P
z
(AB|CD)
D
y
x
Q
McMurchie-Davidson法
C
漸化式を用いて(ss|ss)型から角運動量を効率的に上げる
[0](m)(=(ss|ss)(m))-> (r) -> (p|q) -> (AB|CD)
A
2つの方法の組み合わせ
座標軸回転 → 漸化式を用いて角運動量を上げる → 座標軸再回転
5
26. これまでの並列計算アルゴリズム
AOもしくはMOインデックス分散
AO:複数ノードにある部分的なMO2電子積分の足し合わせ
MO:同じAO2電子積分を複数のノードで計算 or Broadcast
R. A. Whiteside, J. S. Binkley, M. E. Colvin, H. F. Schaefer (1987) (32CPU)
I. M. B. Nielsen, C. L. Janssen (2000) (MPI + pthreads)
Global arrays, ARMCI, DDI
分散メモリを仮想的に共有メモリのように扱うライブラリ
前半AO、後半MOインデックス分散
通信量がノード数に関わらずほぼ一定
J. Baker, P. Pulay (2002) (通信のためのデータソートに時間がかかる)
26
27. 新規MP2エネルギー並列計算アルゴリズム
K. Ishimura, P. Pulay, S. Nagase, J Comput Chem 2006, 27, 407.
(AO index) 各ノードに分散
do ,
calculate |) [, ] (all ) AO 積分計算
calculate i|) [i, ] (all i)
第1変換
calculate i|j)
[ij, , ] (i≧j)
第2変換
end do ,
calculate (i|bj)
[b, ij]
(all b) 第3変換
i|bj)をディスクに書き込み [b, ij, ]
end do
i,j (MO index) 各ノードに分散
i|bj)をディクスから読み込み + MPI_isend,irecv
calculate (ai|bj)
[b, a]
(all a,b) 第4変換
calculate MP2 energy
end do i,j
・MPIのみで並列化、前半はAO、後半はMOインデックスを分散
・シンプルなデータソーティング
・ノード数にかかわらず、全体の通信量はほぼ一定
27
33. MP2エネルギー微分計算式
x oall
x
x (2
2 H pq 2 pq | kk pk | qk Ppq )
pq
k
all
E
x
MP 2
oall
2 S W
x
ij
i
vall
( 2)
ij
I 2 S
j
a
oall
S W
x
ij
( 2)
ij
ij
k
W
ab
ja | kb,
D ab
jk
x
(
I 4 SaiWai2) I
a
i
oall vall
x
ab
( 2)
ab
W
II 4 S
ab
ab
Pij( 2) tik
( 2)
ab
b
vall
II S
oall
x
ab
i
(
ab
PiJ2) tik
k
ei e J
( 2)
ai
W
II SijxWijx III 2 tijab ia | jb x
a
Ja | kb,
ab
oall
x
ai
ij
(
ac
Pab2) tij
ij
ij
ib | jc ,
bc
Dij
c
ab
(2
ac
PaB ) tij
ij
c
iB | jc
ea eB
ab
(
ac
(
Wij( 2) I tik ja | kb, Wab2) I tij ib | jc , Wai2) I t ab ij | kb
jk
k
( 2)
ij
W
ab
II P e i e j ,
( 2)
ij
ij
( 2)
ab
W
c
jk
II P e a e b , W II P
( 2)
ab
( 2)
ai
b
e ,W
( 2)
ai
i
( 2)
ij
MO
(
III Ppq2) Apqij
pq
oall
vall
jk
bc
(
(
bc
Lai Pjk2) 4ia | jk 2ik | aj Pbc2) 4ia | bc 2ib | ac 2 N a t ab ij | kl 2 Ni tij ab | jc
jk
jk
b
j
bc
33
34. 新規MP2エネルギー微分並列計算アルゴリズム
K. Ishimura, P. Pulay, S. Nagase, J. Comput. Chem., 2007, 28, 2034.
do (積分変換計算)
generate AO integrals |
calculate |j)
calculate i|j)
calculate ai|j)
save ai|j) on disk
enddo
do (MP2ラグランジアン計算)
read t from disk
calculate and save t
generate AO integrals |
calculate |j)
calculate L1,2 , L4 i
enddo
a
ij
ij
do a(MP2エネルギー、アンプリチュード計算) Solve CPHF equation
read and transfer ai|j)
do (AO積分の微分計算)
calculate (ai|bj), (ai|kj)
x
x
calculate H , S
calculate MP2 energy and amplitude
read tij and calculate t
generate t , P , P ,W I ,W I ,W I , t
calculate (|)x terms
transfer and save t
enddo
enddo a
ab
ij
( 2)
ij
( 2)
ab
( 2)
ij
a
ij
( 2)
ab
( 2)
ai
a
ij
34
38. FMO-MP2法
D. Fedorov, K. Ishimura, T. Ishida, K. Kitaura, P. Pulay, S. Nagase, J. Comput. Chem. 2007, 28, 1476.
開発したMP2プログラムとFMOプログラムの組み合わせ
分子:Trp-cage設計蛋白質TC5b (C98H150N27O29)
基底関数:6-31(+)G* 2480基底
6-311(+)G* 3246基底
FMO計算:1フラグメントに2残基
使用メモリ:FMO-MP2 数百MB/プロセス
MP2 4.7GB/プロセス
38