新建
如何编译LAMMPS GPU加速


更新于 2024-12-18
推荐镜像 :Basic Image:ubuntu:22.04-py3.10-cuda12.1
推荐机型 :c8_m31_1 * NVIDIA T4
赞
目录
一、选用基础镜像
代码
文本
由于Bohrium平台本身提供带有cuda版本的镜像,这让整个编译过程方便了许多。
所以我们这里选用Bohrium公共镜像中的Basic Imag中的
代码
文本
registry.dp.tech/dptech/ubuntu:22.04-py3.10-cuda12.1
代码
文本
二、安装openmpi
代码
文本
我们这里选用4.1.4的版本
代码
文本
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.4.tar.gz
解压
tar -xvf openmpi-4.1.4.tar.gz
cd openmpi-4.1.4
编译
./configure --prefix=/opt/openmpi-4.1.4 --with-cuda
#编译设置,注意这里一定要有--with-cuda以编译cuda支持**
make -j 32 && make install -j 32
将openmpi加环境变量
vi ~/.bashrc
export PATH=$PATH:/opt/openmpi-4.1.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openmpi-4.1.4/lib
export CPATH=$CPATH:/opt/openmpi-4.1.4/include
加载环境变量到终端
source ~/.bashrc
代码
文本
三、lammps的gpu编译
代码
文本
下载lammps
wget https://download.lammps.org/tars/lammps-stable.tar.gz
解压
tar -xvf lammps-stable.tar.gz
cd lammps-2Aug2023/lib/gpu
修改gpu包
进入lammps安装文件中的gpu库路径,注意lammps文件名字可能不同。
vi Makefile.linux
修改如下内容:
CUDA_HOME
cuda安装地址,我这里不用改,因为cuda位置在默认位置安装的
CUDA_PRECISION = -D_SINGLE_DOUBLE
单精度和双精度混编,这个是默认的,我们这里不更改,既能保证误差小的情况,也不至于速度特别慢。
CUDA_ARCH = -arch=sm_75
L4gpu的Compute Capability是7.5
查看选用GPU的Compute Capability https:/developer.nvidia.com/cuda-gpus#collapseOne
编译GPU库
make -f Makefile.linux -j 20
代码
文本
四、编译LAMMPS
cd /opt/lammps-2Aug2023/src
选用必用的几个包
make yes-gpu #添加gpu包
make yes-KSPACE
make yes-extra-fix
make yes-user-deepmd
make yes-MANYBODY
make yes-MOLECULE
更新下安装的包
(包之间可能具有依赖关系,安装包后建议执行 package-update)
make package-update
编译mpi
make mpi -j32
加入环境变量
echo 'PATH=/opt/lammps-2Aug2023/src:$PATH' >> ~/.bashrc
加载环境变量到终端
source ~/.bashrc
代码
文本
如果编译过mpi文件,则可以先clean一波:make clean-all
代码
文本
五、测试
cd opt/lammps-2Aug2023/examples/shear
mpirun --allow-run-as-root -n 4 lmp_mpi -sf gpu -pk gpu 1 -i in.shear
mpirun -n 4 lmp_mpi -sf gpu -pk gpu 2 -i in.shear
代码
文本
点个赞吧