lammps入門2 - hpci-office.jp · –...
TRANSCRIPT
LAMMPS入門2
高度情報科学技術研究機構(RIST) 吉澤香奈子
1
Outline • Introduction
− 古典MDの代表的なアプリ(オープンソース) − LAMMPS, OCTA, MODYLAS, その他
• LAMMPSについて − LAMMPSを使い始めるには − LAMMPSのGUIアプリ − LAMMPSの実行
• LAMMPSのexamples • opt パッケージの利用
− LAMMPSの可視化
• MateriApps Live!のご紹介
2
INTRODUCTION
3
Introduction
• LAMMPS http://lammps.sandia.gov/
• OCTA http://www.octa.jp/index_jp.html
• MODYLAS http://www.modylas.org/
• その他 – Gromacs、NAMD、DL-POLY : 海外のアプリ – GENESIS : 国産のアプリ
4
古典MDの代表的なアプリ(オープンソース)
材料系分子シミュレーションの現象スケール
量子化学 分子軌道法、密度汎関数法
NTChem, ABINIT-MP, PHASE, xTAPP, etc.
分子動力学
LAMMPS MODYLAS
粗視化分子動力学
OCTA
nm μm mm
ps
ns
fs
μs
時間スケール (sec)
空間スケール (m)
(注)厳密なものではない あくまで目安
LAMMPS • 様々な計算スケールの手法が入っている
(粒子系で高速多重極展開FMM法以外は大抵入っている) • 金属系の経験ポテンシャル類にも強い
ms
5
LAMMPSについて
6
LAMMPSを使い始めるには • 個人のPCで試す(Windows, Mac, Linux)
– 個人で設定、インストールの必要がある
– GUI支援ツール(Windows)を用いる
– MateriApps Live! http://cmsi.github.io/MateriAppsLive/ のようなツールを用いるとインストールなしで試せる(後述)
• 「京」およびHPCIでの利用 大規模計算 – 課題申請、成果報告の必要がある – インストールの必要がある – 機関によってはプリインストールされている
名古屋大学 情報基盤センター、大阪大学 サイバーメディアセンター
どのプラットフォームでもLAMMPSのコンパイルには比較的時間がかからない
インストール方法などの詳細は、HPCIポータルサイトの http://www.hpci-office.jp/materials/LAMMPS_introduction_160219_yoshizawa.pdf 7
LAMMPSのGUIアプリ(1) • J-OCTA https://cae.jsol.co.jp/product/material/jocta/
– 2005年 JSOL(日本総研)が開発 OCTAの商用版 ※ Student Edition(機能制限付きの無償版)がある
– LAMMPSをマルチスケールシミュレーション統合環境に拡張でき、多機能なプリポストが利用可能
COGNACのデータに基づいて、LAMMPSデータと相互に変換
LAMMPSの入力ファイルが自動生成され、手動修正も可能
結果ファイルは自動的にCOGNACデータに変換される
8
LAMMPSのGUIアプリ(2) • Winmostar https://winmostar.com/
– 株式会社クロスアビリティが開発・販売 – 企業ユースで15万円より(トライアル版あり) – サポート&講習会(東京、関西で毎週開催) – 平均20ダウンロード/日 – 国内外にシングルライセンス460ユーザ、機関ライセンス36契約
(2016年9月13日時点)
9
LAMMPSのGUIアプリ(3) • その他のツール
Pre/Post Processing Tools for use with LAMMPS(紹介サイト) http://lammps.sandia.gov/prepost.html
• 可視化ツール(後述) – VMD http://www.ks.uiuc.edu/Research/vmd – OVITO http://www.ovito.org
10
OVITO
LAMMPSの実行
• LAMMPSパッケージにある lammps-30Jul16/examples/melt の実行 入力ファイル in.melt: 4,000原子、NVEアンサンブル、250ステップ
• 計算規模を変えて実行 – 原子数:4,000、 256,000、 204,8000
11
LAMMPSのexamples
12
http://lammps.sandia.gov/doc/Section_example.html
7. Example problems
accelerate run with various acceleration options (OpenMP, GPU, Phi)
balance dynamic load balancing, 2d system
body body particles, 2d system
colloid big colloid particles in a small particle solvent, 2d system
comb models using the COMB potential
coreshell core/shell model using CORESHELL package
crack crack propagation in a 2d solid
deposit deposit atoms and molecules on a surface
dipole point dipolar particles, 2d system
dreiding methanol via Dreiding FF
eim NaCl using the EIM potential
ellipse ellipsoidal particles in spherical solvent, 2d system
・・・
LAMMPS の examples/melt(1)
13
melt: FCC格子状に並んだLJ粒子が溶けて拡散
# 3d Lennard-Jones melt units lj atom_style atomic lattice fcc 0.8442 region box block 0 10 0 10 0 10 create_box 1 box create_atoms 1 box mass 1 1.0 velocity all create 3.0 87287 pair_style lj/cut 2.5 pair_coeff 1 1 1.0 1.0 2.5 neighbor 0.3 bin neigh_modify every 20 delay 0 check no fix 1 all nve
入力ファイル: in.melt
力場パラメータの設定
速度の設定
Lennard-Jones(LJ) 古典粒子
格子定数: FCC 0.8442 シミュレーションボックスの指定
NVEアンサンブル
14
#dump id all atom 50 dump.melt #dump 2 all image 25 image.*.jpg type type & # axes yes 0.8 0.02 view 60 -30 #dump_modify 2 pad 3 #dump 3 all movie 25 movie.mpg type type & # axes yes 0.8 0.02 view 60 -30 #dump_modify 3 pad 3 thermo 50 run 250
入力ファイル: in.melt (続き)
# は、コメントアウト dump:出力形式の指定
計算実行(step)数
LAMMPS の examples/melt(2)
15
LAMMPS の examples/melt(3) 入力ファイル(in.melt)における原子数の設定
• 原子数:4,000 region box block 0 10 0 10 0 10
• 原子数:256,000 region box block 0 40 0 40 0 40
• 原子数:204,8000 region box block 0 80 0 80 0 80
LAMMPS の examples/melt:実行結果(1)
16
Step Temp E_pair E_mol TotEng Press 0 3 -6.7733681 0 -2.2744931 -3.7033504 50 1.6758903 -4.7955425 0 -2.2823355 5.670064 100 1.6458363 -4.7492704 0 -2.2811332 5.8691042 150 1.6324555 -4.7286791 0 -2.280608 5.9589514 200 1.6630725 -4.7750988 0 -2.2811136 5.7364886 250 1.6275257 -4.7224992 0 -2.281821 5.9567365
LAMMPSの入力ファイルにおいて
thermo_style custom step temp epair emol etotal press 出力する値の設定
出力結果(物理量)
LAMMPS の examples/melt:実行結果(2)
17
MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0.51688 | 0.51688 | 0.51688 | 0.0 | 84.69 Neigh | 0.067366 | 0.067366 | 0.067366 | 0.0 | 11.04 Comm | 0.011268 | 0.011268 | 0.011268 | 0.0 | 1.85 Output | 8.7261e-05 | 8.7261e-05 | 8.7261e-05 | 0.0 | 0.01 Modify | 0.011968 | 0.011968 | 0.011968 | 0.0 | 1.96 Other | | 0.002732 | | | 0.45 Nlocal: 4000 ave 4000 max 4000 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 5499 ave 5499 max 5499 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 151513 ave 151513 max 151513 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 151513 Ave neighs/atom = 37.8783 Neighbor list builds = 12 Dangerous builds not checked Total wall time: 0:00:00
LAMMPS内のタイマーによって実行時間がわかる
全実行時間
LAMMPS の examples/melt:実行結果(3)
18
実行時間(時:分:秒)
FX10
プロセス数 1 4 16 256 576
4,000原子1,000ステップ 0:00:02 0:00:01 0:00:01 0:00:05 4,000原子10,000ステップ 0:00:29 0:00:11 0:00:12 0:00:03 256,000原子1,000ステップ 0:03:06 0:01:13 0:01:11 0:00:04 0:00:02 256,000原子10,000ステップ 0:31:15 0:12:48 0:11:47 0:00:44 0:00:21 2,048,000原子1,000ステップ 0:27:04 0:10:06 0:08:56 0:00:36 0:00:15
2,048,000原子10,000ステップ 1:46:38 1:28:35 0:05:55 0:02:30
• 計算規模が大きくなる HPCの利用へ • プロセス数当たりの粒子数減少に伴う実行時間の減少 計算規模(原子数など)に合わせた、計算機の選択が必要
※すべてフラットMPIによる実行
iMac:2.8 GHz Intel Core i7
実行時間(時:分:秒)
プロセス数の見積もりFX10 examples/melt フラットMPI(原子数:4,000、256,000、2,048,000)
19
4,000原子:〜16プロセス 256,000原子:〜600プロセス 2,048,000原子:600プロセス以上
性能測定はRISTの高度化支援へ
LAMMPSの「京」での性能
図:未架橋フェノールの並列化効率計算結果
LAMMPSによる架橋フェノール樹脂の計算 フラットMPI(原子数:26,000、208,000、1,664,000、13,312,000) 温度 300K、1 atm の条件でNPTアンサンブルを用いた 10,000 stepの計算 (1ステップあたりの時間刻みは 1 fs) ※ 原子数 13,312,000 は、1,000ノード(8,000 コア)を使用
20
LAMMPSの高速化関連パッケージ
21
5.3. Packages with optimized styles
http://lammps.sandia.gov/doc/Section_example.html
GPU Package NVIDIA GPU(OpenCLサポートと同様)
USER-INTEL Package Intel CPU と Intel Xeon Phi
KOKKOS Package Nvidia GPU, Intel Xeon Phi, OpenMPスレッド並列
USER-OMP Package OpenMPスレッド並列 と 一般的なCPU最適化
OPT Package 一般的なCPU最適化 (-sf opt)
FX10
256,000 atoms with -sf opt
2,048,000 atoms with -sf opt
OPT Packageを使うことにより、実行時間が短縮される。
22
入力ファイル(in.melt)において # 3d Lennard-Jones melt
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 10 0 10 0 10
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 3.0 87287
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
fix 1 all nve
dump id all atom 50 dump.melt
#dump 2 all image 25 image.*.jpg type type &
# axes yes 0.8 0.02 view 60 -30
#dump_modify 2 pad 3
#dump 3 all movie 25 movie.mpg type type &
# axes yes 0.8 0.02 view 60 -30
#dump_modify 3 pad 3
thermo 50
run 250
LAMMPSの可視化:VMDで可視化する
# を取る
この入力ファイルを実行すると、 dump.melt というファイルを出力する。
VMDで可視化する(2) • VMDの起動 • dump.melt を開く
23
①
②
VMDで可視化する(3) • ファイルタイプの選択 「LAMMPS Trajectory」
24
①
②
VMDで可視化する(4) • ディスプレイの起動(Linesの表示)
25
VMDで可視化する(5) • 表示形式の調整
26
①
②
④
③ 0.2くらいに調整
VMDで可視化する(6) • ディスプレイ(VDWの表示)
27
VMDで可視化する(7) • MDスタート
28
ここをクリック
MateriApps LIVE! のご紹介 USBメモリから直接ブートできる Linux システム (Debian Live Linux)
• Windows、Mac などで利用可
• インストール作業なしで物質科学アプリを実行できる
バージョン1.11公開 (2016年9月5日)
MateriAppsで紹介している公開アプリ・ツールを収録
• 2016年9月現在:ABINIT, AkaiKKR, ALPS, CP2K, DSQSS, ERmod,
feram, Gromacs, HPhi, OpenMX, Quantum ESPRESSO, SMASH,
xTAPP, LAMMPS, VMD
MateriApps LIVE! サイト (http://cmsi.github.io/MateriAppsLive/)
からダウンロード可能
USB で reboot しなくても VirtualBox + ova ファイル で使用可能 https://github.com/cmsi/MateriAppsLive/wiki/MateriAppsLive-ova
29