RIKEN AICS SPRING SCHOOL

RIKEN AICS SPRING SCHOOL
2015年3月4日
独立行政法人理化学研究所
計算科学研究機構�運用技術部門
ソフトウェア技術チーム�チームヘッド
南�一生
[email protected]
RIKEN&ADVANCED&INSTITUTE&FOR&COMPUTATIONAL&SCIENCE
2015年3月4日 RIKEN AICS Spring School 1021m
107m
102m
100m
10-8m
10-10m
2015年3月4日 RIKEN AICS Spring School 現代のスーパーコンピュータシステム
System
現代のプロセッサ
System Board
メモリ
2015年3月4日 RIKEN AICS Spring School Rack
演算1
演算3
演算2
演算1
演算i
演算2
RUN
24
2015年3月4日 RIKEN AICS Spring School •
•
RUN
!
2015年3月4日 RIKEN AICS Spring School 24
3.1
1.
2.
!
4.
!
&
!
3.2
&
5.
&
&
!
!
2015年3月4日 RIKEN AICS Spring School 3.1
1.
2.
!
&
!
3.2
&
2015年3月4日 RIKEN AICS Spring School 4.
!
!
5.
&
&
!
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School (1 )
1+0.99=1.99
1+0.099=1.099
50
100
91
1000
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School !
!
!
!
2015年3月4日 RIKEN AICS Spring School ストロングスケール測定
2015年3月4日 RIKEN AICS Spring School ウィークスケーリング測定
2015年3月4日 RIKEN AICS Spring School 1.
(
!
)
(1)
(2)
(3)
(4)
(5)
(6)
&
(
&
(
&(
)
!
/
/
/
)
&
N
/N**2
&
)&
/
3
2.
(1)
&
(2)
18
2015年3月4日 RIKEN AICS Spring School −
"
"
"
"
2015年3月4日 RIKEN AICS Spring School ( )
→
→
LM+MSD法における測定区間毎のスケーラビリティ
全体
10.0
evolve_WFs_in_subspace
スケーラビリティ
m_ES_Vnonlocal_W
betar_dot_WFs
modified_gram_schmidt
m_XC_cal_potential
m_FFT_WF
1.0
128
256
並列数
512
1024
2015年3月4日 RIKEN AICS Spring School ストロングスケールとウィークスケーリング測定を使う
"
"
"
"
"
(100
)
1
2015年3月4日 RIKEN AICS Spring School 100
"
/1000
/
(
).
.
"
.
2015年3月4日 RIKEN AICS Spring School )
(
A
B
B
A
C
D
C
2015年3月4日 RIKEN AICS Spring School D
1000Proc.
)
(
in grid points are kept within a part and do not affect the
communications within the other part. The number of parts is
taken up to the number of parallelisms in orbitals. We used this
mapping in the experiments.
Data-1 on 12288, 24576, 26864 and 73728 cores (cases 1, 2, 3
and 4, respectively). The number of parallel tasks is the product of
the number of parallel tasks in space and that in orbitals. The
number of parallel tasks in space was fixed to 1,536, and the
number of parallel tasks in orbitals was varied from 1, 2, 3 and 6.
Therefore, the number of parallel tasks amounted to 1536, 3072,
4608, or 9216.
5. PERFORMANCE ANALYSIS
The scalability and efficiency of the modified code which is
8000Proc.
parallelized
in terms of grid points and orbitals as described above
were evaluated with a simulation model named “Data-1,”
depicting a SiNW with 19,848 atoms. The number of grid points
and orbitals were 320x320x120 and 40,992, respectively. We
used an MPI library tuned to the Tofu network to obtain higher
performance. We also made an appropriate task mapping to the
Tofu network.
Figure 6 plots the computation time and communication time for
GS, CG, MatE in SD (MatE/SD) and RotV in SD (RotV/SD) .
The horizontal axis in each figure stands for the number of cores.
The theoretical computation time for cases 2, 3 and 4 is also
ploted where the computation time of case1 is divided by 2, 3 and
6, respectively. They show the scalability in the parallelization for
the orbitals. The measured computation time becames closer to
the theoretical computation time as the number of parallel tasks in
orbitals increased, and GS, CG, MatE/SD and RotV/SD were
found to be well-parallelized in orbitals.
5.1 Performance of DGEMM
The principal kernel of the modified RSDFT code is a DGEMM
routine of the BLAS. We optimized the DGEMM routine so as to
utilize the special features such as SIMD instructions and the
sector cache and hardware barrier synchronization capability of
the SPARC64TM VIIIfx effectively. The sustained performance of
DGEMM on a compute node is 123.7 giga-flops, or 96.6% of the
peak performance. In particular, we found that the computation
time
as a result of keeping
theSchool block data on the L1 cache
2015年3月4日 RIKEN
AICS Spring
manually decreased by 12% compared with the computation time
for the usual data replacement operations of the L1 cache. This
DGEMM tuned for the K computer was also used for the
LINPACK benchmark program.
The communication time with respect to the parallel tasks in space
decreased in proportion to the number of parallel tasks in orbitals,
because the number of calls of MPI functions for global and
adjacent communications decreased in proportion to the
reciprocal of the number of parallel tasks in orbitals. On the other
hand, the global communication time for the parallel tasks in
orbitals was supposed to increase as the number of parallel tasks
in orbitals increased. The number of MPI processes requiring
communications for the parallel tasks in orbitals, however, was
actually restricted to a relatively small number of compute nodes,
and therefore, the wall clock time for global communications of
the parallel tasks in orbitals was small. This means we succeeded
in decreasing time for global communication by the combination
5.2 Scalability
We measured the computation time for the SCF iterations with
(a)
(b)
400.0
160.0
theoretical computation
theoretical computation
computation
adjacent/space
global/space
global/orbital
computation
global/space
120.0
global/orbital
Time per CG (sec.)
Time per GS (sec.)
300.0
wait/orbital
200.0
80.0
40.0
100.0
0.0
0.0
0
20,000
40,000
60,000
Number of cores
(c)
0
80,000
40000
60000
80000
Number of cores
(d)
200.0
300.0
150.0
theoretical computation
theoretical computation
computation
computation
adjacent/space
adjacent/space
global/space
Time per RotV/SD(sec.)
Time per MatE/SD (sec.)
20000
global/orbital
100.0
50.0
global/space
global/orbital
200.0
100.0
0.0
0.0
0
20,000
40,000
Number of cores
60,000
80,000
0
20,000
40,000
Number of cores
60,000
Figure
6. Computation
and communication time of (a) GS, (b) CG, (c) MatE/SD and (d)
2015年3月4日 RIKEN AICS
Spring
School RotV/SD for different numbers of cores.
80,000
1
2
3
4
5
6
2015年3月4日 RIKEN AICS Spring School 25
3.1
1.
2.
!
&
!
3.2
&
2015年3月4日 RIKEN AICS Spring School 4.
!
!
5.
&
&
!
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School CPU
コア
演算器
・・
・・
バリア同期
レジスタ・・
・・
演算器
演算器
ハードウェア
レジスタ レジスタ
共有キャッシュ
メモリ
2015年3月4日 RIKEN AICS Spring School 1
8
MPI
8
MPI
core
core
core
core
core
core
core
core
core
core
core
core
core
core
core
core
MPIプロセス
2015年3月4日 RIKEN AICS Spring School SIMD
(
(MPI XPFortran)
CPU
CPU
SIMD
†
OpenMP)
†
CPU
CPU
OpenMP
CPU
CPU
core
core
core
core
core
core
core
core
XPFortran
CPU
CPU
MPI
CPU
SIMD
(MPI XPFortran)
SIMD
XPFortran
CPU
CPU
core
core
core
core
core
core
core
core
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School CPU
MPI
CPU
31
CPU
•
!
•
2015年3月4日 RIKEN AICS Spring School Byte/Flop
(*1)
(2N2
2N3
(*1)
2015年3月4日 RIKEN AICS Spring School (Flop)
(Byte)
)
=
2N3
(Byte)/
×
N2
=
=2N2/2N3
=1/N
N2
×
2015年3月4日 RIKEN AICS Spring School Byte/Flop
(*2)
(*2)
2015年3月4日 RIKEN AICS Spring School (Flop)
(Byte)
(Flop)
(Byte)/
=
2N2
=(N2+N)/2N2
×
N2
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School ≒1/2
N
(Flop)
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School (
)
2015年3月4日 RIKEN AICS Spring School (
2015年3月4日 RIKEN AICS Spring School )
2015年3月4日 RIKEN AICS Spring School 演算とロード・ストア比の改善
<内側ループアンローリング(2)>
・以下の様な2つのコーディングを比較する。
do j=1,m
do i=1,n
x(i)=x(i)+a(i)*b+a(i+1)*d
end do
do j=1,m
2015年3月4日 RIKEN AICS Spring School do i=1,n,2
x(i)=x(i)+a(i)*b+a(i+1)*d
128byte
128byte
1
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School < ソフトウェアパイプラインニング>
例えば以下の処理を考える。
do i=1,100
a(i)のロード
b(i)のロード
a(i)とb(i)の演算
i番目の結果のストア
end do
2015年3月4日 RIKEN AICS Spring School (1)
(2)
<ソフトウェアパイプラインニング>
<ソフトウェアパイプラインニング>
例えば以下のコーディングを考える。
例えば以下のコーディングを考える。
<ソフトウェアパイプラインニング>
<ソフトウェアパイプラインニング>
<ソフトウェアパイプラインニング>
<ソフトウェアパイプラインニング>
do i=1,100
do i=1,100
例えば以下のコーディングを考える。
< ソフトウェアパイプラインニング>
例えば以下のコーディングを考える。
例えば以下のコーディングを考える。
例えば以下のコーディングを考える。
a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
b(i)=b(i-1)+a(i)
b(i)=b(i-1)+a(i)
i=1,100 do i=1,100
do i=1,100dodoi=1,100
c(i)=c(i-1)+b(i)
c(i)=c(i-1)+b(i)
a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
end
do
end do
b(i)=b(i-1)+a(i)
b(i)=b(i-1)+a(i)
b(i)=b(i-1)+a(i)
b(i)=b(i-1)+a(i)
c(i)=c(i-1)+b(i)
左の処理を以下のように構成し直す事を
c(i)=c(i-1)+b(i)
c(i)=c(i-1)+b(i)
c(i)=c(i-1)+b(i)
このコーディングは下図の実線の矢印のような参照関係を持っているため、ループ
このコーディングは下図の実線の矢印のような参照関係を持っているため、ループ内の
end do
end do end
ソフトウェアパイプラインニングという
end do
do
3つの式に依存性が生じる。点線上の計算をループ内の3
つの式となるよう処理を変
3つの式に依存性が生じる。点線上の計算をループ内の3
つの式となるよう処理を変更す
a(1)a(2)a(3)のロード
b(1)b(2)のロード
(1)の演算
do i=3,100
a(i+1)のロード
b(i)のロード
(i-1)の演算
i-2番目の結果のストア
end do
b(100)のロード
(99)(100)の演算
(98)(99)(100)のストア
2015年3月4日 RIKEN AICS Spring School ることをソフトウェアパイプラインニングという。
ることをソフトウェアパイプラインニングという。
このコーディングは下図の実線の矢印のような参照関係を持っているため、ループ内の
このコーディングは下図の実線の矢印のような参照関係を持っているため、ループ内の
このコーディングは下図の実線の矢印のような参照関係を持っているため、ループ
このコーディングは下図の実線の矢印のような参照関係を持っているため、ループ内の
3つの式に依存性が生じる。点線上の計算をループ内の3
つの式となるよう処理を変更す
3つの式に依存性が生じる。点線上の計算をループ内の3
つの式となるよう処理を変更す
3つの式に依存性が生じる。点線上の計算をループ内の3
つの式となるよう処理を変
3つの式に依存性が生じる。点線上の計算をループ内の3
つの式となるよう処理を変更す
1
2
3
1
20
3
4
0
4
ることをソフトウェアパイプラインニングという。
ることをソフトウェアパイプラインニングという。
ることをソフトウェアパイプラインニングという。
ることをソフトウェアパイプラインニングという。
a
a
1
120
10
0
0
ab
aa
a
b
b
c
bb
cb
2
231
3
2
34
コーディングは以下のようになる。
コーディングは以下のようになる。
c
cc
c
a(1)=a(0)+a(1)
a(1)=a(0)+a(1)
コーディングは以下のようになる。
コーディングは以下のようになる。
コーディングは以下のようになる。
b(1)=b(0)+a(1)
コーディングは以下のようになる。
b(1)=b(0)+a(1)
a(2)=a(1)+a(2)
a(2)=a(1)+a(2)
a(1)=a(0)+a(1)
a(1)=a(0)+a(1)
a(1)=a(0)+a(1)
do
i=3,100
do i=3,100a(1)=a(0)+a(1)
b(1)=b(0)+a(1)
b(1)=b(0)+a(1)
b(1)=b(0)+a(1)
c(i-2)=c(i-3)+b(i-2)
b(1)=b(0)+a(1)
c(i-2)=c(i-3)+b(i-2)
a(2)=a(1)+a(2)
a(2)=a(1)+a(2)
a(2)=a(1)+a(2)
b(i-1)=b(i-2)+a(i-1)
a(2)=a(1)+a(2)
b(i-1)=b(i-2)+a(i-1)
do i=3,100 do i=3,100 do
i=3,100
do i=3,100 a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
c(i-2)=c(i-3)+b(i-2)
c(i-2)=c(i-3)+b(i-2)
c(i-2)=c(i-3)+b(i-2)
end do
c(i-2)=c(i-3)+b(i-2)
end do
b(i-1)=b(i-2)+a(i-1)
b(i-1)=b(i-2)+a(i-1)
b(i-1)=b(i-2)+a(i-1)
c(99)=c(98)+b(99)
b(i-1)=b(i-2)+a(i-1)
c(99)=c(98)+b(99)
a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
a(i)=a(i-1)+a(i)
b(100)=b(99)+a(100)
b(100)=b(99)+a(100)
a(i)=a(i-1)+a(i)
end do
end do
enddodo
c(100)=c(99)+b(100)
c(100)=c(99)+b(100)
end
c(99)=c(98)+b(99)
c(99)=c(98)+b(99)
c(99)=c(98)+b(99)
c(99)=c(98)+b(99)
b(100)=b(99)+a(100)
b(100)=b(99)+a(100)
b(100)=b(99)+a(100)
b(100)=b(99)+a(100)
c(100)=c(99)+b(100)
c(100)=c(99)+b(100)
c(100)=c(99)+b(100)
c(100)=c(99)+b(100)
< ソフトウェアパイプラインニング>
do i=1,100
a(i)のロード
b(i)のロード
a(i)とb(i)の演算
i番目の結果のストア
end do
do i=1,100
a(i)のロード
b(i)のロード
a(i)とb(i)の演算
i番目の結果のストア
end do
2015年3月4日 RIKEN AICS Spring School (1)
(1)
(2)
(2)
4
43
4
< ソフトウェアパイプラインニング>
do i=1,100
a(i)のロード
b(i)のロード
a(i)とb(i)の演算
i番目の結果のストア
end do
do i=1,100
a(i)のロード
b(i)のロード
a(i)とb(i)の演算
i番目の結果のストア
(2)
(1)
(2)
(1)
end do
2015年3月4日 RIKEN AICS Spring School < ソフトウェアパイプラインニング>
左の処理を以下のように構成し直す事を
ソフトウェアパイプラインニングという
a(1)a(2)a(3)のロード
b(1)b(2)のロード
(1)の演算
do i=3,100
a(i+1)のロード
b(i)のロード
(i-1)の演算
i-2番目の結果のストア
end do
b(100)のロード
(99)(100)の演算
(98)(99)(100)のストア
2015年3月4日 RIKEN AICS Spring School (1)
(2)
(3) (4)(5)(6)(7)(8)
2SIMD Multi&Add演算器×2本
(1 + 1)×
1
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School =8
8
×2GHz =16G
/
=
2N3
N2
(Flop)
=2N2/2N3
N2
=1/N
(Byte)/
=
2N2
(Byte)/
×
×
N2
(Flop)
=(N2+N)/2N2
≒1/2
N
128byte
2015年3月4日 RIKEN AICS Spring School 128byte
128byte
128byte 1
1
< ソフトウェアパイプラインニング>
左の処理を以下のように構成し直す事を
ソフトウェアパイプラインニングという
128byte
a(1)a(2)a(3)のロード
128byte
b(1)b(2)のロード
128byte
(1)の演算
128byte
do i=3,100
1
a(i+1)のロード
b(i)のロード
1
(i-1)の演算
i-2番目の結果のストア
end do
b(100)のロード
(99)(100)の演算
(98)(99)(100)のストア
(1)
(2)
(3) (4)(5)(6)(7)(8)
!
2SIMD Multi&Add演算器×2本
(1 + 1)×
1
2015年3月4日 RIKEN AICS Spring School < ソフトウェアパイプラインニング>
=8
8
×2GHz =16G
/
2015年3月4日 RIKEN AICS Spring School 演算とロード・ストア比の改善
128byte
128byte
128byte
128byte
1
1
<内側ループアンローリング(2)>
・以下の様な2つのコーディングを比較する。
do j=1,m
do i=1,n
x(i)=x(i)+a(i)*b+a(i+1)*d
end 128byte
do
128byte
128byte
128byte
1
1
do j=1,m
do i=1,n,2
x(i)=x(i)+a(i)*b+a(i+1)*d
< ソフトウェアパイプラインニング>
x(i+1)=x(i+1)+a(i+1)*b+a(i+2)*d
end do
左の処理を以下のように構成し直す事を
ソフトウェアパイプラインニングという
a(1)a(2)a(3)のロード
b(1)b(2)のロード
(1)の演算
do i=3,100
a(i+1)のロード
・最初のコーディングの演算量は4、ロード/ストア回数は4である
グの演算量は8、ロード/ストア回数は7である。
b(i)のロード
(i-1)の演算
i-2番目の結果のストア
end do
b(100)のロード
(1)
(2)
(3) (4)(5)(6)(7)(8)
・最初のコーディングの演算とロード/
ストアの比は4/4 、2つ目の
!
(99)(100)の演算
(98)(99)(100)のストア
とロード/ストアの比は8/7となり良くなる。
2SIMD Multi&Add演算器×2本
< ソフトウェアパイプラインニング>
例えば以下の処理をを考える。
do i=1,100
a(i)のロード
(1)
(2)
b(i)のロード
a(i)とb(i)の演算
2015年3月4日 RIKEN AICS Spring School (1 + 1)×
i番目の結果のストア
=8
end do
1
8
×2GHz =16G
/
diffusion
2015年3月4日 RIKEN AICS Spring School 高
FUJITSU CONFIDENTIAL
改良
コーディングの
AICS サマースクール 2012
予測性能
59
(5)改良コーディングの性能予測(要
求B/Fが高いアプリについて)
14
(6)更なる性能チューニング
diffusion
(3)性能推定(要求B/Fが高いアプリについて)
性能
オリジナル
コーディングの
予測性能
(4)性能チューニング
(2)プロファイラー測定結果を
使った問題の発見
オリジナル
性能
diffusion
L2$
低
)
L2$
(1)プロファイラーを使った測定
2015年3月4日 RIKEN AICS Spring School L2$
L2$
60
L2$
diffusion
L2$
DOI:10.1145/1498765.1498785
The Roofline model offers insight on how
to improve the performance of software
and hardware.
BY SAMUEL WILLIAMS, ANDREW WATERMAN, AND DAVID PATTERSON
Roofline:
An Insightful
Visual
Performance
Model for
Multicore
Architectures
ハードウェア
のピーク性能
CONVENTIONAL WISDOM IN computer architecture
produced similar designs. Nearly every desktop
and server computer uses caches, pipelining,
superscalar instruction issue, and out-of-order
execution. Although the instruction sets varied, the
microprocessors were all from the same school of
ハードウェアのピー
クF/Bの値
design. The relatively recent switch
to multicore means that microprocessors will become more diverse,
since no conventional wisdom has yet
emerged concerning their design. For
example, some offer many simple processors vs. fewer complex processors,
some depend on multithreading, and
some even replace caches with explic-
APRIL 2009 | VOL. 52 | NO. 4 | COMMUNICATIONS OF THE ACM
アプリケーションのOperational Intensity(Flop/Byte) B/F値の逆数
2015年3月4日 RIKEN AICS Spring School (
:0.36)
(
)
(
)
×
16GFLOPS
2015年3月4日 RIKEN AICS Spring School 62
itly addressed local stores. Manufacturers will likely offer multiple products with differing numbers of cores
to cover multiple price-performance
points, since Moore’s Law will permit
the doubling of the number of cores
per chip every two years.4 While diversity may be understandable in this
time of uncertainty, it exacerbates the
65
do J = 1, NY
do I = 1, NX
do K = 3, NZ-1
DZV (k,I,J) = (V(k,I,J) -V(k-1,I,J))*R40 &
- (V(k+1,I,J)-V(k-2,I,J))*R41
end do
end do
end do
2015年3月4日 RIKEN AICS Spring School 63
reg
do J = 1, NY
do I = 1, NX
do K = 3, NZ-1
DZV (k,I,J) = (V(k,I,J) -V(k-1,I,J))*R40 &
- (V(k+1,I,J)-V(k-2,I,J))*R41
end do
end do
end do
2 1/
0
.
$
5B=
*
mem
4 $
*. $
1
$L
)/$6
5B=
*
. $*
* /$6
) /$6
(.($
(.($
) /$6
2015年3月4日 RIKEN AICS Spring School 4 64
"
do J = 1, NY
do I = 1, NX
" 1
do K = 3, NZ-1
DZV (k,I,J) = (V(k,I,J) -V(k-1,I,J))*R40 &
- (V(k+1,I,J)-V(k-2,I,J))*R41
end do
end do
end do
(K )= M
L:
3
G
Byte4
:
1store,2load
)
$
4x3 = 12byte
(
( $ ).
flop:
*
233
*(
2015年3月4日 RIKEN AICS Spring School 2015年3月4日 RIKEN AICS Spring School 65
66
( 584
.*
$L1
Orthogonalization, diagonalization and FFT in the
convergence calculations of the steepest descent
method and conjugate gradient method
are evaluated based on numerical simulation of
seismic-wave propagation in heterogeneous
structure
Solving a coupled model of seismic wave, ground
deformation and tunamis by the tsunami-coupled
equation of motion
Calculated by using the finite-difference
method(FDM)
To reduce the amount of communications and to
make the computational load balance, twodimensional domain decomposition is adopted
Earth Science
Courtesy of
National Institute for Material Science
uge computation resource. While focusing on six applications
eve distinguished results from various scientific fields such as
ence, engineering
and
physics.
We have
improved the
Fig.3 The charge distribution
around
the SiC screw dislocation
/ side view
s in collaboration with researchers.
akes
d
d
Courtesy of
Earthquake Reserach Institute,
The University of Tokyo
Fig.4 Snapshots of seismic wave and tsunami wave propagation simulation
RSDFT / Material Science
FrontFlow/blue
/ Engineering
Clarifying and predicting
the properties of
PHASE / Material Science
General
purpose computational fluid dynamics
materials
code based on the Large Eddy Simulation for
First-principles electronic structure calculation
incompressible unsteady flow
based
on density
theory
Based
on Finite
Elementfunctional
Method and
having 2nd
Solve
an eigenvalue
equation
2015年3月4日 RIKEN
AICS
Spring
School order
accuracy
for
time
and
space called the KohnAble
to analysis
for turbomachinery, acoustics and
Sham
equation
cavitation
Real space method; adopting difference method
Optimized
for massively parallel
for three-dimensional
grids
“Research and Development of Innovative
Subspace iteration method; adopting selfSimulation Software” project in Japan
First-principles molecular dynamics simulator for
nanomaterials
Analysis of structures and properties of matters
based on the quantum theory of the electron
Plane-wave basis set
First-principles pseudopotential method.
The self consistent field loop.
Orthogonalization, diagonalization and FFT in the
convergence calculations of the steepest descent
method and conjugate gradient method
Nano Science
consistent field calculation
Courtesy of
National Institute for Material Science
Fig.2 Several analysis results of FlontFlow/blue
Fig.3 The charge distribution around the SiC screw dislocation / side view
Courtesy of
The University of Tokyo
Fig.6 Wave function of conduction band minimum in silicon nanowire
with 40,000 atoms
LatticeQCD / Physics
RSDFT / Material Science
XXX
Clarifying and predicting the properties of
materials
First-principles electronic structure calculation
based on density functional theory
Solve an eigenvalue equation called the KohnSham equation
Real space method; adopting difference method
for three-dimensional grids
Subspace iteration method; adopting self-
2015年3月4日 RIKEN AICS Spring School Fig.5
code based on the Large Eddy Simulation for
incompressible unsteady flow
Based on Finite Element Method and having 2nd
order accuracy for time and space
Able to analysis for turbomachinery, acoustics and
cavitation
Optimized for massively parallel
“Research and Development of Innovative
Simulation Software” project in Japan
nanomaterials
Analysis of structures and properties of matters
based on the quantum theory of the electron
Plane-wave basis set
First-principles pseudopotential method.
The self consistent field loop.
Orthogonalization, diagonalization and FFT in the
convergence calculations of the steepest descent
method and conjugate gradient method
Engineering/Physics
Courtesy of
National Institute for Material Science
Fig.2 Several analysis results of FlontFlow/blue
earthquakes
ation of
eous
LatticeQCD / Physics
RSDFT / Material Science
XXX
Clarifying and predicting the properties of
materials
First-principles electronic structure calculation
based on density functional theory
Solve an eigenvalue equation called the KohnSham equation
Real space method; adopting difference method
for three-dimensional grids
Subspace iteration method; adopting selfconsistent field calculation
e, ground 2015年3月4日 RIKEN AICS Spring School mi-coupled
ns and to
wodopted
Program Name
gation simulation
Fig.3 The charge distribution around the SiC screw dislocation / side view
Field
Achieved number of
parallel nodes
(core)
Performance
(ratio to peak performance)
NICAM
earth
science
81920 (655360)
0.8 Pflops(8%)
Seism3D
earth
science
82944 (663552)
1.9 Pflops (18%)
FrontFlow/
Blue
engineering
80000 (640000)
0.3 Pflops(3.2%)
PHASE
material
science
with 40,000 atoms 2.1 Pflops (20%)
82944 (663552)
RSDFT
material
science
82944 (663552)
5.5Pflops (52%)
LatticeQCD physics
82944 (663552)
1.6Pflops (16%)
Fig.5
2015年3月4日 RIKEN AICS Spring School Courtesy of
The University of Tokyo
Fig.6 Wave function of conduction band minimum in silicon nanowire