新学術領域研究「コンピューティクスによる物質デザイン」研究会

オーダーN法プログラム
CONQUESTの最近の発展
174Å
174Å
47.5Å

物質・材料研究機構(NIMS) 計算科学センター

宮崎剛

University College London (UK)

D. R. Bowler

Outline๏ ハイブリッド並列化について
原口誠 (SGI, システムニューメリック）
イオンチャネル
gramicidin A๏ SCF 計算の効率化について
有田通朗 (東理大、NIMS)
篠田渉 (AIST), A. S. Torralba (NIMS)

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

ハイブリッド並列化について
OpenMP + MPI

オーダーN法第一原理計算プログラム CONQUEST๏

密度行列最適化手法


密度行列

ρ(r,rʼ) = Σν fν ψν∗ (r) ψν (rʼ)(ψν (r) : Kohn-Sham ハミルトニアンの固有関数、波動関数)

密度行列の局所性: ρ(r,rʼ)→0 for |r-rʼ|→㱣McWeeny puriﬁcationとLNV (Lee, Nues, Vanderbilt) 法を用いて密度行列 ρを最適化する。
Idempotency ρ2= ρρ = 3σ2−2σ3 (σ: auxiliary density matrix)

๏We express the density matrix using local orbitals φiα(r)ρ(r,rʼ) = Σiα, jβ φiα∗ (r) Kiα, jβ φjβ (rʼ)



サポート関数 φiα(r) : 原子 i の軌道 αに対する局在軌道.

LNV method： K=3LSL-2LSLSL (S : overlap matrix)
L行列にcutoff 半径を導入する事によりorder-N法を実現
新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化๏ ﬂat MPI.,*)#! '%)#
test calc. on bulk Silicon%(/' .*, '.%0 "*)
"$ '"(  2   !*,"

“3万２千原子程度だと500-1000 MPI processまで並列化効率が高い”

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化

test calc. on bulk Silicon%(/' .*, ๏ ﬂat MPI
" &! '%)#

“256 atoms/coreではほとんど理想的”'.%0 "*)
"$ '"(  2   !*,"

“32 atoms/core程度までは何とか並列化効率が高い”

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化
CONQUESTでの演算の種類••••Ciα,jβ=ΣkγAiα,kγBkγ,jβAtompartitionBundle

Support-grid (blip-grid) transform

φiα (rl) = Σn biαn Θ (rl - Rn)Communication between domain and bundle.

Integration grid pointsblockdomain Siα,jβ = Σl φiα∗ (rl) φ jβ (rl) , Hiα,jβ = Σl φiα∗ (rl) (Hφ jβ (rl)), ...

（通常の）行列積：blas3

Communication between domain and bundle.

FFT

Integration grids  FFT grids
新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化
疎行列の行列積
maximal caseRC ≧ RA+RBRBCiα, jβ = ΣkγAiα,kγBkγ,jβminimal caseRC ≦ |RA-RB|RBRARAii RC
LSL=(LS)Lなど

RC

LSLSL=(LSL)(SL)など
K行列はHamiltonianのcutoff内の情報で十分

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化
疎行列の行列積
Ciα, jβ = ΣkγAiα,kγBkγ,jβpartition: 並列計算のために用意されたunit

partition

B -neighbours of one partition

原子の集まりbundle-> packet size と行列のブロックを決定• Sends all B data

MPI_issend
1MPI process• Loop over remote nodes• Loop over sets of atoms, k•Fetch B data
MPI_recv (or local copy)•Perform multiply-and-add(m_kern_max, m_kern_min)
A -halo: A-range neighbours of at least
one atom in the primary set(A-halo atoms , A-halo partitions)
C -halo atoms (partitions)=> OpenMP化•End loop over sets of atoms, k• End loop over remote nodes
MPI_waitall

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化
疎行列の行列積
+")
演算部分

Ciα, jβ = ΣkγAiα,kγBkγ,jβ

test calc. on bulk Silicon (4096 atom)

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化
疎行列の行列積
Ciα, jβ = ΣkγAiα,kγBkγ,jβ+")
test calc. on bulk Silicon (4096 atom)
通信部分•通信速度の上昇• Sends all B data
MPI_issend•MPI̲recvの待ち時間の減少?
• Loop over remote nodes
によって、この部分の時間も短縮??

• Loop over sets of atoms, k•Fetch B data

MPI_recv (or local copy)•Perform multiply-and-add(m_kern_max, m_kern_min)
End loop over sets of atoms, k
End loop over remote nodes
MPI_waitallbulk Siでもprocess毎の時間の差が存在
新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化+")
イオンチャネル
gramicidin A~15 atoms/core

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTのハイブリッド並列化
疎行列の行列積
+")

test calc. on bulk
Silicon (4096 atom)

4 atoms/core

演算部分

Ciα, jβ = ΣkγAiα,kγBkγ,jβminimal maximal•32 MPI•2threads 88.7% 98.0%•4threads 74.5% 91.2%•8threads 56.5% 74.5%•64 MPI•2 threads 87.0% 96.3%•4 threads 71.0% 87.9%•8 threads 53.7% 69.3%•128 MPI•2 threads 87.0% 92.6%•4 threads 69.8% 79.9%•8 threads 51.3% 59.6%

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTの並列性、計算規模
test calc. on bulk Silicon
CPU time*, 1 +.",*)  !*,"Weak Scaling:

Grid Cutoﬀ: 36Ry (1280x1280x1280)

Atoms
4,096
32,768262,144
2,097,152

Time/core (s) Total energy (Ha) Cores
7068.878-308.268785
86893.759-2,466.150282
646931.418-19,729.202254
512***
7032.496-157,833.618033 4096

D. R. Bowler and T. Miyazaki,
J. Phys. Condens. Matter 22, 074207 (2010)***/512 = -308.26878522...

SCF計算の効率化

イオンチャネル gramicidin A๏ gramicidin A ion channel:

水 抗生物質
 イオンチャネル (１価の陽イオンだけ通す)
脂質二重層

 beta-helix 構造

有田通朗（東京理科大M2）
水with Dr. Shinoda (AIST), M. Todorovic (Madrid)

Full gramicidin-A system: 15523 atoms

CONQUEST 計算• 46.58 x 46.58 x 68.08 Å3• PBE, DZP basis sets (contracted to SZP)• gramicidin - A : 552 atoms• 512 cores of SGI- Altix ICE 8200 EX (Simulator 1• 64 DMPC (lipid) molecules = 7552 atoms

of NIMS numerical materials simulator : 4096cores)• 2473 H2O molecules = 7419 atoms• SCF calculations, L cutoff = 16 bohr

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTでの最適化構造
Optimisation of φiα (r) (support func.)

1. Full DFT
2. SCF-AITB

Optimisation of density n(r)(achieving SCF)
Optimisation of

3. NSC-AITB

density matrix Kiα, jβ (Liα, jβ )orDiagonalisation of Hiα, jβ

K=3LSL-2LSLSL
L: auxiliary density matrix
S: overlap matrix

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5応用例：イオンチャネル gramicidin A
有田通朗（東京理科大M2）

通常のSCF計算

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5応用例：イオンチャネル gramicidin A

通常のSCF計算でのSCF iteration
新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5

CONQUESTでの最適化構造
Optimisation of φiα (r) (support func.)

1. Full DFT
2. SCF-AITB

Optimisation of density n(r)(achieving SCF)
Optimisation of

3. NSC-AITB

density matrix Kiα, jβ (Liα, jβ )orDiagonalisation of Hiα, jβ

K=3LSL-2LSLSL
L: auxiliary density matrix
S: overlap matrix

密度行列

ρ(r,rʼ) = Σν fν ψν∗ (r) ψν (rʼ)n(r) = ρ(r,r) => Hiα, jβ
新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5応用例：イオンチャネル gramicidin A
有田通朗（東京理科大M2）密度行列＋SCFの同時最適化

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5応用例：イオンチャネル gramicidin A
有田通朗（東京理科大M2）  

新学術領域研究「コンピューティクス」 @ 東大工 2011.3.5

応用例：イオンチャネル gramicidin A
有田通朗（東京理科大M2）

CHARMMによる力GA

脂質

水分子

CONQUESTによる力

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5応用例：イオンチャネル gramicidin A
点線がCHARMM、色付き実線がCONQUEST

有田通朗（東京理科大M2）

C=OのC

チャネル内の水

C=OのO

チャネル内の水とNa ion(2番目)

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5(ion無の系）

まとめ๏ ハイブリッド並列化について
MPI並列に加えて、OpenMPによる並列化を行う事により、8 threads で４­５倍の速度増加が見込める。

1 core あたり4, 5原子程度（30原子/１MPI process）まで高い並列化効率が得られれば、百万原子系の系に対する第一原理計算で１ステップ ~ 数分？

๏ SCF 計算の効率化について
今まではDensity Matrix MinimisationとSCFループを二重ループで行ってきた。
この二つのステップを同時に行っても計算は安定で、その結果１０倍程度の計算時間の改善が得られた。

新学術領域研究「コンピューティクス」 @ 東大工

2011.3.5