🐧
Lammps install @Ubuntu 22.04
Lammpsをgpuでも使うために、ubuntu 22.04 にソースビルドでインストールしました
環境
ubuntu 22.04
cuda 12.1
準備
必要なものがなければ準備
sudo apt install git cmake nvidia-cuda-toolkit build-essential libopenmpi-dev libjpeg-dev libpng-dev ffmpeg
install確認するには
dpkg -l | grep -E 'git|cmake|nvidia-cuda-toolkit|build-essential|libopenmpi-dev|libjpeg-dev|libpng-dev|ffmpeg'
ちゃんと確認しようね(自戒)
手順
git clone
git clone -b release https://github.com/lammps/lammps.git lammps
build (https://docs.lammps.org/Build_cmake.html)
cd lammps
mkdir build; cd build
cmake -C ../cmake/presets/basic.cmake -D PKG_GPU=yes -D GPU_API=cuda -D GPU_ARCH=sm_80 -D PKG_OPENMP=yes -D WITH_JPEG=yes -D WITH_PNG=yes -D WITH_FFMPEG=yes ../cmake
cmake --build .
make install
また「cmake –build . -j 8」と書くと8並列コンパイルになり、速くなります。
オプション-DBIN2C=/usr/local/cuda/bin/bin2cに関して、
bin2cは、CUDA Toolkitに含まれるツールで、バイナリファイルをC言語の配列に変換するために使われます。LAMMPSのビルドにおいて、上のオプションをつけると、「bin2cというツールはこのパスにありますよ」とCMakeに明示的に教える。
このオプションが必要になるのは
-
CUDAを標準以外の場所にインストールした場合: /opt/cuda-11.8/ のように、特殊なディレクトリにインストールして、そのパスがシステムに認識されていない場合。
-
複数のCUDAバージョンがインストールされている場合: システムに複数のCUDAバージョンがあり、特定のバージョンのbin2cを使いたい場合。
-
何らかの理由でCMakeが自動検出に失敗した場合: 環境変数の設定ミスなどで、CMakeがbin2cを見つけられない場合。
GPU_ARCH は以下で確認可能
nvidia-smi --query-gpu=gpu_name,compute_cap --format=csv
PATH追加
export PATH="$HOME/.local/bin:$PATH"
実行(examples以下にあるものを適当に)
cd ~/lammps/examples/melt
lmp -pk gpu 1 -in in.melt
参考
Discussion