SlideShare a Scribd company logo
強誘電体の

マルチスケールシミュレーション

http://loto.sourceforge.net/feram/	
第一原理計算による有効ハミルトニアンHeffの構築
	
[T. Hashimoto, T. Nishimatsu et al.: Jpn. J. Appl. Phys. 43, 6785 (2004)] 	
feramによる分子動力学計算
ペロフスカイト型化合物を
双極子相互作用のある擬スピン系としてHeffを
時間発展させ,その有限温度の性質をシミュレート
大規模(> 100 nm), 長時間 (> 100 ns) の計算が可能
ペロブスカイト型
化合物ABX3	
-100
-80
-60
-40
-20
0
20
40
60
80
100
200 300 400 500 600 700 800 900 1000
-40
-32
-24
-16
-8
0
8
16
24
32
40
∆Traw[K]
∆Tcorrected[K]
T [K]
0→400 kV/cm
0→200 kV/cm
0→0 kV/cm
200→0 kV/cm
400→0 kV/cm
相転移や
ドメイン構造,
ヒステリシスループ,
電気/弾性熱量効果
などのシミュレーション	
PRL 99, 077601 (2007),
PRB 78, 104104 (2008),
PRB 82, 134106 (2010),
JPSJ 84, 024716 (2015), …	
BaTiO3の相転移	
電気/弾性熱量効果	
ヒステリ
シスループ	
1つの擬スピンが
ABO3の1ユニットセルに対応
(b) before: SoA ary(Lx,Ly,Lz,3)
CPU Chip
cores
memctrl
Slot 0
CPU Chip
cores
memctrl
Slot 1
inter connect
DRAM DRAM
(a) NUMA (Non-Uniform Memory Access)
(c) after: AoS ary(3,Lx,Ly,Lz)
far in the memory, difficult to access in the same time
close in the memory, easy to access in the same time
(d) padding: ary(3,2*(Lx/2+1),Ly+1,Lz)
for in-place real↔complex FFT padding to avoid
bank conflicts0.24.00で一部の配列をin-place化。
in-place and out-of-place FFT	
}  in-place
◦  FFTの元と先の配列が同じ。
◦  real⇄complexの場合、配列の確保が少し面倒。Fortran
の場合、C_PTRを駆使するとrealとcomplexの2つの別の
配列のようにアクセスができる。
◦  メモリ使用量を削減できる。feramの0.23.02→0.24.00の
in-place化などで64x64x1024なら3.13GB→2.73GB と
(3+6)x33x65x1024x16≒316MB 以上削減。
l  out-of-place
}  FFTの元と先の配列が異なる。
}  real⇄complexの場合、それぞれN, N/2+1と、配列の大きさが
異なっていてもよい。コードはシンプル。
}  メモリ使用量が多くなる。
u  FFTWなら計算速度はほぼ同じ。
新旧バージョンを比較	
feram

version	
¼ node of
SR16000#
(Power7)

8 core
3.83 GHz	
1 node of
SR16000#
(Power7)

32 core
3.83 GHz	
1 chip of

Xeon

X5650

6 core
2.66 GHz	
2 chip of

Xeon

X5650

12 core

2.66 GHz	
1 chip of
Xeon

E5-2680

v3 12 core
2.87* GHz	
2 chip

of Xeon
E5-2680

v3 24 core
2.87@ GHz	
TDP	
 250 W	
 1000 W	
 95 W	
 190 W	
 120 W	
 240 W	
0.22.06	
 2818 sec	
 1023 sec	
 6361 sec	
 3716 sec	
 2093 sec	
 1686 sec	
0.23.01	
 1980 sec	
 601 sec	
0.23.02	
 1866 sec	
 557 sec	
 2072 sec	
 1731 sec	
0.24.00	
 1819 sec	
 553 sec	
 5663 sec	
 3179 sec	
 2050 sec	
 1650 sec	
input file: 64x64x1024.feram, 8,200 MD steps, padding_y=1	
並列化率が改善	
 2011年のSandy Bridge
以降並列化率がよくない
# SR16000ではスレッドをコアにバインドするなど工夫が必要
* turbostatコマンドでTurbo Boostの周波数を実測
@ 24 coreで実行中はヒマにしているcoreもある	
高
速
化
	
SMT, HTはoff
}  gfortran -fopenmp -ffree-form -c cufft_module.f

              (cuFFTライブラリのAPIへのinterfaceが書いてある)
}  gfortran -fopenmp -ffree-form -c cufft_check.F
}  gfortran -fopenmp -o cufft_check cufft_check.o cufft_module.o
-L/usr/local/cuda/lib64 -lcublas -lcufft –lcudart
}  ./cufft_check 100 64 64 1024

100 64 64 1024 4194304 0.551 秒 83.734 GFLOPS

100 64 64 1024 4194304 3.056 秒 45.292 GFLOPS ←遅い
}  ./cufft_check 100 128 128 1024

100 128 128 1024 16777216 2.114 秒 95.235 GFLOPS

100 128 128 1024 16777216 11.891 秒 50.793 GFLOPS ←遅い	
GPU (CUDA#, cuFFT, cuBLAS, Fortranだけで)

だとFFTが2倍遅くなってしまった with K20X*	
# CUDA 5.5を使用。CUDA 7でも速くはなっていない。
* K20XのTDPは235 W。

More Related Content

PPT
LT_Murayakuba_2016
PDF
kasawaki b
PDF
minagawa m
DOCX
Wholesalejp
PDF
Sekiya b
PPTX
LM741のオフセット調整動作検証結果(VRの検証)
PDF
Quantum Computer
PDF
AVRマイコン入門
LT_Murayakuba_2016
kasawaki b
minagawa m
Wholesalejp
Sekiya b
LM741のオフセット調整動作検証結果(VRの検証)
Quantum Computer
AVRマイコン入門

What's hot (8)

PDF
チェボラ シンスター Synstar200/M
PPTX
L tspiceを活用した微分回路シミュレーション
PPTX
LTspiceを活用した微分回路シミュレーション
PPTX
CMSI計算科学技術特論C (2015) feram と強誘電体①
PDF
CMSI計算科学技術特論C (2015) feram と強誘電体②
PPTX
ピエゾ駆動回路設計に必要な要素
PDF
Iugonet 20120810-nipr-sato
PDF
Emc_tent_2018
チェボラ シンスター Synstar200/M
L tspiceを活用した微分回路シミュレーション
LTspiceを活用した微分回路シミュレーション
CMSI計算科学技術特論C (2015) feram と強誘電体①
CMSI計算科学技術特論C (2015) feram と強誘電体②
ピエゾ駆動回路設計に必要な要素
Iugonet 20120810-nipr-sato
Emc_tent_2018
Ad

Viewers also liked (7)

PDF
群論を使わなくても美麗なフォノンの分散関係が描ける裏技
PPTX
分散クラウドシステムにおける遠隔連携技術
PDF
北海道大学情報基盤センター10周年記念講演スライド(公開版)
PDF
[C14] 超高速データベースエンジンを用いたTPC-Hベンチマーク100TBクラス世界初登録への挑戦 by Shinji Fujiwara
PDF
PostgreSQL 9.5 CPU Read Scalability
PPTX
Database Security for PCI DSS
PDF
PostgreSQLによるデータ分析ことはじめ
群論を使わなくても美麗なフォノンの分散関係が描ける裏技
分散クラウドシステムにおける遠隔連携技術
北海道大学情報基盤センター10周年記念講演スライド(公開版)
[C14] 超高速データベースエンジンを用いたTPC-Hベンチマーク100TBクラス世界初登録への挑戦 by Shinji Fujiwara
PostgreSQL 9.5 CPU Read Scalability
Database Security for PCI DSS
PostgreSQLによるデータ分析ことはじめ
Ad

Similar to feram-0.24.00 is released! (10)

PPTX
機械学習 / Deep Learning 大全 (4) GPU編
PDF
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
PDF
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
PDF
CheckMATE 実習
PPTX
Prelude to Halide
PPTX
エナジーハーベスティングのデザイン手法セミナーテキスト
PPTX
Kiso sekkei 01rev03
PDF
アセンブラ短歌(第2回APASEC+第2期サイボウズ・ラボユース合同勉強会)
PPTX
表面イオントラップ上での共振器量子電気力学系の実現の検討
PDF
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
機械学習 / Deep Learning 大全 (4) GPU編
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
CheckMATE 実習
Prelude to Halide
エナジーハーベスティングのデザイン手法セミナーテキスト
Kiso sekkei 01rev03
アセンブラ短歌(第2回APASEC+第2期サイボウズ・ラボユース合同勉強会)
表面イオントラップ上での共振器量子電気力学系の実現の検討
[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

feram-0.24.00 is released!

  • 1. 強誘電体の
 マルチスケールシミュレーション
 http://loto.sourceforge.net/feram/ 第一原理計算による有効ハミルトニアンHeffの構築 [T. Hashimoto, T. Nishimatsu et al.: Jpn. J. Appl. Phys. 43, 6785 (2004)] feramによる分子動力学計算 ペロフスカイト型化合物を 双極子相互作用のある擬スピン系としてHeffを 時間発展させ,その有限温度の性質をシミュレート 大規模(> 100 nm), 長時間 (> 100 ns) の計算が可能 ペロブスカイト型 化合物ABX3 -100 -80 -60 -40 -20 0 20 40 60 80 100 200 300 400 500 600 700 800 900 1000 -40 -32 -24 -16 -8 0 8 16 24 32 40 ∆Traw[K] ∆Tcorrected[K] T [K] 0→400 kV/cm 0→200 kV/cm 0→0 kV/cm 200→0 kV/cm 400→0 kV/cm 相転移や ドメイン構造, ヒステリシスループ, 電気/弾性熱量効果 などのシミュレーション PRL 99, 077601 (2007), PRB 78, 104104 (2008), PRB 82, 134106 (2010), JPSJ 84, 024716 (2015), … BaTiO3の相転移 電気/弾性熱量効果 ヒステリ シスループ 1つの擬スピンが ABO3の1ユニットセルに対応
  • 2. (b) before: SoA ary(Lx,Ly,Lz,3) CPU Chip cores memctrl Slot 0 CPU Chip cores memctrl Slot 1 inter connect DRAM DRAM (a) NUMA (Non-Uniform Memory Access) (c) after: AoS ary(3,Lx,Ly,Lz) far in the memory, difficult to access in the same time close in the memory, easy to access in the same time (d) padding: ary(3,2*(Lx/2+1),Ly+1,Lz) for in-place real↔complex FFT padding to avoid bank conflicts0.24.00で一部の配列をin-place化。
  • 3. in-place and out-of-place FFT }  in-place ◦  FFTの元と先の配列が同じ。 ◦  real⇄complexの場合、配列の確保が少し面倒。Fortran の場合、C_PTRを駆使するとrealとcomplexの2つの別の 配列のようにアクセスができる。 ◦  メモリ使用量を削減できる。feramの0.23.02→0.24.00の in-place化などで64x64x1024なら3.13GB→2.73GB と (3+6)x33x65x1024x16≒316MB 以上削減。 l  out-of-place }  FFTの元と先の配列が異なる。 }  real⇄complexの場合、それぞれN, N/2+1と、配列の大きさが 異なっていてもよい。コードはシンプル。 }  メモリ使用量が多くなる。 u  FFTWなら計算速度はほぼ同じ。
  • 4. 新旧バージョンを比較 feram
 version ¼ node of SR16000# (Power7)
 8 core 3.83 GHz 1 node of SR16000# (Power7)
 32 core 3.83 GHz 1 chip of
 Xeon
 X5650
 6 core 2.66 GHz 2 chip of
 Xeon
 X5650
 12 core
 2.66 GHz 1 chip of Xeon
 E5-2680
 v3 12 core 2.87* GHz 2 chip
 of Xeon E5-2680
 v3 24 core 2.87@ GHz TDP 250 W 1000 W 95 W 190 W 120 W 240 W 0.22.06 2818 sec 1023 sec 6361 sec 3716 sec 2093 sec 1686 sec 0.23.01 1980 sec 601 sec 0.23.02 1866 sec 557 sec 2072 sec 1731 sec 0.24.00 1819 sec 553 sec 5663 sec 3179 sec 2050 sec 1650 sec input file: 64x64x1024.feram, 8,200 MD steps, padding_y=1 並列化率が改善 2011年のSandy Bridge 以降並列化率がよくない # SR16000ではスレッドをコアにバインドするなど工夫が必要 * turbostatコマンドでTurbo Boostの周波数を実測 @ 24 coreで実行中はヒマにしているcoreもある 高 速 化 SMT, HTはoff
  • 5. }  gfortran -fopenmp -ffree-form -c cufft_module.f
               (cuFFTライブラリのAPIへのinterfaceが書いてある) }  gfortran -fopenmp -ffree-form -c cufft_check.F }  gfortran -fopenmp -o cufft_check cufft_check.o cufft_module.o -L/usr/local/cuda/lib64 -lcublas -lcufft –lcudart }  ./cufft_check 100 64 64 1024
 100 64 64 1024 4194304 0.551 秒 83.734 GFLOPS
 100 64 64 1024 4194304 3.056 秒 45.292 GFLOPS ←遅い }  ./cufft_check 100 128 128 1024
 100 128 128 1024 16777216 2.114 秒 95.235 GFLOPS
 100 128 128 1024 16777216 11.891 秒 50.793 GFLOPS ←遅い GPU (CUDA#, cuFFT, cuBLAS, Fortranだけで)
 だとFFTが2倍遅くなってしまった with K20X* # CUDA 5.5を使用。CUDA 7でも速くはなっていない。 * K20XのTDPは235 W。