🐧

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

参考

https://docs.lammps.org/Build_cmake.html
https://fumitoiriya.fluctum.app/blog/lammps_build_ubuntu/

Discussion