0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LAMMPSのインストール (Ubuntu on WSL, GPU環境)

Last updated at Posted at 2022-11-21

CUDA on WSLを使ってGPGPUでLAMMPS計算する

公式マニュアル

wslをUPDATEしておく。Powershell開いて以下入力する。

wsl --update

事前準備

sudo apt update
sudo apt upgrade -y

NVIDIA Driver for GPU SupportをダウンロードしてWindowsにインストールする

https://www.nvidia.com/Download/index.aspx?lang=en-us

WSLのUbuntu上でCUDA Toolkitを準備する

  • 古いGPGキーを削除。
sudo apt-key del 7fa2af80
  • CUDA Toolkit (WSL-Ubuntu Package)をインストールする
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt update
sudo apt upgrade -y
sudo apt install cuda -y
  • PATHを通す
cd
vim .bashrc

-一番最後の行に以下を追加

export PATH=/usr/local/cuda-11.8/bin:$PATH

-追記したら反映させる

source .bashrc

その他の必要なパッケージを準備する

sudo apt install -y cmake build-essential ccache gfortran openmpi-bin libopenmpi-dev \
                    libfftw3-dev libjpeg-dev libpng-dev python3-dev python3-pip \
                    python3-virtualenv libblas-dev liblapack-dev libhdf5-serial-dev \
                    hdf5-tools ffmpeg

MD用ディレクトリを作成して移動

cd
mkdir MD
cd MD

LAMMPSをダウンロード、解凍して当該ディレクトリへ移動

wget https://download.lammps.org/tars/lammps-stable.tar.gz
tar xvzf lammps-stable.tar.gz
cd lammps-23Jun2022

buildディレクトリを作成して移動

mkdir build
cd build

cmakeでMakefileを作成する(GPU関連, MPI, MANYBODYパッケージを追加, Intelコンパイラを使用)

  • GPU_ARCHはこちらでチェック。例: GeForce RTX 3060、RTX A4000はsm_86。
cmake ../cmake/presets/basic.cmake -D LAMMPS_MACHINE=gpu -D PKG_GPU=yes -D GPU_API=cuda -D GPU_ARCH=sm_86 -D BUILD_MPI=yes -D PKG_MANYBODY=yes ../cmake

ビルドする

make -j 4  # Numberは並列コア数
make install

Pathを通す

cd
vim .bashrc

最終行に以下を追加する(Buildファイルの場所が/home/「ユーザ名」/.local/binの場合)

export PATH=/home/「ユーザ名」/.local/bin:$PATH

以下のコマンドで反映させる。

cd
source .bashrc

最後に確認

lmp_gpu

と入力して、エラーがでなければインストール成功。Ctrl+cで終了。

お試し計算

もともと用意されている計算例(melt)を実行してみる。まずInputファイルを編集。

cd
cd MD/lammps-stable_23Jun2022/examples/melt
vim in.melt

インプットファイル(in.melt)をvimで以下の通り編集する。

編集するのは22行目。行頭の♯を削除するだけ。

dump            id all atom 50 dump.melt

そして、コマンドライン上で実行する。

  • GPUで計算する場合
lmp_gpu -sf gpu -pk gpu 1 -in in.melt

なんか計算がはじまって、最後に'Total wall time: xx:xx:xx'と表示されていれば成功!

結果の確認

ls

すると、

dump.melt # ← 各時間ステップにおける原子の配置に関するデータ。後で可視化する。
log.lammps # ← ログファイル。

ができているはず。

計算時間の比較

計算内容: examples/melt/in.meltをもとに、「region box block 0 50 0 50 0 50」「run 2500」に変更。

計算環境1: CPUにIntel Core i5 12400F、GPUにNVIDIA GeForce RTX 3060。

  • 並列なしの場合: 0:06:59 (Ref.)
  • 8並列の場合: 0:01:39 (-76%)
  • 12並列の場合: 0:01:18 (-81%)
  • GPUの場合: 0:00:29 (-93%)

計算環境2: CPUにIntel Core i7 13700KF、GPUにNVIDIA RTX A4000。

  • 並列なしの場合: 0:05:43 (Ref.)
  • 12並列の場合: 0:00:58 (-83%)
  • GPUの場合: 0:00:32 (-91%)

可視化

Windowsに可視化ソフトをインストールする。OVITO Basicを選んでインストール (Proは有料)。
https://www.ovito.org/

dump.XXファイルをOVITOで開けば可視化できます。

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?