ペタフロップス・アプリケーションを目指して- 第一原理電子状態計算プログラムRSDFT 理化学研究所 計算科学研究機構
運用技術部門 ソフトウェア技術チーム
長谷川 幸弘HPCI分野5全体シンポジウム
1
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

ゴードン・ベル賞/最高性能賞

2

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

受賞内容• First-principles calculations of electron states of a silicon
nanowire with 100,000 atoms on the K computer• RSDFT: Real Space Density Functional Theory code
• 筑波大学，東京大学，理研の三極で協力• 現実規模のシリコンナノワイヤーのシミュレーション• 1万原子～4万原子まで計算• 10万原子の性能評価を実施– 実効性能：3.08PFLOPS(7.06PFLOPS構成)– 実行効率：43.6%– 現実的時間で可能
3

SC11@Seatle,USARIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

Outline• ターゲット• RSDFTの概要• 京の概要• 京向けのチューニング
• 性能ベンチマーク• 科学的成果
4

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

ターゲット: シリコンナノワイヤの電子状態の予測
Si nanowire (SiNW), a booster
in the next-generation semiconductor technology
More Moore → More than Moore
SourceGate

http://www.itrs.net/Drain(Nanowire)
Surrounding gate
transistor

planartransistor

Gate controllability→ suppress short-channel effects
suppress leaks at off state→ save energy
Number of atoms in SiNW channels→ 10,000 - 100,000 atoms !

Actually tri-gate byIntel in 2011

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

5

Outline• ターゲット• RSDFTの概要• 京の概要• 京向けのチューニング
• 性能ベンチマーク• 科学的成果
6

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCERSDFTのスペック
RSDFT: Real Space Density Functional Theory code
•
••
•
•

筑波大学（現在、東京大学）岩田先生が開発
量子力学に基づく第一原理電子状態計算プログラム
基本原理は密度汎関数理論
擬ポテンシャル法を採用
実空間差分法を採用– FFT(Fast Fourier Transformation)を必要としない、超並列計算向き• 高い実行効率を実現– BLAS level.3の行列-行列積での実装• ハイブリッド並列（MPI + OpenMP）を実装• Fortran90, 5万行• シミュレーション対象：金属、半導体、表面・界面、欠陥、ナノ構造
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

7

実空間差分法と並列化
J.-I. Iwata et al., J. Comp. Phys. (2010)

Real space

CPU spaceBlue : Si atom
Yellow: electron density

MKohn-Sham differential equation is converted ∂2
ϕ j (x, y, z) = ∑ cm ϕ j (x + mH, y, z)
2
to M-th order finite-difference equation∂xm=−M(usually use M=6)
Advantages
 Almost free from FFT, reducing communication burden ⇒ high efficiency
8
 Flexible boundary condition to wave-functions ⇒ molecules, clusters, surfaces, etc.

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCESCF計算のフロー
Kohn-Sham 方程式

電子密度

ハミルトニアンn(r )=| ∑ ϕi (r )i2波動関数

φi : 電子軌道（=波動関数）
i ：電子準位（=エネルギーバンド）
r ：空間離散点（=空間格子）

Self-Consistent Field procedure

計算量(原子数: N)

1 ( CG ) 共役勾配法

O(N2)

2 ( GS ) グラムシュミット正規直交化

O(N3)

密度とポテンシャルの更新

O(N)

3

4 ( SD ) 部分対角化

O(N3)RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

9計算コストの分析•••

8,000 原子のシリコンナノワイヤ(SiNW)


反復回数 : 100



格子数 ：120×120×20



バンド数 ：16,000

computation/SCF
global communication/SCF
adjacent communication/SCF
pre/post processing

並列プロセス数：256
0.4%

256 ノード (2,048 コア)

10.5%

MPI通信のバリエーションが多い（関数の種類、転送サイズ）••••

MPI_Allreduce
MPI_Reduce
MPI_Bcast
MPI_Allgatherv

演算コストの90%以上はDGEMM

21.8%
67.3%

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

10Outline• ターゲット• RSDFTの概要• 京の概要• 京向けのチューニング
• 性能ベンチマーク• 科学的成果
11

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

スーパーコンピュータ「京」の特徴

Total Compute Node(CPU) : 82,944
Total CPU Core: 663,552
Total Peak Performance: 10.62 PFLOPS
Total Memory: 1.27PiB
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

12計算ノードとインターコネクトネットワーク
Tofu(Torus fusion) interconnect
Compute Node (128GFLOPS)
6 dimensional mesh/torus network
CPU(SPARC64TM VIIIfx) ： 1 (8 cores)
User’s programing point of view :Memory capacity： 16GB
Logical 3 dimensional torus network
L1D cache: 32KB
Peak bandwidth: 5GB/s (each direction)
L2 cache : 6MB (Share)
ICC（Interconnect Controller）： 1
5GB/s x 2(Peak)Node

5GB/s x 2(Peak)

CPU: 128GFLOPS(8cores)Core

Core Core
Core SIMD(4FMA)Core
SIMD(4FMA)
Core SIMD(4FMA)Core
SIMD(4FMA)
16GFlopsCore
SIMD(4FMA)
16GFlops
SIMD(4FMA)
16GFlops
SIMD(4FMA)
16GFlops
SIMD(4FMA)
16GFlops
16GFlops
16GFlops
16GFLOPS

5GB/s x 2(Peak)

L2$: 6MB
64GB/s
MEM: 16GBｚ

13ｙ

5GB/s x 2(Peak)(courtesy of Fujitsu Ltd.)ｘ
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

13

Outline• ターゲット• RSDFTの概要• 京の概要• 京向けのチューニング
• 性能ベンチマーク• 科学的成果
14

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

京向けのチューニング –演算部• 演算部– 様々なチューニングが既に実装済み– 行列積の計算が演算処理の90％以上を占める．
– チューニングされたDGEMMが必要． → 効率96.6%

RSDFT• 実空間差分法• ベクトルの内積計算が基本• 空間並列計算コアの最適化• 行列積化
ターゲット計算機：PACS-CS, T2K-Tsukuba

スレッド並列の実装
ターゲット計算機：PACS-CS, T2K-Tsukuba

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

15

計算コアの行列積化 –Gram-Schmidt ベクトル積を行列積に変換

再帰分割法

߮ ൌ ߰

三角部(DGEMV)∗߮ ൌ ߰ െ ߮ ߮ ߰

四角部(DGEMM)߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ߮ ߮ ∗ ߰߮ ൌ ߰ െ ߮ ߮ ∗ ߰••െ ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰െ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰

依存関係のある三角部とない四角部にブロック化して計算再帰的にブロック化することで四角部を多く確保※ＳＤも同様に行列積化が可能
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

16

京向けのチューニング -通信部• 通信部– 並列軸の拡張– ロードバランスの最適化– Tofuネットワークへの最適マッピング• MPI通信へのTofu向けアルゴリズムの適用
中、長メッセージ向け
直接網向けの集団通信アルゴリズム
Bcast, Reduce, Allreduce : Trinaryx3
複数の通信路を同時に用いるパイプライン転送隣接プロセスへのRDMA通信のみで構成
Tofuライブラリを直接使用する実装のため低レイテンシ
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

17並列軸の拡張 – バンド並列の導入 - 従来の空間並列にバンド並列を拡張- 通信コストを削減- 8万を超える並列性の確保
バンド間の依存性なし

Kohn-Sham 方程式

φi: 電子軌道（=波動関数）
i：電子準位（=エネルギーバンド）
r：空間離散点（=空間格子）

並列軸=1
コミュニケータ

並列軸=2
通信対象が減る
分割粒度が大きくなる
18

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

バンド並列の実装 - Gram-Schmidtの場合 ߮ ൌ ߰

0

空間並列

1

三角部

߮ ൌ ߰ െ ߮ ߮ ∗ ߰?

四角部

2߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰143

߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰5?

処理の順番
バンド並列のランク番号

タスクはブロック・サイクリック
で分配→負荷均等化߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰2376

߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰8

߮ ൌ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ ߮ ߮ ∗ ߰ െ߮ ߮ ∗ ߰03߮ ൌ ߰ െ ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰1096
െ ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰െ߮ ߮ ∗ ߰െ ߮ ߮ ∗ ߰(1)三角部の計算(2)計算した値を四角部に転送（バンド方向の各プロセッサに分配） 19(3)四角部を並列に計算
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

ロードバランス - Gram-Schmidtの場合 (a) Naive

Triangular area
Square area

Rank No. of
Orbital parallel

Wait(idle)
MPI_Bcast012
3

Time(b) Optimized

実行時間が大きく減少

01
23

三角部と四角部の計算をオーバーラップする
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

20

Tofuネットワークへのマッピング
空間並列

空間並列＋バンド並列
バンド(1:On)

Tofuネットワークへのマッピング

サブコミュニケータにマッピング

3次元トーラスをアロケート

comm_world

sub_comm_grid

Orbitals

バンド (1:Omax)

Z

バンド(Om+1:Omax)

Y

Grids

バンド(On+1:Om)

MPI_comm_split

zyXx

CPU space
サブメッシュ/トーラス内で通信が閉じられる
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

21

バンド並列の効果
SiNW, 19,848 原子, 格子数:320×320×120, バンド数:41,472
トータル並列プロセス数は12,288で固定
120.0
120.0

-79%

-78%

80.0
80.0

-78%

60.0
60.0

-79%

40.0
40.0

空間方向の大域通信時間を大幅に削減

20.0
20.0

空間分割: 12,288

GSGS

MatE/SD

MatE/SD

RotV/SD

RotV/SD

行列生成

回転

Grids

grid+orbital+ Orbitals

Grids grid

Gridsgrid+orbital+ Orbitals

Grids grid

Grids

grid+orbital+ Orbitals

Grids grid

Grids

grid+orbital+ Orbitals

0.00.0

GridsgridTime per SCF (s)

100.0
100.0

wait/orbital
Wait (Orbitals)
globalcommunication/orbital
Global communication(Orbitals)
globalGlobal communication/spacecommunication (Grids)
adjacent
communication/space
Adjacent communication(Grids)
computation
Computation

空間分割: 2,048
バンド分割: 6CGCG

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

22スケーラビリティ -並列軸の拡張RotV/SD
250.0

GO-parallel: Computation
GO-parallell: Global communication (Grids)
G-parallel: Computation
G-parallel: Global communication (Grids)

200.0

Time (s)原子数 ：19,848
格子数 ：320×320×120
バンド数：41,472

150.0
100.0
50.00.005000
10000
Number of nodes
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

15000

23

最適マッピングの効果
Case 1: 1次元マッピング
Case 2: 3次元マッピング（最適）• サブコミュニケータ間の通信コンフリクトが発生しない• MPI通信でTofu向けアルゴリズム(Trinaryx3)が選択される
Gram-Schmidt120.0

原子数: 19,848
格子数: 320×320×120
軌道数: 41,472
トータルプロセス数: 12,288
 空間並列: 2,048(32×32×2)
 バンド並列: 6• 32×32×12のトーラスにマッピング
••
•
•

100.0

同期待ち
Time (s)80.0

MPI_Bcast
60.0

MPI_Allreduce
40.0

20.0

演算部

240.0
Case 1Case 224
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

Outline• ターゲット• RSDFTの概要• 京の概要• 京向けのチューニング
• 性能ベンチマーク• 科学的成果
25

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

性能ベンチマーク (1/3)
測定条件• ＳＣＦ計算の1反復を測定
6 nm• ＳｉNW 107,292原子– 格子数: 576×576×192– バンド数: 230,400• 並列プロセス数：55,296– 空間分割:18,432 × バンド分割数:3• 使用ノードのピーク性能: 7.06PFLOPS– 55,296ノード(442,368コア）

20 nm

26

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

性能ベンチマーク (2/3)•

実効性能は 3.08PFLOPS /SCF•

効率は 43.6 %•通信コストは 19.0%•ＳＣＦ計算の反復1回の実行時間は5,500 秒

Computational Cost
1%

1%

Computation
Global communication (Grids)
Adjacent communication (Grids)
Global communication (Orbitals)
Wait (Orbitals)

1%

16%
81%

27

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCESC11後 性能ベンチマーク (3/3)•

実効性能は 4.18 PFLOPS /SCF•

効率は 59.02 %•通信コストは 19.0%•

ＳＣＦ計算の反復1回の実行時間は4,053 秒

Computational Cost
1%

1%

Computation

1%

Global communication (Grids)
Adjacent communication (Grids)

16%

Global communication (Orbitals)
Wait (Orbitals)

81%
28

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCEDGEMMのブロックサイズ
call dgemm( transa, transb, m, n, k, alpha, lda, ldb, beta, ldc )[C] ＝ alpha･[A]×[B] ＋ beta･[C]
10.0

n=603

■4命令コミット■2/3命令コミット■同期待ち■L2キャッシュ
アクセス待ちTime (s)

8.0
6.0
4.0
2.0
0.0
10.0

T0 0Thread
T1 1Thread
T2 2Thread
T3 3Thread
T4 4Thread
T5 5Thread
T6 6Thread
T7 7Thread
0Thread1Thread2Thread3Thread4Thread5Thread6Threadn=608

0

T3:T7は余り処理で遅くなっている

Time (s)8.0

ブロックサイズよる性能差

6.0

Tn:スレッド番号
N=0-7

4.0
2.0
0.0

29

T0 0ThreadT1 1Thread
T2 2Thread
T3 3Thread
T4 4Thread
T5 5Thread
T6 6Thread
T7 7Thread
0Thread1Thread2Thread3Thread4Thread5Thread6Thread
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

固有値求解部のチューニング
EigenSolveの通信がボトルネック ← 行列サイズが小さすぎる
ML

MB

MB

EigenSolveMB

EigenSolve
以外

ML:格子数
MB:バンド数
ＭＢ＜＜ＭＬ

一部のプロセスで固有値求解部を実行する
水色部: アクティブ・プロセス

30

naive

tuned
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

Outline• ターゲット• RSDFTの概要• 京の概要• 京向けのチューニング
• 性能ベンチマーク• 科学的成果
31

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCEプログラムの機能検証

Energy/atom (eV)Energy / atom (eV)We have successfully obtained the self-consistent electron density and total energy for
extremely large systems. Structural stability can also be described precisely.
0.07

atoms
21952
atoms
10,64810648
atoms
21,952 atoms

0.06
0.05
0.04
0.03
0.02
0.01
018

18.5

19 19.5 20
Volume/atom

20.5

21

Volume / atom
Volume of Si crystal
vs. Total Energy

10648-atom cell of Si crystal and its electron density

LDA = Local Density Approximation (exchange-correlation functional)

Lattice constant

LDA(21,952 atoms)

LDA(10,648 atoms)

LDA(2 atoms)

Expt.

5.39Å

5.39Å

5.39Å

5.43Å

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

32

DOS of SiNW near CBM
DOS : Density of Sates
CBM: Conduction Band Minimum

SiNW( infinite length )SiNW(10nm,39696atoms)
SiNW( 10nm,39,696 atoms)
SiNW(SiNW(5nm,5nm,19848atoms)
19,848 atoms)
SiNW(SiNW(3nm,3nm,9924atoms)
9924 atoms)

4040
40

10 nm (39,696 atoms)

5 nm (19,848 atoms)

3 nm (9924 atoms)

Numberofof states
StatesNumber353535
3030
30252525202020
1515
1010
555
000
-0.1
-0.1
-0.1

Diameter:10nm

000

0.1

0.1
0.1

0.2

0.2
0.2

Energy (eV)RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

0.3
0.3
0.3

0.4

0.4
0.4

33

まとめ
• RSDFTの超並列対応には通信部のチューニングが必要不可欠– 並列軸を拡張– Tofuネットワークへの最適化• 性能ベンチマークを実施– シリコンナノワイヤ10万原子• 「京」の性能を限界まで引き出すことに成功、実行効率59.02%• 10万原子の計算が7P構成を用いれば5日程度で可能• プログラムの正しさを検証– 結果の妥当性を確認（実験値、理論値との比較）• 科学的成果の創出– シリコンナノワイヤ1万原子～4万原子の計算を実施– 実サイズのシリコンナノワイヤをシミュレート
実サイズのシリコンナノワイヤ
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE

34

ご清聴ありがとうございました

35

RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE