Bohrium
robot
新建

空间站广场

论文
Notebooks
比赛
课程
Apps
镜像市场
实验室
Uni-Lab
我的主页
我的Notebooks
我的知识库
我的足迹

我的工作空间

任务
节点
镜像
文件
数据集
项目
数据库
公开
如何编译LAMMPS GPU加速
LAMMPS
gpu
LAMMPSgpu
wangyi01@dp.tech
更新于 2024-12-18
推荐镜像 :Basic Image:ubuntu:22.04-py3.10-cuda12.1
推荐机型 :c8_m31_1 * NVIDIA T4
一、选用基础镜像
二、安装openmpi
解压
编译
将openmpi加环境变量
加载环境变量到终端
三、lammps的gpu编译
下载lammps
解压
修改gpu包
编译GPU库
四、编译LAMMPS
选用必用的几个包
更新下安装的包
编译mpi
加入环境变量
加载环境变量到终端
五、测试

一、选用基础镜像

代码
文本

由于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
代码
文本
LAMMPS
gpu
LAMMPSgpu
点个赞吧
{/**/}