19
LAMMPS入門 高度情報科学技術研究機構(RIST吉澤香奈子 1

LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

LAMMPS入門

高度情報科学技術研究機構(RIST)吉澤香奈子

1

Page 2: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

Outline• Introduction– 材料系ワークショップについて

– 材料開発とシミュレーション

– 分子動力学法(MD)とは

– 古典MDの代表的なアプリ(オープンソース)

• LAMMPSとは

• LAMMPSを使い始めるには

• LAMMPS利用支援

2

• LAMMPS利用環境

Page 3: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

Introduction• 材料系ワークショップ(WS)について

材料系 à 基礎と応用両方の発展へつながる「産業は学問の道場なり」:本多光太郎先生

今回、LAMMPS(「京」での産業利用が一番多い)を中心したWS

• 材料開発とシミュレーション基礎と応用の連携私の専門:物理、第一原理計算(周期系DFTコードxTAPPの開発)

研究・開発でのシミュレーション(計算科学)の活用へ

本WSの講演

シミュレーション(計算科学)は、役立つ?(大規模計算可能か?)正しいのか?(計算精度は?)à 使い方次第、何か得られ、得られる情報をどう活用するかà 高並列計算、高度化に対する知識(アプリの使い方)

3

具体的な実施へ向けて

Page 4: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

• 分子動力学法(MD)とはニュートンの運動方程式を用いて系の時間発展を求める。

– 温度一定、圧力一定など、現実的な条件設定が可能

– 得られる物理量:エネルギー、自由エネルギー、溶解現象(溶解に関する各種エネ ルギー)、各種分布関数

• 古典MDの代表的なアプリ(オープンソース)

– LAMMPS、Gromacs、NAMD、DL-POLY:海外のアプリ

– OCTA、MODYLAS、GENESIS:国産のアプリ

– VMD:タンパク質、核酸、脂質二重層などの生体系のモデリング、可視化、解析のためのソフトウェア

mid2ri

dt2= Fi = ��V

�ri

力場を経験的に決めるà 古典MD

4

Page 5: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

LAMMPSとは• Large-scaleAtomic/MolecularMassivelyParallelSimulator

http://lammps.sandia.gov/

• 並列計算機のために設計された分子動力学シミュレータ

– 物質系を構成する原子や分子の1つ1つに対する運動方程式を数値的に計算している

– 高並列計算のため2007年にC++でオブジェクト指向で完全に、rewriteされているオブジェクト指向à コード拡張・公開 à 多分野・多スケールに渡る計算

– 現在、粒子系統合シミュレータとして高い支持

• ソースコードダウンロードhttp://lammps.sandia.gov/download.htmlStableversion(7Dec2015):2016年2月1日現在ソースファイル名:lammps-stable.tar.gz(注)Stable以外の最新のコードもある

過去のメジャーなコード:http://lammps.sandia.gov/tars/

• ドキュメントhttp://lammps.sandia.gov/doc/Section_intro.html 5

Page 6: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

材料系分子シミュレーションの現象スケール

量子化学分子軌道法、密度汎関数法

NTChem,ABINIT-MP,PHASE,xTAPP,etc.

分子動力学

LAMMPSMODYLAS

粗視化分子動力学

OCTA

nm μm mm

ps

ns

fs

μs

時間スケール (sec)

空間スケール (m)

(注)厳密なものではないあくまで目安

LAMMPS• 様々な計算スケールの手法が入っている

(粒子系で高速多重極展開FMM法以外は大抵入っている)• 金属系の経験ポテンシャル類にも強い

ms

6

Page 7: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

LAMMPSを使い始めるには• 個人のPCで試す(Windows,Mac,Linux)– 個人で設定、インストールの必要がある

– GUI支援ツール(Windows)を用いる

– MateriApps Live!http://cmsi.github.io/MateriAppsLive/のようなツールを用いるとインストールなしで試せる

• 「京」およびHPCIでの利用 ß 大規模計算

– 課題申請、成果報告の必要がある

– インストールの必要がある

– 機関によってはプリインストールされている

名古屋大学 情報基盤センター、大阪大学 サイバーメディアセンター

どのプラットフォームでもLAMMPSのコンパイルには比較的時間がかからない

7付録へインストール方法などの詳細

本WSの講演

Page 8: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

LAMMPS利用支援

• LAMMPS開発グループ(英語)

• GUI支援ツール(Windows)による利用à 各アプリの開発元( JSOL、クロスアビリティ)

• MateriApps Live!による利用àMateriApps開発

• 「京」およびHPCIでの利用 à RIST

8

Page 9: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

LAMMPSの利用環境

9

Page 10: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

(1)Windowsでの利用(バイナリが配布されている)l LAMMPS-ICMSWindowsInstallerRepository

http://rpm.lammps.org/windows.html例) バイナリファイル名(32ビット):lammps-32bit-latest.exe(注)64ビット版のバイナリもある

Cygwin(https://www.cygwin.com/)を用いて実行

(MPIを用いるときは、http://www.mpich.org/static/tarballs/1.4.1p1/mpich2-1.4.1p1-

win-ia32.msiをインストール)

実行例(個人の環境によって異なる可能性あり)

• lammps-32bit-latest.exeをダウンロードして実行(インストール)

• Cygwinを起動

サンプルのあるディレクトリ (デフォルトのままインストールした場合)

/cygdrive/c/Program¥Files/LAMMPS¥ 32-bit¥ 20160124/Examples実行ファイルのあるディレクトリ

/cygdrive/c/Program¥Files/LAMMPS¥ 32-bit¥ 20160124/bin$lmp_serial.exe <(inputfile) ß シリアルで実行

$lmp_mpi.exe <(inputfile) ßMPIで実行 10

Page 11: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

l GUI支援ツールを用いる

• Winmostarhttps://winmostar.com/jp/

• J-OCTAhttps://cae.jsol.co.jp/product/material/jocta/

• その他のツール

Pre/PostProcessingToolsforusewithLAMMPS(紹介サイト)

http://lammps.sandia.gov/prepost.html

本WSの講演

11

Page 12: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

(2)Linuxでの利用l ソースをコンパイル

実行例(個人の環境によって異なる可能性あり)

ターミナルを起動

ソース(lammps-stable.tar.gz)を解凍

à ディレクトリ lammps-7Dec15 を作る

$ tar zxvf lammps-stable.tar.gz

必要に(利用したい機能に)応じてパッケージの追加

http://lammps.sandia.gov/doc/Section_packages.html

$ cd lammps-7Dec15/src

$ make package-status ß パッケージの一覧の表示

$ make yes-rigid : 剛体の機能 などを追加

• シリアルで実行

$cd ./lammps-7Dec15/src$makeserial$./lmp_serial <(inputfile)

• MPIで実行(OpenMPIなどが必要)

$cd ./lammps-7Dec15/src$makempi$./lmp_mpi <(inputfile) 12

Page 13: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

l Linux用のLAMMPSのパッケージをインストール

(root権限が必要)

Pre-built Ubuntu Linux executables

http://lammps.sandia.gov/download.html#ubuntu

Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE

http://lammps.sandia.gov/download.html#rpm

など

Debianでの実行例(個人の環境によって異なる可能性あり)

ターミナルを起動

$sudo aptitudeupdate$ sudo aptitudeinstalllammps lammps-doc

13

Page 14: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

(3)Macでの利用(ソースをコンパイル:コンパイラが必要)OS X El Capitanでの実行例(個人の環境によって異なる可能性あり)

ターミナルを起動

ソース(lammps-stable.tar.gz)を解凍àディレクトリ lammps-7Dec15を作る

l シリアルでコンパイル

$cd lammps-7Dec15/src$makeserial$lmp_serial <(inputfile)

l MPIでコンパイル(OpenMPIなどが必要)

$cd lammps-7Dec15/src$makempi$lmp_mpi <(inputfile)

(注)Mac用のmakefile:lammps-7Dec15/src/MAKE/MACHINES/Makefile.macもある。

14

Page 15: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

(4)MateriApps LIVE! を利用するl USBメモリから直接ブートできる Linux システム (Debian Live Linux)

• Windows、Mac などで利用可

• インストール作業なしで物質科学アプリを実行できる

l バージョン1.10公開 (2016年2月18日)

l MateriAppsで紹介している公開アプリ・ツールを収録

• 2016年2月現在:ABINIT, AkaiKKR, ALPS,

CP2K, Feram, ERmod, GAMESS, Gromacs,

OpenMX, Quantum Espresso, SMASH, xTAPP, LAMMPS, VMD

l MateriApps LIVE! サイト (http://cmsi.github.io/MateriAppsLive/)

からダウンロード可能

USBで rebootしなくてもVirtualBox +ovaファイルで使用可能https://github.com/cmsi/MateriAppsLive/wiki/MateriAppsLive-ova

15

Page 16: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

(5)「京」での利用(FFTW, MPIなどはインストール済)l ソースをコンパイル

実行例

lammps-7Dec15/src/MAKE/Makefile.mpiを rename$cp Makefile.mpiMakefile.K

Makefile.Kを編集

CC= mpiFCCpxCCFLAGS=-Kfast,parallel,openmp,noeval,simd=2-Xg –NlineSHFLAGS=-KPICLINK=$(CC)LINKFLAGS=$(CCFLAGS)# LMP_INC= -DLAMMPS_GZIPMPI_INC=-DMPICH_SKIP_MPICXXFFT_INC=-DFFT_FFTW3-I/home/apps/fftw/3.3/includeFFT_PATH=-L/home/apps/fftw/3.3/lib64FFT_LIB=-lfftw3-lfftw3_omp-lfftw3_mpi–lm

FFTWのPATHの設定

16

Page 17: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

l ソースをコンパイル(続き)$cd lammps-7Dec15/src$make–j8K$mpiexec lmp_K -in(inputfile)

l /opt/rist (RIST管理のバイナリ)を使う à 詳細はヘルプデスクまで

実行例

$mpiexec /opt/rist/LAMMPS/lammps-7Dec15/src/lmp_K -in(inputfile)

17

Page 18: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

(6)HPCIでの利用(FFTW, MPIなどはインストール済)l FX10でソースをコンパイル

実行例(環境によって異なる可能性あり)lammps-7Dec15/src/MAKE/Makefile.mpiを rename$cp Makefile.mpiMakefile.FX10

Makefile.FX10を編集CC= mpiFCCpxCCFLAGS=-Kfast,parallel,openmp,optmsg=2-Nlst=t-Xg -NlineSHFLAGS=-KPICLINK=mpiFCCpxLINKFLAGS=-Kfast,parallel,openmp,optmsg=2-Nlst=t#LMP_INC= -DLAMMPS_GZIP#MPI_INC=-DMPICH_SKIP_MPICXX-DOMPI_SKIP_MPICXX=1FFT_INC=-DFFT_FFTW3-I/usr/local/fftw/3.3/includeFFT_PATH=-L/usr/local/fftw/3.3/lib64FFT_LIB=-lfftw3-lm

FFTWのPATHの設定

18

Page 19: LAMMPS入門 · (3)Macでの利用(ソースをコンパイル:コンパイラが必要) OSXElCapitanでの実行例(個人の環境によって異なる可能性あり)

l FX10でソースをコンパイル(続き)

$ cd lammps-7Dec15/src

$ make –j16 FX10

$ mpiexec lmp_FX10 -in (input file)

l Intelマシンでソースをコンパイル

実行例

$ cd ./lammps-7Dec15/src

$ make mpi

$ ./lmp_mpi < (input file)

l HPCIにインストールされているLAMMPSを使う

ハードウェア・ソフトウェア資源一覧

http://www.hpci-office.jp/folders/245

• 名古屋大学 情報基盤センター

http://www.icts.nagoya-u.ac.jp/ja/sc/overview.html#CX400

• 大阪大学 サイバーメディアセンター

http://www.hpc.cmc.osaka-u.ac.jp/system/manual/vcc/lammps/19