HPC应用&分子动力学软件LAMMPS详细安装使用教程

LAMMPS

简介

Large-scale Atomic/Molecular Massively Parallel Simulator (大规模原子/分子并行模拟器,LAMMPS)是一款美国Sandia国家实验室开发的经典分子动力学模拟软件。LAMMPS的设计专注于材料模拟,并且可以高效的运行在并行计算机上。LAMMPS在GNU Public Licence (GPL)许可下免费发布。详见官网:lammps.sandia.gov

编译方法

DTK中提供的LAMMPS是稳定版本29 OCT 2020。
LAMMSP依赖于hipcub和fftw,需要首先安装(以使用yum安装为例):

yum install rocm-dev -y
yum install hipcub -y
yum install fftw-devel -y

为了在编译后进行单元测试,需要安装yaml库(可选,以使用conda安装为例),此外需要CMake版本3.12(方便起见也使用conda安装):

conda create -n lammps
conda activate lammps
conda install -c https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge cmake=3.12 yaml -y

安装脚本如下:

#使用hpcx-2.4.1
module load mpi/hpcx/2.4.1/gcc-7.3.1
export INSTALL_DIR=安装路径
#以下配置满足大部分用户,CMake 3.12版本有效,其他CMake版本可能无效
mkdir build && cd build
cmake \
  -C ../cmake/presets/most.cmake \
  -C ../cmake/presets/nolib.cmake \
  ../cmake \
  -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
  -DLAMMPS_MACHINE=mpi \
  -DBUILD_SHARED_LIBS=yes \
  -DBUILD_MPI=yes \
  -DBUILD_TOOLS=yes \
  -DFFT=FFTW3 \
  -DPKG_GPU=yes -DGPU_API=hip -DHIP_ARCH=gfx906 \
  -DCMAKE_CXX_COMPILER=hipcc \
  -DCMAKE_C_COMPILER=mpicc \
  -DENABLE_TESTING=on \
#most.cmake中有lammps大部分功能,nolib.cmake会去掉依赖额外库的功能
#编译lammps动态库,可以用于其他程序,编译mpi版本
#编译GPU包,针对gfx906架构的GPU使用hip接口
#开启单元测试(可选)

#编译
make -j 线程数
#单元测试
ctest
#安装
make install

使用方法

DTK中提供的LAMMPS是稳定版本29 OCT 2020。
包含不需要额外依赖库的大部分功能,以及GPU加速包,尚未包含KOKKOS版本。
运行脚本示例如下:

#!/bin/bash
#SBATCH -J lammps
#SBATCH -N 1
#SBATCH -B 4:8
#SBATCH -p #可用队列
#SBATCH --gres=dcu:4

#节点列表
#对于GPU版,每节点使用4进程
#对于CPU版,每节点使用32进程
hostfile=hostfile.${SLURM_JOB_ID}
#hostfile_cpu=hostfile_cpu.${SLURM_JOB_ID}
for i in $(scontrol show hostnames $SLURM_NODELIST)
do
  echo "$i slots=4" >> $hostfile
  #echo "$i slots=32" >> ${hostfile_cpu}
done

#使用environment module加载LAMMPS路径
module load #Lammps module file
#或手动加载
#LAMMPS=/path/to/lammps
#export PATH=$LAMMPS/bin:$PATH
#export LD_LIBRARY_PATH=$LAMMPS/lib64:$LD_LIBRARY_PATH

#GPU版
mpirun -np 4 --hostfile $hostfile --map-by socket:PE=8 --bind-to core --report-bindings \
 lmp_mpi -sf gpu -pk gpu 4 tpa 8 -in #输入文件名
#CPU版(使用OPT包)
mpirun -np 32 --hostfile $hostfile --map-by socket:PE=1 --bind-to core --report-bindings \
 lmp_mpi -sf opt  -in #输入文件名

输入文件示例请参考LAMMPS路径下的examples和bench目录中的各种例子。

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值